From 5f4a25fad9a5323611855145e6b31267b3ed9e50 Mon Sep 17 00:00:00 2001 From: Johannes Ranke Date: Fri, 24 Jun 2016 17:42:42 +0200 Subject: Convert main vignette to Rmd/html, add_err(), fixes --- man/add_err.Rd | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ man/plot.mmkin.Rd | 5 +++ 2 files changed, 103 insertions(+) create mode 100644 man/add_err.Rd (limited to 'man') diff --git a/man/add_err.Rd b/man/add_err.Rd new file mode 100644 index 00000000..a0a5106f --- /dev/null +++ b/man/add_err.Rd @@ -0,0 +1,98 @@ +\name{add_err} +\alias{add_err} +\title{ + Add normally distributed errors to simulated kinetic degradation data +} +\description{ + Normally distributed errors are added to data predicted for a specific + degradation model using \code{\link{mkinpredict}}. The variance of the error + may depend on the predicted value and is specified as a standard deviation. +} +\usage{ + add_err(prediction, sdfunc, + n = 1000, LOD = 0.1, reps = 2, + digits = 1, seed = NA) +} +\arguments{ + \item{prediction}{ + A prediction from a kinetic model as produced by \code{\link{mkinpredict}}. + } + \item{sdfunc}{ + A function taking the predicted value as its only argument and returning + a standard deviation that should be used for generating the random error + terms for this value. + } + \item{n}{ + The number of datasets to be generated. + } + \item{LOD}{ + The limit of detection (LOD). Values that are below the LOD after adding + the random error will be set to NA. + } + \item{reps}{ + The number of replicates to be generated within the datasets. + } + \item{digits}{ + The number of digits to which the values will be rounded. + } + \item{seed}{ + The seed used for the generation of random numbers. If NA, the seed + is not set. + } +} +\value{ + A list of datasets compatible with \code{\link{mmkin}}, i.e. + the components of the list are datasets compatible with + \code{\link{mkinfit}}. +} +\references{ + Ranke J and Lehmann R (2015) To t-test or not to t-test, that is the question. XV Symposium on Pesticide Chemistry 2-4 September 2015, Piacenza, Italy + http://chem.uft.uni-bremen.de/ranke/posters/piacenza_2015.pdf +} +\author{ + Johannes Ranke +} +\examples{ +# The kinetic model +m_SFO_SFO <- mkinmod(parent = mkinsub("SFO", "M1"), + M1 = mkinsub("SFO"), use_of_ff = "max") + +# Generate a prediction for a specific set of parameters +sampling_times = c(0, 1, 3, 7, 14, 28, 60, 90, 120) + +# This is the prediction used for the "Type 2 datasets" on the Piacenza poster +# from 2015 +d_SFO_SFO <- mkinpredict(m_SFO_SFO, + c(k_parent = 0.1, f_parent_to_M1 = 0.5, + k_M1 = log(2)/1000), + c(parent = 100, M1 = 0), + sampling_times) + +# Add an error term with a constant (independent of the value) standard deviation +# of 10, and generate three datasets +d_SFO_SFO_err <- add_err(d_SFO_SFO, function(x) 10, n = 3, seed = 123456789 ) + +# Name the datasets for nicer plotting +names(d_SFO_SFO_err) <- paste("Dataset", 1:3) + +# Name the model in the list of models (with only one member in this case) +# for nicer plotting later on +# Be quiet and use the faster Levenberg-Marquardt algorithm, as the datasets +# are easy and examples are run often +f_SFO_SFO <- mmkin(list("SFO-SFO" = m_SFO_SFO), + d_SFO_SFO_err, + quiet = TRUE, method.modFit = "Marq") + +plot(f_SFO_SFO) + +# We would like to inspect the fit for dataset 3 more closely +# Using double brackets makes the returned object an mkinfit object +# instead of a list of mkinfit objects, so plot.mkinfit is used +plot(f_SFO_SFO[[3]], show_residuals = TRUE) + +# If we use single brackets, we should give two indices (model and dataset), +# and plot.mmkin is used +plot(f_SFO_SFO[1, 3]) + +} +\keyword{ manip } diff --git a/man/plot.mmkin.Rd b/man/plot.mmkin.Rd index 761a4cd5..8362f16c 100644 --- a/man/plot.mmkin.Rd +++ b/man/plot.mmkin.Rd @@ -50,4 +50,9 @@ cores = 1, quiet = TRUE) plot(fits[, "FOCUS C"]) plot(fits["FOMC", ]) + + # We can also plot a single fit, if we like the way mmkin works, but then the plot + # height should be smaller than the plot width (this is not possible for the html pages + # generated by staticdocs, as far as I know). + plot(fits["FOMC", "FOCUS C"]) # same as plot(fits[1, 2]) } -- cgit v1.2.1