From bc3825ae2d12c18ea3d3caf17eb23c93fef180b8 Mon Sep 17 00:00:00 2001 From: Johannes Ranke Date: Thu, 8 Oct 2020 09:31:35 +0200 Subject: Fix issues for release --- .Rbuildignore | 1 + DESCRIPTION | 4 +- GNUmakefile | 2 +- NAMESPACE | 5 - NEWS.md | 2 +- R/nafta.R | 24 +- README.md | 12 +- _pkgdown.yml | 2 - check.log | 10 +- docs/dev/articles/FOCUS_D.html | 31 +- docs/dev/articles/FOCUS_L.html | 222 ++++---- .../figure-html/unnamed-chunk-15-1.png | Bin 38623 -> 38622 bytes .../figure-html/unnamed-chunk-6-1.png | Bin 23884 -> 23881 bytes docs/dev/articles/mkin.html | 10 +- .../mkin_files/figure-html/unnamed-chunk-2-1.png | Bin 116136 -> 116140 bytes docs/dev/articles/twa.html | 4 +- docs/dev/articles/web_only/FOCUS_Z.html | 62 +- .../figure-html/FOCUS_2006_Z_fits_10-1.png | Bin 133239 -> 133233 bytes .../figure-html/FOCUS_2006_Z_fits_11-1.png | Bin 132494 -> 132503 bytes .../figure-html/FOCUS_2006_Z_fits_11a-1.png | Bin 99564 -> 99562 bytes .../figure-html/FOCUS_2006_Z_fits_11b-1.png | Bin 22623 -> 22624 bytes .../figure-html/FOCUS_2006_Z_fits_6-1.png | Bin 133000 -> 133001 bytes .../figure-html/FOCUS_2006_Z_fits_9-1.png | Bin 110758 -> 110760 bytes docs/dev/articles/web_only/NAFTA_examples.html | 430 +++++++------- docs/dev/articles/web_only/benchmarks.html | 46 +- docs/dev/articles/web_only/compiled_models.html | 18 +- docs/dev/index.html | 10 +- docs/dev/news/index.html | 13 +- docs/dev/pkgdown.yml | 2 +- docs/dev/reference/AIC.mmkin.html | 8 +- docs/dev/reference/DFOP.solution.html | 2 +- docs/dev/reference/FOMC.solution.html | 2 +- docs/dev/reference/HS.solution.html | 2 +- docs/dev/reference/IORE.solution.html | 2 +- docs/dev/reference/SFO.solution.html | 2 +- docs/dev/reference/SFORB.solution.html | 2 +- docs/dev/reference/add_err.html | 2 +- docs/dev/reference/confint.mkinfit.html | 86 ++- docs/dev/reference/create_deg_func.html | 16 +- docs/dev/reference/endpoints.html | 18 +- docs/dev/reference/get_deg_func.html | 2 +- docs/dev/reference/ilr.html | 2 +- docs/dev/reference/index.html | 6 - docs/dev/reference/logLik.mkinfit.html | 4 +- docs/dev/reference/logistic.solution.html | 16 +- docs/dev/reference/max_twa_parent.html | 2 +- docs/dev/reference/mccall81_245T.html | 18 +- docs/dev/reference/mkinds.html | 2 +- docs/dev/reference/mkinerrplot.html | 2 +- docs/dev/reference/mkinfit.html | 622 +++++--------------- docs/dev/reference/mkinmod.html | 9 +- docs/dev/reference/mkinparplot-1.png | Bin 16468 -> 16468 bytes docs/dev/reference/mkinparplot.html | 2 +- docs/dev/reference/mkinpredict.html | 6 +- docs/dev/reference/mkinresplot.html | 4 +- docs/dev/reference/mkinsub.html | 2 +- docs/dev/reference/mmkin-3.png | Bin 100817 -> 100799 bytes docs/dev/reference/mmkin-5.png | Bin 66959 -> 66958 bytes docs/dev/reference/mmkin.html | 17 +- docs/dev/reference/nafta.html | 22 +- docs/dev/reference/nlme-1.png | Bin 70555 -> 71651 bytes docs/dev/reference/nlme.html | 20 +- docs/dev/reference/nlme.mmkin.html | 97 ++-- docs/dev/reference/parms.html | 43 +- docs/dev/reference/plot.mkinfit.html | 4 +- docs/dev/reference/plot.mmkin-1.png | Bin 34273 -> 34584 bytes docs/dev/reference/plot.mmkin-2.png | Bin 34629 -> 34972 bytes docs/dev/reference/plot.mmkin-3.png | Bin 32259 -> 32445 bytes docs/dev/reference/plot.mmkin-4.png | Bin 25550 -> 25896 bytes docs/dev/reference/plot.mmkin-5.png | Bin 38129 -> 39246 bytes docs/dev/reference/plot.mmkin.html | 2 +- docs/dev/reference/plot.nlme.mmkin-2.png | Bin 35346 -> 35346 bytes docs/dev/reference/plot.nlme.mmkin.html | 5 +- docs/dev/reference/print.mkinds.html | 2 +- docs/dev/reference/sigma_twocomp.html | 2 +- docs/dev/reference/summary.mkinfit.html | 14 +- docs/dev/reference/transform_odeparms.html | 8 +- docs/dev/sitemap.xml | 3 - man/saemix.Rd | 54 -- test.log | 20 +- test_dev.log | 55 +- tests/testthat/FOCUS_2006_D.csf | 2 +- tests/testthat/summary_DFOP_FOCUS_C.txt | 4 +- vignettes/FOCUS_D.html | 19 +- vignettes/FOCUS_L.html | 154 ++--- vignettes/mkin.html | 12 +- vignettes/mkin.rmd | 8 +- vignettes/references.bib | 2 +- vignettes/twa.html | 4 +- vignettes/web_only/NAFTA_examples.html | 629 +++++++++++---------- vignettes/web_only/NAFTA_examples.rmd | 2 +- vignettes/web_only/mkin_benchmarks.rda | Bin 930 -> 938 bytes 92 files changed, 1285 insertions(+), 1670 deletions(-) delete mode 100644 man/saemix.Rd diff --git a/.Rbuildignore b/.Rbuildignore index b9501610..dc1506da 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -2,6 +2,7 @@ ^build.log$ ^check.log$ ^test.log$ +^test_dev.log$ ^tests_slow.log$ ^test.R$ ^README.html$ diff --git a/DESCRIPTION b/DESCRIPTION index 782fb543..9e0d63d7 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -26,7 +26,7 @@ LazyData: yes Encoding: UTF-8 Language: en-GB VignetteBuilder: knitr -BugReports: http://github.com/jranke/mkin/issues -URL: https://pkgdown.jrwb.de/mkin +BugReports: http://github.com/jranke/mkin/issues/ +URL: https://pkgdown.jrwb.de/mkin/ Roxygen: list(markdown = TRUE) RoxygenNote: 7.1.1 diff --git a/GNUmakefile b/GNUmakefile index 1adac4e0..fea87d6b 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -80,7 +80,7 @@ test: install devtest: install "$(RDEVBIN)/Rscript" -e 'devtools::test()' 2>&1 | tee test_dev.log - sed -i -e "s/\r.*\r//" test.log + sed -i -e "s/\r.*\r//" test_dev.log slowtests: install NOT_CRAN=true "$(RBIN)/Rscript" -e 'library(mkin); testthat::test_dir("tests/testthat/slow")' 2>&1 | tee tests_slow.log diff --git a/NAMESPACE b/NAMESPACE index 0a04d6c3..7231cd46 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -72,8 +72,6 @@ export(parms) export(plot_err) export(plot_res) export(plot_sep) -export(saemix_data) -export(saemix_model) export(sigma_twocomp) export(transform_odeparms) import(deSolve) @@ -90,8 +88,6 @@ importFrom(parallel,mclapply) importFrom(parallel,parLapply) importFrom(pkgbuild,has_compiler) importFrom(purrr,map_dfr) -importFrom(saemix,saemixData) -importFrom(saemix,saemixModel) importFrom(stats,AIC) importFrom(stats,BIC) importFrom(stats,aggregate) @@ -116,6 +112,5 @@ importFrom(stats,residuals) importFrom(stats,rnorm) importFrom(stats,shapiro.test) importFrom(stats,update) -importFrom(stats,var) importFrom(utils,getFromNamespace) importFrom(utils,write.table) diff --git a/NEWS.md b/NEWS.md index 688440cf..bb560699 100644 --- a/NEWS.md +++ b/NEWS.md @@ -516,7 +516,7 @@ # mkin 0.9-27 (2014-05-10) -- Fork the GUI into a separate package [gmkin](http://github.com/jranke/gmkin) +- Fork the GUI into a separate package [gmkin](https://github.com/jranke/gmkin) - DESCRIPTION, NAMESPACE, TODO: Adapt and add copyright information diff --git a/R/nafta.R b/R/nafta.R index 7e5873d8..8a6a519a 100644 --- a/R/nafta.R +++ b/R/nafta.R @@ -1,9 +1,9 @@ #' Evaluate parent kinetics using the NAFTA guidance -#' +#' #' The function fits the SFO, IORE and DFOP models using \code{\link{mmkin}} #' and returns an object of class \code{nafta} that has methods for printing #' and plotting. -#' +#' #' @param ds A dataframe that must contain one variable called "time" with the #' time values specified by the \code{time} argument, one column called #' "name" with the grouping of the observed values, and finally one column of @@ -23,17 +23,17 @@ #' Pesticides #' \url{https://www.epa.gov/pesticide-science-and-assessing-pesticide-risks/guidance-evaluating-and-calculating-degradation} #' accessed 2019-02-22 -#' +#' #' US EPA (2015) Standard Operating Procedure for Using the NAFTA Guidance to #' Calculate Representative Half-life Values and Characterizing Pesticide #' Degradation #' \url{https://www.epa.gov/pesticide-science-and-assessing-pesticide-risks/standard-operating-procedure-using-nafta-guidance} #' @examples -#' +#' #' nafta_evaluation <- nafta(NAFTA_SOP_Appendix_D, cores = 1) #' print(nafta_evaluation) #' plot(nafta_evaluation) -#' +#' #' @export nafta <- function(ds, title = NA, quiet = FALSE, ...) { if (length(levels(ds$name)) > 1) { @@ -51,7 +51,7 @@ nafta <- function(ds, title = NA, quiet = FALSE, ...) { dimnames = list(models, c("DT50", "DT90", "DT50_rep"))) result$distimes["SFO", ] <- distimes[[1]][c(1, 2, 1)] result$distimes["IORE", ] <- distimes[[2]][c(1, 2, 3)] - result$distimes["DFOP", ] <- distimes[[3]][c(1, 2, 4)] + result$distimes["DFOP", ] <- distimes[[3]][c(1, 2, 5)] # Get parameters with statistics result$parameters <- lapply(result$mmkin, function(x) { @@ -75,13 +75,13 @@ nafta <- function(ds, title = NA, quiet = FALSE, ...) { return(result) } -#' Plot the results of the three models used in the NAFTA scheme. -#' +#' Plot the results of the three models used in the NAFTA scheme. +#' #' The plots are ordered with increasing complexity of the model in this #' function (SFO, then IORE, then DFOP). -#' +#' #' Calls \code{\link{plot.mmkin}}. -#' +#' #' @param x An object of class \code{\link{nafta}}. #' @param legend Should a legend be added? #' @param main Possibility to override the main title of the plot. @@ -98,10 +98,10 @@ plot.nafta <- function(x, legend = FALSE, main = "auto", ...) { } #' Print nafta objects -#' +#' #' Print nafta objects. The results for the three models are printed in the #' order of increasing model complexity, i.e. SFO, then IORE, and finally DFOP. -#' +#' #' @param x An \code{\link{nafta}} object. #' @param digits Number of digits to be used for printing parameters and #' dissipation times. diff --git a/README.md b/README.md index 0720fa66..77d3b776 100644 --- a/README.md +++ b/README.md @@ -39,9 +39,9 @@ at the package vignettes ## Documentation The HTML documentation of the latest version released to CRAN is available at -[jrwb.de](https://pkgdown.jrwb.de/mkin) and -[github](http://jranke.github.io/mkin). Documentation of the development -version is found in the ['dev' subdirectory](https://pkgdown.jrwb.de/mkin/dev). +[jrwb.de](https://pkgdown.jrwb.de/mkin/) and +[github](https://jranke.github.io/mkin/). Documentation of the development +version is found in the ['dev' subdirectory](https://pkgdown.jrwb.de/mkin/dev/). ## Features @@ -104,7 +104,7 @@ version is found in the ['dev' subdirectory](https://pkgdown.jrwb.de/mkin/dev). ## GUI There is a graphical user interface that may be useful. Please -refer to its [documentation page](http://kinfit.r-forge.r-project.org/gmkin_static) +refer to its [documentation page](https://pkgdown.jrwb.de/gmkin/) for installation instructions and a manual. ## News @@ -142,7 +142,7 @@ CRAN on 01 May 2010. The first `mkin` code was [published on 11 May 2010](https://r-forge.r-project.org/scm/viewvc.php?view=rev&root=kinfit&revision=8) and the -[first CRAN version](https://cran.r-project.org/src/contrib/Archive/mkin) +[first CRAN version](https://cran.r-project.org/src/contrib/Archive/mkin/) on 18 May 2010. In 2011, Bayer Crop Science started to distribute an R based successor to KinGUI named @@ -161,7 +161,7 @@ find a zip archive of the R scripts derived from `mkin`, published under the GPL license. Finally, there is -[KineticEval](http://github.com/zhenglei-gao/KineticEval), which contains +[KineticEval](https://github.com/zhenglei-gao/KineticEval), which contains a further development of the scripts used for KinGUII, so the different tools will hopefully be able to learn from each other in the future as well. diff --git a/_pkgdown.yml b/_pkgdown.yml index 3882ae4b..74abeeba 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -43,8 +43,6 @@ reference: - nlme.mmkin - plot.nlme.mmkin - nlme_function - - saemix_model - - saemix_data - get_deg_func - title: Datasets and known results contents: diff --git a/check.log b/check.log index b9a17217..1d00a516 100644 --- a/check.log +++ b/check.log @@ -7,10 +7,8 @@ * checking extension type ... Package * this is package ‘mkin’ version ‘0.9.50.3’ * package encoding: UTF-8 -* checking CRAN incoming feasibility ... NOTE +* checking CRAN incoming feasibility ... Note_to_CRAN_maintainers Maintainer: ‘Johannes Ranke ’ - -The Date field is over a month old. * checking package namespace information ... OK * checking package dependencies ... OK * checking if this is a source package ... OK @@ -69,9 +67,5 @@ The Date field is over a month old. * checking for detritus in the temp directory ... OK * DONE -Status: 1 NOTE -See - ‘/home/jranke/git/mkin/mkin.Rcheck/00check.log’ -for details. - +Status: OK diff --git a/docs/dev/articles/FOCUS_D.html b/docs/dev/articles/FOCUS_D.html index 7d5dd732..02701431 100644 --- a/docs/dev/articles/FOCUS_D.html +++ b/docs/dev/articles/FOCUS_D.html @@ -101,7 +101,7 @@

Example evaluation of FOCUS Example Dataset D

Johannes Ranke

-

2020-05-27

+

2020-10-08

Source: vignettes/FOCUS_D.rmd @@ -171,18 +171,20 @@
fit <- mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE)
## Warning in mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE): Observations with value
 ## of zero were removed from the data
+
## Warning in mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE): Shapiro-Wilk test for
+## standardized residuals: p = 0.0165

A plot of the fit including a residual plot for both observed variables is obtained using the plot_sep method for mkinfit objects, which shows separate graphs for all compounds and their residuals.

-
plot_sep(fit, lpos = c("topright", "bottomright"))
+
plot_sep(fit, lpos = c("topright", "bottomright"))

Confidence intervals for the parameter estimates are obtained using the mkinparplot function.

- +

A comprehensive report of the results is obtained using the summary method for mkinfit objects.

-
summary(fit)
+
summary(fit)
## mkin version used for fitting:    0.9.50.3 
-## R version used for fitting:       4.0.0 
-## Date of fit:     Wed May 27 07:51:36 2020 
-## Date of summary: Wed May 27 07:51:37 2020 
+## R version used for fitting:       4.0.2 
+## Date of fit:     Thu Oct  8 09:14:03 2020 
+## Date of summary: Thu Oct  8 09:14:03 2020 
 ## 
 ## Equations:
 ## d_parent/dt = - k_parent * parent
@@ -190,7 +192,7 @@
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 421 model solutions performed in 0.173 s
+## Fitted using 421 model solutions performed in 0.171 s
 ## 
 ## Error model: Constant variance 
 ## 
@@ -214,6 +216,11 @@
 ##      value  type
 ## m1_0     0 state
 ## 
+## 
+## Warning(s): 
+## Observations with value of zero were removed from the data
+## Shapiro-Wilk test for standardized residuals: p =  0.0165
+## 
 ## Results:
 ## 
 ##        AIC      BIC    logLik
@@ -229,11 +236,11 @@
 ## 
 ## Parameter correlation:
 ##                  parent_0 log_k_parent   log_k_m1 f_parent_ilr_1      sigma
-## parent_0        1.000e+00    5.174e-01 -1.688e-01     -5.471e-01 -3.190e-07
+## parent_0        1.000e+00    5.174e-01 -1.688e-01     -5.471e-01 -3.214e-07
 ## log_k_parent    5.174e-01    1.000e+00 -3.263e-01     -5.426e-01  3.168e-07
-## log_k_m1       -1.688e-01   -3.263e-01  1.000e+00      7.478e-01 -1.406e-07
-## f_parent_ilr_1 -5.471e-01   -5.426e-01  7.478e-01      1.000e+00 -1.587e-10
-## sigma          -3.190e-07    3.168e-07 -1.406e-07     -1.587e-10  1.000e+00
+## log_k_m1       -1.688e-01   -3.263e-01  1.000e+00      7.478e-01 -1.410e-07
+## f_parent_ilr_1 -5.471e-01   -5.426e-01  7.478e-01      1.000e+00  5.093e-10
+## sigma          -3.214e-07    3.168e-07 -1.410e-07      5.093e-10  1.000e+00
 ## 
 ## Backtransformed parameters:
 ## Confidence intervals for internally transformed parameters are asymmetric.
diff --git a/docs/dev/articles/FOCUS_L.html b/docs/dev/articles/FOCUS_L.html
index d69815ab..ffc0bebf 100644
--- a/docs/dev/articles/FOCUS_L.html
+++ b/docs/dev/articles/FOCUS_L.html
@@ -101,7 +101,7 @@
       

Example evaluation of FOCUS Laboratory Data L1 to L3

Johannes Ranke

-

2020-05-27

+

2020-10-08

Source: vignettes/FOCUS_L.rmd @@ -126,30 +126,30 @@
m.L1.SFO <- mkinfit("SFO", FOCUS_2006_L1_mkin, quiet = TRUE)
 summary(m.L1.SFO)
## mkin version used for fitting:    0.9.50.3 
-## R version used for fitting:       4.0.0 
-## Date of fit:     Wed May 27 07:51:39 2020 
-## Date of summary: Wed May 27 07:51:39 2020 
+## R version used for fitting:       4.0.2 
+## Date of fit:     Thu Oct  8 09:14:05 2020 
+## Date of summary: Thu Oct  8 09:14:05 2020 
 ## 
 ## Equations:
-## d_parent/dt = - k_parent_sink * parent
+## d_parent/dt = - k_parent * parent
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 133 model solutions performed in 0.031 s
+## Fitted using 133 model solutions performed in 0.032 s
 ## 
 ## Error model: Constant variance 
 ## 
 ## Error model algorithm: OLS 
 ## 
 ## Starting values for parameters to be optimised:
-##               value   type
-## parent_0      89.85  state
-## k_parent_sink  0.10 deparm
+##          value   type
+## parent_0 89.85  state
+## k_parent  0.10 deparm
 ## 
 ## Starting values for the transformed parameters actually optimised:
-##                       value lower upper
-## parent_0          89.850000  -Inf   Inf
-## log_k_parent_sink -2.302585  -Inf   Inf
+##                  value lower upper
+## parent_0     89.850000  -Inf   Inf
+## log_k_parent -2.302585  -Inf   Inf
 ## 
 ## Fixed parameter values:
 ## None
@@ -160,25 +160,25 @@
 ##   93.88778 96.5589 -43.94389
 ## 
 ## Optimised, transformed parameters with symmetric confidence intervals:
-##                   Estimate Std. Error  Lower  Upper
-## parent_0            92.470    1.28200 89.740 95.200
-## log_k_parent_sink   -2.347    0.03763 -2.428 -2.267
-## sigma                2.780    0.46330  1.792  3.767
+##              Estimate Std. Error  Lower  Upper
+## parent_0       92.470    1.28200 89.740 95.200
+## log_k_parent   -2.347    0.03763 -2.428 -2.267
+## sigma           2.780    0.46330  1.792  3.767
 ## 
 ## Parameter correlation:
-##                     parent_0 log_k_parent_sink      sigma
-## parent_0           1.000e+00         6.186e-01 -1.712e-09
-## log_k_parent_sink  6.186e-01         1.000e+00 -3.237e-09
-## sigma             -1.712e-09        -3.237e-09  1.000e+00
+##                parent_0 log_k_parent      sigma
+## parent_0      1.000e+00    6.186e-01 -1.516e-09
+## log_k_parent  6.186e-01    1.000e+00 -3.124e-09
+## sigma        -1.516e-09   -3.124e-09  1.000e+00
 ## 
 ## Backtransformed parameters:
 ## Confidence intervals for internally transformed parameters are asymmetric.
 ## t-test (unrealistically) based on the assumption of normal distribution
 ## for estimators of untransformed parameters.
-##               Estimate t value    Pr(>t)    Lower   Upper
-## parent_0      92.47000   72.13 8.824e-21 89.74000 95.2000
-## k_parent_sink  0.09561   26.57 2.487e-14  0.08824  0.1036
-## sigma          2.78000    6.00 1.216e-05  1.79200  3.7670
+##          Estimate t value    Pr(>t)    Lower   Upper
+## parent_0 92.47000   72.13 8.824e-21 89.74000 95.2000
+## k_parent  0.09561   26.57 2.487e-14  0.08824  0.1036
+## sigma     2.78000    6.00 1.216e-05  1.79200  3.7670
 ## 
 ## FOCUS Chi2 error levels in percent:
 ##          err.min n.optim df
@@ -227,21 +227,16 @@
 
## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result is
 ## doubtful
## mkin version used for fitting:    0.9.50.3 
-## R version used for fitting:       4.0.0 
-## Date of fit:     Wed May 27 07:51:39 2020 
-## Date of summary: Wed May 27 07:51:39 2020 
-## 
-## 
-## Warning: Optimisation did not converge:
-## false convergence (8) 
-## 
+## R version used for fitting:       4.0.2 
+## Date of fit:     Thu Oct  8 09:14:05 2020 
+## Date of summary: Thu Oct  8 09:14:05 2020 
 ## 
 ## Equations:
 ## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 899 model solutions performed in 0.204 s
+## Fitted using 380 model solutions performed in 0.088 s
 ## 
 ## Error model: Constant variance 
 ## 
@@ -262,34 +257,39 @@
 ## Fixed parameter values:
 ## None
 ## 
+## 
+## Warning(s): 
+## Optimisation did not converge:
+## false convergence (8)
+## 
 ## Results:
 ## 
 ##        AIC      BIC    logLik
-##   95.88835 99.44984 -43.94418
+##   95.88778 99.44927 -43.94389
 ## 
 ## Optimised, transformed parameters with symmetric confidence intervals:
 ##           Estimate Std. Error  Lower  Upper
-## parent_0     92.47     1.2800 89.730 95.220
-## log_alpha    10.58        NaN    NaN    NaN
-## log_beta     12.93        NaN    NaN    NaN
-## sigma         2.78     0.4507  1.813  3.747
+## parent_0     92.47     1.2820 89.720 95.220
+## log_alpha    16.92        NaN    NaN    NaN
+## log_beta     19.26        NaN    NaN    NaN
+## sigma         2.78     0.4501  1.814  3.745
 ## 
 ## Parameter correlation:
-##           parent_0 log_alpha log_beta   sigma
-## parent_0   1.00000       NaN      NaN 0.01452
-## log_alpha      NaN         1      NaN     NaN
-## log_beta       NaN       NaN        1     NaN
-## sigma      0.01452       NaN      NaN 1.00000
+##           parent_0 log_alpha log_beta    sigma
+## parent_0  1.000000       NaN      NaN 0.002218
+## log_alpha      NaN         1      NaN      NaN
+## log_beta       NaN       NaN        1      NaN
+## sigma     0.002218       NaN      NaN 1.000000
 ## 
 ## Backtransformed parameters:
 ## Confidence intervals for internally transformed parameters are asymmetric.
 ## t-test (unrealistically) based on the assumption of normal distribution
 ## for estimators of untransformed parameters.
-##           Estimate  t value    Pr(>t)  Lower  Upper
-## parent_0     92.47 72.13000 1.052e-19 89.730 95.220
-## alpha     39440.00  0.02397 4.906e-01     NA     NA
-## beta     412500.00  0.02397 4.906e-01     NA     NA
-## sigma         2.78  6.00000 1.628e-05  1.813  3.747
+##           Estimate t value Pr(>t)  Lower  Upper
+## parent_0 9.247e+01      NA     NA 89.720 95.220
+## alpha    2.223e+07      NA     NA     NA     NA
+## beta     2.325e+08      NA     NA     NA     NA
+## sigma    2.780e+00      NA     NA  1.814  3.745
 ## 
 ## FOCUS Chi2 error levels in percent:
 ##          err.min n.optim df
@@ -297,8 +297,8 @@
 ## parent     3.619       3  6
 ## 
 ## Estimated disappearance times:
-##         DT50  DT90 DT50back
-## parent 7.249 24.08    7.249
+## DT50 DT90 DT50back +## parent 7.25 24.08 7.25

We get a warning that the default optimisation algorithm Port did not converge, which is an indication that the model is overparameterised, i.e. contains too many parameters that are ill-defined as a consequence.

And in fact, due to the higher number of parameters, and the lower number of degrees of freedom of the fit, the \(\chi^2\) error level is actually higher for the FOMC model (3.6%) than for the SFO model (3.4%). Additionally, the parameters log_alpha and log_beta internally fitted in the model have excessive confidence intervals, that span more than 25 orders of magnitude (!) when backtransformed to the scale of alpha and beta. Also, the t-test for significant difference from zero does not indicate such a significant difference, with p-values greater than 0.1, and finally, the parameter correlation of log_alpha and log_beta is 1.000, clearly indicating that the model is overparameterised.

The \(\chi^2\) error levels reported in Appendix 3 and Appendix 7 to the FOCUS kinetics report are rounded to integer percentages and partly deviate by one percentage point from the results calculated by mkin. The reason for this is not known. However, mkin gives the same \(\chi^2\) error levels as the kinfit package and the calculation routines of the kinfit package have been extensively compared to the results obtained by the KinGUI software, as documented in the kinfit package vignette. KinGUI was the first widely used standard package in this field. Also, the calculation of \(\chi^2\) error levels was compared with KinGUII, CAKE and DegKin manager in a project sponsored by the German Umweltbundesamt (Ranke 2014).

@@ -335,16 +335,16 @@

summary(m.L2.FOMC, data = FALSE)
## mkin version used for fitting:    0.9.50.3 
-## R version used for fitting:       4.0.0 
-## Date of fit:     Wed May 27 07:51:40 2020 
-## Date of summary: Wed May 27 07:51:40 2020 
+## R version used for fitting:       4.0.2 
+## Date of fit:     Thu Oct  8 09:14:06 2020 
+## Date of summary: Thu Oct  8 09:14:06 2020 
 ## 
 ## Equations:
 ## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 239 model solutions performed in 0.048 s
+## Fitted using 239 model solutions performed in 0.049 s
 ## 
 ## Error model: Constant variance 
 ## 
@@ -379,10 +379,10 @@
 ## 
 ## Parameter correlation:
 ##             parent_0  log_alpha   log_beta      sigma
-## parent_0   1.000e+00 -1.151e-01 -2.085e-01 -7.637e-09
+## parent_0   1.000e+00 -1.151e-01 -2.085e-01 -7.436e-09
 ## log_alpha -1.151e-01  1.000e+00  9.741e-01 -1.617e-07
-## log_beta  -2.085e-01  9.741e-01  1.000e+00 -1.387e-07
-## sigma     -7.637e-09 -1.617e-07 -1.387e-07  1.000e+00
+## log_beta  -2.085e-01  9.741e-01  1.000e+00 -1.386e-07
+## sigma     -7.436e-09 -1.617e-07 -1.386e-07  1.000e+00
 ## 
 ## Backtransformed parameters:
 ## Confidence intervals for internally transformed parameters are asymmetric.
@@ -414,9 +414,9 @@
 

summary(m.L2.DFOP, data = FALSE)
## mkin version used for fitting:    0.9.50.3 
-## R version used for fitting:       4.0.0 
-## Date of fit:     Wed May 27 07:51:40 2020 
-## Date of summary: Wed May 27 07:51:40 2020 
+## R version used for fitting:       4.0.2 
+## Date of fit:     Thu Oct  8 09:14:06 2020 
+## Date of summary: Thu Oct  8 09:14:06 2020 
 ## 
 ## Equations:
 ## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
@@ -425,7 +425,7 @@
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 572 model solutions performed in 0.131 s
+## Fitted using 572 model solutions performed in 0.136 s
 ## 
 ## Error model: Constant variance 
 ## 
@@ -456,18 +456,18 @@
 ## Optimised, transformed parameters with symmetric confidence intervals:
 ##          Estimate Std. Error      Lower     Upper
 ## parent_0  93.9500  9.998e-01    91.5900   96.3100
-## log_k1     3.1370  2.376e+03 -5616.0000 5622.0000
+## log_k1     3.1370  2.376e+03 -5615.0000 5622.0000
 ## log_k2    -1.0880  6.285e-02    -1.2370   -0.9394
 ## g_ilr     -0.2821  7.033e-02    -0.4484   -0.1158
 ## sigma      1.4140  2.886e-01     0.7314    2.0960
 ## 
 ## Parameter correlation:
 ##            parent_0     log_k1     log_k2      g_ilr      sigma
-## parent_0  1.000e+00  5.155e-07  2.371e-09  2.665e-01 -6.849e-09
-## log_k1    5.155e-07  1.000e+00  8.434e-05 -1.659e-04 -7.791e-06
-## log_k2    2.371e-09  8.434e-05  1.000e+00 -7.903e-01 -1.262e-08
-## g_ilr     2.665e-01 -1.659e-04 -7.903e-01  1.000e+00  3.241e-08
-## sigma    -6.849e-09 -7.791e-06 -1.262e-08  3.241e-08  1.000e+00
+## parent_0  1.000e+00  5.157e-07  2.376e-09  2.665e-01 -6.837e-09
+## log_k1    5.157e-07  1.000e+00  8.434e-05 -1.659e-04 -7.786e-06
+## log_k2    2.376e-09  8.434e-05  1.000e+00 -7.903e-01 -1.263e-08
+## g_ilr     2.665e-01 -1.659e-04 -7.903e-01  1.000e+00  3.248e-08
+## sigma    -6.837e-09 -7.786e-06 -1.263e-08  3.248e-08  1.000e+00
 ## 
 ## Backtransformed parameters:
 ## Confidence intervals for internally transformed parameters are asymmetric.
@@ -486,8 +486,8 @@
 ## parent      2.53       4  2
 ## 
 ## Estimated disappearance times:
-##          DT50  DT90 DT50_k1 DT50_k2
-## parent 0.5335 5.311 0.03009   2.058
+## DT50 DT90 DT50back DT50_k1 DT50_k2 +## parent 0.5335 5.311 1.599 0.03009 2.058

Here, the DFOP model is clearly the best-fit model for dataset L2 based on the chi^2 error level criterion. However, the failure to calculate the covariance matrix indicates that the parameter estimates correlate excessively. Therefore, the FOMC model may be preferred for this dataset.

@@ -517,9 +517,9 @@

We can extract the summary and plot for e.g. the DFOP fit, using square brackets for indexing which will result in the use of the summary and plot functions working on mkinfit objects.

summary(mm.L3[["DFOP", 1]])
## mkin version used for fitting:    0.9.50.3 
-## R version used for fitting:       4.0.0 
-## Date of fit:     Wed May 27 07:51:41 2020 
-## Date of summary: Wed May 27 07:51:41 2020 
+## R version used for fitting:       4.0.2 
+## Date of fit:     Thu Oct  8 09:14:07 2020 
+## Date of summary: Thu Oct  8 09:14:07 2020 
 ## 
 ## Equations:
 ## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
@@ -528,7 +528,7 @@
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 373 model solutions performed in 0.079 s
+## Fitted using 373 model solutions performed in 0.086 s
 ## 
 ## Error model: Constant variance 
 ## 
@@ -566,11 +566,11 @@
 ## 
 ## Parameter correlation:
 ##            parent_0     log_k1     log_k2      g_ilr      sigma
-## parent_0  1.000e+00  1.732e-01  2.282e-02  4.009e-01 -6.872e-07
-## log_k1    1.732e-01  1.000e+00  4.945e-01 -5.809e-01  3.200e-07
-## log_k2    2.282e-02  4.945e-01  1.000e+00 -6.812e-01  7.673e-07
-## g_ilr     4.009e-01 -5.809e-01 -6.812e-01  1.000e+00 -8.731e-07
-## sigma    -6.872e-07  3.200e-07  7.673e-07 -8.731e-07  1.000e+00
+## parent_0  1.000e+00  1.732e-01  2.282e-02  4.009e-01 -6.868e-07
+## log_k1    1.732e-01  1.000e+00  4.945e-01 -5.809e-01  3.175e-07
+## log_k2    2.282e-02  4.945e-01  1.000e+00 -6.812e-01  7.631e-07
+## g_ilr     4.009e-01 -5.809e-01 -6.812e-01  1.000e+00 -8.694e-07
+## sigma    -6.868e-07  3.175e-07  7.631e-07 -8.694e-07  1.000e+00
 ## 
 ## Backtransformed parameters:
 ## Confidence intervals for internally transformed parameters are asymmetric.
@@ -589,8 +589,8 @@
 ## parent     2.225       4  4
 ## 
 ## Estimated disappearance times:
-##         DT50 DT90 DT50_k1 DT50_k2
-## parent 7.464  123   1.343   50.37
+##         DT50 DT90 DT50back DT50_k1 DT50_k2
+## parent 7.464  123    37.03   1.343   50.37
 ## 
 ## Data:
 ##  time variable observed predicted residual
@@ -626,30 +626,30 @@
 

The \(\chi^2\) error level of 3.3% as well as the plot suggest that the SFO model fits very well. The error level at which the \(\chi^2\) test passes is slightly lower for the FOMC model. However, the difference appears negligible.

summary(mm.L4[["SFO", 1]], data = FALSE)
## mkin version used for fitting:    0.9.50.3 
-## R version used for fitting:       4.0.0 
-## Date of fit:     Wed May 27 07:51:41 2020 
-## Date of summary: Wed May 27 07:51:41 2020 
+## R version used for fitting:       4.0.2 
+## Date of fit:     Thu Oct  8 09:14:07 2020 
+## Date of summary: Thu Oct  8 09:14:07 2020 
 ## 
 ## Equations:
-## d_parent/dt = - k_parent_sink * parent
+## d_parent/dt = - k_parent * parent
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 142 model solutions performed in 0.028 s
+## Fitted using 142 model solutions performed in 0.03 s
 ## 
 ## Error model: Constant variance 
 ## 
 ## Error model algorithm: OLS 
 ## 
 ## Starting values for parameters to be optimised:
-##               value   type
-## parent_0       96.6  state
-## k_parent_sink   0.1 deparm
+##          value   type
+## parent_0  96.6  state
+## k_parent   0.1 deparm
 ## 
 ## Starting values for the transformed parameters actually optimised:
-##                       value lower upper
-## parent_0          96.600000  -Inf   Inf
-## log_k_parent_sink -2.302585  -Inf   Inf
+##                  value lower upper
+## parent_0     96.600000  -Inf   Inf
+## log_k_parent -2.302585  -Inf   Inf
 ## 
 ## Fixed parameter values:
 ## None
@@ -660,25 +660,25 @@
 ##   47.12133 47.35966 -20.56067
 ## 
 ## Optimised, transformed parameters with symmetric confidence intervals:
-##                   Estimate Std. Error  Lower   Upper
-## parent_0            96.440    1.69900 92.070 100.800
-## log_k_parent_sink   -5.030    0.07059 -5.211  -4.848
-## sigma                3.162    0.79050  1.130   5.194
+##              Estimate Std. Error  Lower   Upper
+## parent_0       96.440    1.69900 92.070 100.800
+## log_k_parent   -5.030    0.07059 -5.211  -4.848
+## sigma           3.162    0.79050  1.130   5.194
 ## 
 ## Parameter correlation:
-##                    parent_0 log_k_parent_sink     sigma
-## parent_0          1.000e+00         5.938e-01 3.440e-07
-## log_k_parent_sink 5.938e-01         1.000e+00 5.885e-07
-## sigma             3.440e-07         5.885e-07 1.000e+00
+##               parent_0 log_k_parent     sigma
+## parent_0     1.000e+00    5.938e-01 3.387e-07
+## log_k_parent 5.938e-01    1.000e+00 5.830e-07
+## sigma        3.387e-07    5.830e-07 1.000e+00
 ## 
 ## Backtransformed parameters:
 ## Confidence intervals for internally transformed parameters are asymmetric.
 ## t-test (unrealistically) based on the assumption of normal distribution
 ## for estimators of untransformed parameters.
-##                Estimate t value    Pr(>t)     Lower     Upper
-## parent_0      96.440000   56.77 1.604e-08 92.070000 1.008e+02
-## k_parent_sink  0.006541   14.17 1.578e-05  0.005455 7.842e-03
-## sigma          3.162000    4.00 5.162e-03  1.130000 5.194e+00
+##           Estimate t value    Pr(>t)     Lower     Upper
+## parent_0 96.440000   56.77 1.604e-08 92.070000 1.008e+02
+## k_parent  0.006541   14.17 1.578e-05  0.005455 7.842e-03
+## sigma     3.162000    4.00 5.162e-03  1.130000 5.194e+00
 ## 
 ## FOCUS Chi2 error levels in percent:
 ##          err.min n.optim df
@@ -690,16 +690,16 @@
 ## parent  106  352
summary(mm.L4[["FOMC", 1]], data = FALSE)
## mkin version used for fitting:    0.9.50.3 
-## R version used for fitting:       4.0.0 
-## Date of fit:     Wed May 27 07:51:41 2020 
-## Date of summary: Wed May 27 07:51:41 2020 
+## R version used for fitting:       4.0.2 
+## Date of fit:     Thu Oct  8 09:14:07 2020 
+## Date of summary: Thu Oct  8 09:14:07 2020 
 ## 
 ## Equations:
 ## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent
 ## 
 ## Model predictions using solution type analytical 
 ## 
-## Fitted using 224 model solutions performed in 0.044 s
+## Fitted using 224 model solutions performed in 0.046 s
 ## 
 ## Error model: Constant variance 
 ## 
@@ -734,10 +734,10 @@
 ## 
 ## Parameter correlation:
 ##             parent_0  log_alpha   log_beta      sigma
-## parent_0   1.000e+00 -4.696e-01 -5.543e-01 -2.563e-07
-## log_alpha -4.696e-01  1.000e+00  9.889e-01  4.066e-08
-## log_beta  -5.543e-01  9.889e-01  1.000e+00  6.818e-08
-## sigma     -2.563e-07  4.066e-08  6.818e-08  1.000e+00
+## parent_0   1.000e+00 -4.696e-01 -5.543e-01 -2.456e-07
+## log_alpha -4.696e-01  1.000e+00  9.889e-01  2.169e-08
+## log_beta  -5.543e-01  9.889e-01  1.000e+00  4.910e-08
+## sigma     -2.456e-07  2.169e-08  4.910e-08  1.000e+00
 ## 
 ## Backtransformed parameters:
 ## Confidence intervals for internally transformed parameters are asymmetric.
diff --git a/docs/dev/articles/FOCUS_L_files/figure-html/unnamed-chunk-15-1.png b/docs/dev/articles/FOCUS_L_files/figure-html/unnamed-chunk-15-1.png
index 2e5071d9..db54326e 100644
Binary files a/docs/dev/articles/FOCUS_L_files/figure-html/unnamed-chunk-15-1.png and b/docs/dev/articles/FOCUS_L_files/figure-html/unnamed-chunk-15-1.png differ
diff --git a/docs/dev/articles/FOCUS_L_files/figure-html/unnamed-chunk-6-1.png b/docs/dev/articles/FOCUS_L_files/figure-html/unnamed-chunk-6-1.png
index 16235059..bfa271dd 100644
Binary files a/docs/dev/articles/FOCUS_L_files/figure-html/unnamed-chunk-6-1.png and b/docs/dev/articles/FOCUS_L_files/figure-html/unnamed-chunk-6-1.png differ
diff --git a/docs/dev/articles/mkin.html b/docs/dev/articles/mkin.html
index 4cc06a43..6865fe96 100644
--- a/docs/dev/articles/mkin.html
+++ b/docs/dev/articles/mkin.html
@@ -101,7 +101,7 @@
       

Introduction to mkin

Johannes Ranke

-

2020-05-27

+

2020-10-08

Source: vignettes/mkin.rmd @@ -110,7 +110,7 @@ -

Wissenschaftlicher Berater, Kronacher Str. 12, 79639 Grenzach-Wyhlen, Germany
Privatdozent at the University of Bremen

+

Wissenschaftlicher Berater, Kronacher Str. 12, 79639 Grenzach-Wyhlen, Germany
Privatdozent at the University of Bremen

Abstract

@@ -151,7 +151,7 @@

Many approaches are possible regarding the evaluation of chemical degradation data.

The mkin package (Ranke 2019) implements the approach recommended in the kinetics report provided by the FOrum for Co-ordination of pesticide fate models and their USe (FOCUS Work Group on Degradation Kinetics 2006, 2014) for simple decline data series, data series with transformation products, commonly termed metabolites, and for data series for more than one compartment. It is also possible to include back reactions, so equilibrium reactions and equilibrium partitioning can be specified, although this oftentimes leads to an overparameterisation of the model.

When the first mkin code was published in 2010, the most commonly used tools for fitting more complex kinetic degradation models to experimental data were KinGUI (Schäfer et al. 2007), a MATLAB based tool with a graphical user interface that was specifically tailored to the task and included some output as proposed by the FOCUS Kinetics Workgroup, and ModelMaker, a general purpose compartment based tool providing infrastructure for fitting dynamic simulation models based on differential equations to data.

-

The code was first uploaded to the BerliOS platform. When this was taken down, the version control history was imported into the R-Forge site (see e.g. the initial commit on 11 May 2010), where the code is still occasionally updated.

+

The code was first uploaded to the BerliOS platform. When this was taken down, the version control history was imported into the R-Forge site (see e.g. the initial commit on 11 May 2010), where the code is still occasionally updated.

At that time, the R package FME (Flexible Modelling Environment) (Soetaert and Petzoldt 2010) was already available, and provided a good basis for developing a package specifically tailored to the task. The remaining challenge was to make it as easy as possible for the users (including the author of this vignette) to specify the system of differential equations and to include the output requested by the FOCUS guidance, such as the relative standard deviation that has to be assumed for the residuals, such that the \(\chi^2\) goodness-of-fit test as defined by the FOCUS kinetics workgroup would pass using an significance level \(\alpha\) of 0.05. This relative error, expressed as a percentage, is often termed \(\chi^2\) error level or similar.

Also, mkin introduced using analytical solutions for parent only kinetics for improved optimization speed. Later, Eigenvalue based solutions were introduced to mkin for the case of linear differential equations (i.e. where the FOMC or DFOP models were not used for the parent compound), greatly improving the optimization speed for these cases. This, however, has become somehow obsolete, as the use of compiled code described below gives even smaller execution times.

The possibility to specify back-reactions and a biphasic model (SFORB) for metabolites were present in mkin from the very beginning.

@@ -161,7 +161,7 @@

Soon after the publication of mkin, two derived tools were published, namely KinGUII (available from Bayer Crop Science) and CAKE (commissioned to Tessella by Syngenta), which added a graphical user interface (GUI), and added fitting by iteratively reweighted least squares (IRLS) and characterisation of likely parameter distributions by Markov Chain Monte Carlo (MCMC) sampling.

CAKE focuses on a smooth use experience, sacrificing some flexibility in the model definition, originally allowing only two primary metabolites in parallel. The current version 3.3 of CAKE release in March 2016 uses a basic scheme for up to six metabolites in a flexible arrangement, but does not support back-reactions (non-instantaneous equilibria) or biphasic kinetics for metabolites.

KinGUI offers an even more flexible widget for specifying complex kinetic models. Back-reactions (non-instantaneous equilibria) were supported early on, but until 2014, only simple first-order models could be specified for transformation products. Starting with KinGUII version 2.1, biphasic modelling of metabolites was also available in KinGUII.

-

A further graphical user interface (GUI) that has recently been brought to a decent degree of maturity is the browser based GUI named gmkin. Please see its documentation page and manual for further information.

+

A further graphical user interface (GUI) that has recently been brought to a decent degree of maturity is the browser based GUI named gmkin. Please see its documentation page and manual for further information.

A comparison of scope, usability and numerical results obtained with these tools has been recently been published by Ranke, Wöltjen, and Meinecke (2018).

@@ -227,7 +227,7 @@

Schäfer, D., B. Mikolasch, P. Rainbird, and B. Harvey. 2007. “KinGUI: A New Kinetic Software Tool for Evaluations According to FOCUS Degradation Kinetics.” In Proceedings of the Xiii Symposium Pesticide Chemistry, edited by Del Re A. A. M., Capri E., Fragoulis G., and Trevisan M., 916–23. Piacenza.

-

Soetaert, Karline, and Thomas Petzoldt. 2010. “Inverse Modelling, Sensitivity and Monte Carlo Analysis in R Using Package FME.” Journal of Statistical Software 33 (3): 1–28. http://www.jstatsoft.org/v33/i03/.

+

Soetaert, Karline, and Thomas Petzoldt. 2010. “Inverse Modelling, Sensitivity and Monte Carlo Analysis in R Using Package FME.” Journal of Statistical Software 33 (3): 1–28. https://www.jstatsoft.org/v33/i03/.

diff --git a/docs/dev/articles/mkin_files/figure-html/unnamed-chunk-2-1.png b/docs/dev/articles/mkin_files/figure-html/unnamed-chunk-2-1.png index 62ea16f2..bdc067c1 100644 Binary files a/docs/dev/articles/mkin_files/figure-html/unnamed-chunk-2-1.png and b/docs/dev/articles/mkin_files/figure-html/unnamed-chunk-2-1.png differ diff --git a/docs/dev/articles/twa.html b/docs/dev/articles/twa.html index 29be6c95..d1093e13 100644 --- a/docs/dev/articles/twa.html +++ b/docs/dev/articles/twa.html @@ -101,7 +101,7 @@

Calculation of time weighted average concentrations with mkin

Johannes Ranke

-

2020-05-27

+

2020-10-08

Source: vignettes/twa.rmd @@ -141,7 +141,7 @@

\[f_\textrm{twa} = \frac{1}{t} \left( \frac{1}{k_1} \left( 1 - e^{- k_1 t_b} \right) + \frac{e^{- k_1 t_b}}{k_2} \left( 1 - e^{- k_2 (t - t_b)} \right) \right) \]

-

Note that a method for calculating maximum moving window time weighted average concentrations for a model fitted by ‘mkinfit’ or from parent decline model parameters is included in the max_twa_parent() function. If the same is needed for metabolites, the function pfm::max_twa() from the ‘pfm’ package can be used.

+

Note that a method for calculating maximum moving window time weighted average concentrations for a model fitted by ‘mkinfit’ or from parent decline model parameters is included in the max_twa_parent() function. If the same is needed for metabolites, the function pfm::max_twa() from the ‘pfm’ package can be used.

FOCUS Work Group on Degradation Kinetics. 2014. Generic Guidance for Estimating Persistence and Degradation Kinetics from Environmental Fate Studies on Pesticides in Eu Registration. 1.1 ed. http://esdac.jrc.ec.europa.eu/projects/degradation-kinetics.

diff --git a/docs/dev/articles/web_only/FOCUS_Z.html b/docs/dev/articles/web_only/FOCUS_Z.html index 270232d7..763ca9be 100644 --- a/docs/dev/articles/web_only/FOCUS_Z.html +++ b/docs/dev/articles/web_only/FOCUS_Z.html @@ -101,7 +101,7 @@

Example evaluation of FOCUS dataset Z

Johannes Ranke

-

2020-05-27

+

2020-10-08

Source: vignettes/web_only/FOCUS_Z.rmd @@ -217,25 +217,25 @@
plot_sep(m.Z.FOCUS)

summary(m.Z.FOCUS, data = FALSE)$bpar
-
##             Estimate se_notrans t value     Pr(>t)     Lower     Upper
-## Z0_0       96.840695   1.994285 48.5591 4.0254e-42 92.828744 100.85265
-## k_Z0        2.215467   0.118463 18.7018 1.0417e-23  1.989524   2.46707
-## k_Z1        0.478325   0.028259 16.9265 6.2441e-22  0.424725   0.53869
-## k_Z2        0.451638   0.042139 10.7177 1.6309e-14  0.374346   0.54489
-## k_Z3        0.058692   0.015245  3.8498 1.7807e-04  0.034806   0.09897
-## f_Z2_to_Z3  0.471484   0.058348  8.0805 9.6599e-11  0.357736   0.58827
-## sigma       3.984431   0.383402 10.3923 4.5576e-14  3.213126   4.75574
+
##             Estimate se_notrans t value     Pr(>t)     Lower      Upper
+## Z0_0       96.838721   1.994275 48.5584 4.0283e-42 92.826878 100.850563
+## k_Z0        2.215400   0.118459 18.7019 1.0414e-23  1.989462   2.466998
+## k_Z1        0.478301   0.028257 16.9267 6.2411e-22  0.424705   0.538662
+## k_Z2        0.451623   0.042138 10.7176 1.6313e-14  0.374336   0.544867
+## k_Z3        0.058694   0.015246  3.8499 1.7804e-04  0.034809   0.098967
+## f_Z2_to_Z3  0.471510   0.058352  8.0804 9.6640e-11  0.357775   0.588283
+## sigma       3.984431   0.383402 10.3923 4.5575e-14  3.213126   4.755736
endpoints(m.Z.FOCUS)
## $ff
 ##   Z2_Z3 Z2_sink 
-## 0.47148 0.52852 
+## 0.47151 0.52849 
 ## 
 ## $distimes
 ##        DT50    DT90
-## Z0  0.31287  1.0393
-## Z1  1.44911  4.8138
-## Z2  1.53474  5.0983
-## Z3 11.80989 39.2316
+## Z0 0.31288 1.0394 +## Z1 1.44919 4.8141 +## Z2 1.53479 5.0985 +## Z3 11.80955 39.2305

This fit corresponds to the final result chosen in Appendix 7 of the FOCUS report. Confidence intervals returned by mkin are based on internally transformed parameters, however.

@@ -277,51 +277,57 @@ quiet = TRUE)
## Warning in mkinfit(Z.mkin.4, FOCUS_2006_Z_mkin, parms.ini = m.Z.mkin.
 ## 3$bparms.ode, : Observations with value of zero were removed from the data
-
plot_sep(m.Z.mkin.4)
+
## Warning in mkinfit(Z.mkin.4, FOCUS_2006_Z_mkin, parms.ini = m.Z.mkin.
+## 3$bparms.ode, : Shapiro-Wilk test for standardized residuals: p = 0.0449
+
plot_sep(m.Z.mkin.4)

The error level of the fit, but especially of metabolite Z3, can be improved if the SFORB model is chosen for this metabolite, as this model is capable of representing the tailing of the metabolite decline phase.

-
Z.mkin.5 <- mkinmod(Z0 = mkinsub("SFORB", "Z1", sink = FALSE),
+
Z.mkin.5 <- mkinmod(Z0 = mkinsub("SFORB", "Z1", sink = FALSE),
                     Z1 = mkinsub("SFO", "Z2", sink = FALSE),
                     Z2 = mkinsub("SFO", "Z3"),
                     Z3 = mkinsub("SFORB"))
## Successfully compiled differential equation model from auto-generated C code.
-
m.Z.mkin.5 <- mkinfit(Z.mkin.5, FOCUS_2006_Z_mkin,
+
m.Z.mkin.5 <- mkinfit(Z.mkin.5, FOCUS_2006_Z_mkin,
                       parms.ini = m.Z.mkin.4$bparms.ode[1:4],
                       quiet = TRUE)
## Warning in mkinfit(Z.mkin.5, FOCUS_2006_Z_mkin, parms.ini = m.Z.mkin.
 ## 4$bparms.ode[1:4], : Observations with value of zero were removed from the data
-
plot_sep(m.Z.mkin.5)
+
## Warning in mkinfit(Z.mkin.5, FOCUS_2006_Z_mkin, parms.ini = m.Z.mkin.
+## 4$bparms.ode[1:4], : Shapiro-Wilk test for standardized residuals: p = 0.00785
+
plot_sep(m.Z.mkin.5)

The summary view of the backtransformed parameters shows that we get no confidence intervals due to overparameterisation. As the optimized is excessively small, it seems reasonable to fix it to zero.

-
m.Z.mkin.5a <- mkinfit(Z.mkin.5, FOCUS_2006_Z_mkin,
+
m.Z.mkin.5a <- mkinfit(Z.mkin.5, FOCUS_2006_Z_mkin,
                        parms.ini = c(m.Z.mkin.5$bparms.ode[1:7],
                                      k_Z3_bound_free = 0),
                        fixed_parms = "k_Z3_bound_free",
                        quiet = TRUE)
## Warning in mkinfit(Z.mkin.5, FOCUS_2006_Z_mkin, parms.ini = c(m.Z.mkin.
 ## 5$bparms.ode[1:7], : Observations with value of zero were removed from the data
-
plot_sep(m.Z.mkin.5a)
+
## Warning in mkinfit(Z.mkin.5, FOCUS_2006_Z_mkin, parms.ini = c(m.Z.mkin.
+## 5$bparms.ode[1:7], : Shapiro-Wilk test for standardized residuals: p = 0.00785
+
plot_sep(m.Z.mkin.5a)

As expected, the residual plots for Z0 and Z3 are more random than in the case of the all SFO model for which they were shown above. In conclusion, the model is proposed as the best-fit model for the dataset from Appendix 7 of the FOCUS report.

A graphical representation of the confidence intervals can finally be obtained.

-
mkinparplot(m.Z.mkin.5a)
+
mkinparplot(m.Z.mkin.5a)

The endpoints obtained with this model are

-
endpoints(m.Z.mkin.5a)
+
endpoints(m.Z.mkin.5a)
## $ff
 ## Z0_free   Z2_Z3 Z2_sink Z3_free 
 ## 1.00000 0.53656 0.46344 1.00000 
 ## 
 ## $SFORB
 ##     Z0_b1     Z0_b2     Z3_b1     Z3_b2 
-## 2.4471337 0.0075125 0.0800071 0.0000000 
+## 2.4471358 0.0075126 0.0800073 0.0000000 
 ## 
 ## $distimes
-##      DT50   DT90 DT50_Z0_b1 DT50_Z0_b2 DT50_Z3_b1 DT50_Z3_b2
-## Z0 0.3043 1.1848    0.28325     92.266         NA         NA
-## Z1 1.5148 5.0320         NA         NA         NA         NA
-## Z2 1.6414 5.4526         NA         NA         NA         NA
-## Z3     NA     NA         NA         NA     8.6636        Inf
+## DT50 DT90 DT50back DT50_Z0_b1 DT50_Z0_b2 DT50_Z3_b1 DT50_Z3_b2 +## Z0 0.3043 1.1848 0.35666 0.28325 92.265 NA NA +## Z1 1.5148 5.0320 NA NA NA NA NA +## Z2 1.6414 5.4526 NA NA NA NA NA +## Z3 NA NA NA NA NA 8.6636 Inf

It is clear the degradation rate of Z3 towards the end of the experiment is very low as DT50_Z3_b2 (the second Eigenvalue of the system of two differential equations representing the SFORB system for Z3, corresponding to the slower rate constant of the DFOP model) is reported to be infinity. However, this appears to be a feature of the data.

diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_10-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_10-1.png index 96738dd0..d3702fb6 100644 Binary files a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_10-1.png and b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_10-1.png differ diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11-1.png index 4f3c2554..4a6fce4f 100644 Binary files a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11-1.png and b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11-1.png differ diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11a-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11a-1.png index b8c3ed26..dd6537b7 100644 Binary files a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11a-1.png and b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11a-1.png differ diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11b-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11b-1.png index 132a7317..b986c30b 100644 Binary files a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11b-1.png and b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11b-1.png differ diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_6-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_6-1.png index b25bf26a..47d806c0 100644 Binary files a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_6-1.png and b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_6-1.png differ diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_9-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_9-1.png index dd5d89cd..0c698299 100644 Binary files a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_9-1.png and b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_9-1.png differ diff --git a/docs/dev/articles/web_only/NAFTA_examples.html b/docs/dev/articles/web_only/NAFTA_examples.html index 12499452..09f40a7f 100644 --- a/docs/dev/articles/web_only/NAFTA_examples.html +++ b/docs/dev/articles/web_only/NAFTA_examples.html @@ -101,7 +101,7 @@

Evaluation of example datasets from Attachment 1 to the US EPA SOP for the NAFTA guidance

Johannes Ranke

-

2020-05-27

+

2020-10-08

Source: vignettes/web_only/NAFTA_examples.rmd @@ -138,23 +138,23 @@ ## ## Parameters: ## $SFO -## Estimate Pr(>t) Lower Upper -## parent_0 95.8401 4.67e-21 92.245 99.4357 -## k_parent_sink 0.0102 3.92e-12 0.009 0.0117 -## sigma 4.8230 3.81e-06 3.214 6.4318 +## Estimate Pr(>t) Lower Upper +## parent_0 95.8401 4.67e-21 92.245 99.4357 +## k_parent 0.0102 3.92e-12 0.009 0.0117 +## sigma 4.8230 3.81e-06 3.214 6.4318 ## ## $IORE -## Estimate Pr(>t) Lower Upper -## parent_0 1.01e+02 NA 9.91e+01 1.02e+02 -## k__iore_parent_sink 1.54e-05 NA 4.08e-06 5.84e-05 -## N_parent 2.57e+00 NA 2.25e+00 2.89e+00 -## sigma 1.68e+00 NA 1.12e+00 2.24e+00 +## Estimate Pr(>t) Lower Upper +## parent_0 1.01e+02 NA 9.91e+01 1.02e+02 +## k__iore_parent 1.54e-05 NA 4.08e-06 5.84e-05 +## N_parent 2.57e+00 NA 2.25e+00 2.89e+00 +## sigma 1.68e+00 NA 1.12e+00 2.24e+00 ## ## $DFOP ## Estimate Pr(>t) Lower Upper ## parent_0 9.99e+01 1.41e-26 98.8116 101.0810 ## k1 2.67e-02 5.05e-06 0.0243 0.0295 -## k2 2.86e-12 5.00e-01 0.0000 Inf +## k2 2.17e-12 5.00e-01 0.0000 Inf ## g 6.47e-01 3.67e-06 0.6248 0.6677 ## sigma 1.27e+00 8.91e-06 0.8395 1.6929 ## @@ -163,7 +163,7 @@ ## DT50 DT90 DT50_rep ## SFO 67.7 2.25e+02 6.77e+01 ## IORE 58.2 1.07e+03 3.22e+02 -## DFOP 55.5 4.42e+11 2.42e+11 +## DFOP 55.5 5.83e+11 3.20e+11 ## ## Representative half-life: ## [1] 321.51
@@ -186,23 +186,23 @@ ## ## Parameters: ## $SFO -## Estimate Pr(>t) Lower Upper -## parent_0 96.497 2.32e-24 94.85271 98.14155 -## k_parent_sink 0.008 3.42e-14 0.00737 0.00869 -## sigma 2.295 1.22e-05 1.47976 3.11036 +## Estimate Pr(>t) Lower Upper +## parent_0 96.497 2.32e-24 94.85271 98.14155 +## k_parent 0.008 3.42e-14 0.00737 0.00869 +## sigma 2.295 1.22e-05 1.47976 3.11036 ## ## $IORE -## Estimate Pr(>t) Lower Upper -## parent_0 9.85e+01 1.17e-28 9.79e+01 9.92e+01 -## k__iore_parent_sink 1.53e-04 6.50e-03 7.21e-05 3.26e-04 -## N_parent 1.94e+00 5.88e-13 1.76e+00 2.12e+00 -## sigma 7.49e-01 1.63e-05 4.82e-01 1.02e+00 +## Estimate Pr(>t) Lower Upper +## parent_0 9.85e+01 1.17e-28 9.79e+01 9.92e+01 +## k__iore_parent 1.53e-04 6.50e-03 7.21e-05 3.26e-04 +## N_parent 1.94e+00 5.88e-13 1.76e+00 2.12e+00 +## sigma 7.49e-01 1.63e-05 4.82e-01 1.02e+00 ## ## $DFOP ## Estimate Pr(>t) Lower Upper ## parent_0 9.84e+01 1.24e-27 97.8078 98.9187 ## k1 1.55e-02 4.10e-04 0.0143 0.0167 -## k2 1.16e-11 5.00e-01 0.0000 Inf +## k2 1.04e-11 5.00e-01 0.0000 Inf ## g 6.89e-01 2.92e-03 0.6626 0.7142 ## sigma 6.48e-01 2.38e-05 0.4147 0.8813 ## @@ -211,7 +211,7 @@ ## DT50 DT90 DT50_rep ## SFO 86.6 2.88e+02 8.66e+01 ## IORE 85.5 7.17e+02 2.16e+02 -## DFOP 83.6 9.80e+10 5.98e+10 +## DFOP 83.6 1.09e+11 6.67e+10 ## ## Representative half-life: ## [1] 215.87
@@ -234,23 +234,23 @@ ## ## Parameters: ## $SFO -## Estimate Pr(>t) Lower Upper -## parent_0 94.7759 7.29e-24 92.3478 97.2039 -## k_parent_sink 0.0179 8.02e-16 0.0166 0.0194 -## sigma 3.0696 3.81e-06 2.0456 4.0936 +## Estimate Pr(>t) Lower Upper +## parent_0 94.7759 7.29e-24 92.3478 97.2039 +## k_parent 0.0179 8.02e-16 0.0166 0.0194 +## sigma 3.0696 3.81e-06 2.0456 4.0936 ## ## $IORE -## Estimate Pr(>t) Lower Upper -## parent_0 97.12446 2.63e-26 95.62461 98.62431 -## k__iore_parent_sink 0.00252 1.95e-03 0.00134 0.00472 -## N_parent 1.49587 4.07e-13 1.33896 1.65279 -## sigma 1.59698 5.05e-06 1.06169 2.13227 +## Estimate Pr(>t) Lower Upper +## parent_0 97.12446 2.63e-26 95.62461 98.62431 +## k__iore_parent 0.00252 1.95e-03 0.00134 0.00472 +## N_parent 1.49587 4.07e-13 1.33896 1.65279 +## sigma 1.59698 5.05e-06 1.06169 2.13227 ## ## $DFOP ## Estimate Pr(>t) Lower Upper ## parent_0 9.66e+01 1.57e-25 95.3476 97.8979 ## k1 2.55e-02 7.33e-06 0.0233 0.0278 -## k2 4.90e-11 5.00e-01 0.0000 Inf +## k2 3.88e-11 5.00e-01 0.0000 Inf ## g 8.61e-01 7.55e-06 0.8314 0.8867 ## sigma 1.46e+00 6.93e-06 0.9661 1.9483 ## @@ -259,7 +259,7 @@ ## DT50 DT90 DT50_rep ## SFO 38.6 1.28e+02 3.86e+01 ## IORE 34.0 1.77e+02 5.32e+01 -## DFOP 34.1 6.66e+09 1.41e+10 +## DFOP 34.1 8.42e+09 1.79e+10 ## ## Representative half-life: ## [1] 53.17
@@ -282,23 +282,23 @@ ## ## Parameters: ## $SFO -## Estimate Pr(>t) Lower Upper -## parent_0 96.41796 4.80e-53 93.32245 99.51347 -## k_parent_sink 0.00735 7.64e-21 0.00641 0.00843 -## sigma 7.94557 1.83e-15 6.46713 9.42401 +## Estimate Pr(>t) Lower Upper +## parent_0 96.41796 4.80e-53 93.32245 99.51347 +## k_parent 0.00735 7.64e-21 0.00641 0.00843 +## sigma 7.94557 1.83e-15 6.46713 9.42401 ## ## $IORE -## Estimate Pr(>t) Lower Upper -## parent_0 9.92e+01 NA 9.55e+01 1.03e+02 -## k__iore_parent_sink 1.60e-05 NA 1.45e-07 1.77e-03 -## N_parent 2.45e+00 NA 1.35e+00 3.54e+00 -## sigma 7.42e+00 NA 6.04e+00 8.80e+00 +## Estimate Pr(>t) Lower Upper +## parent_0 9.92e+01 NA 9.55e+01 1.03e+02 +## k__iore_parent 1.60e-05 NA 1.45e-07 1.77e-03 +## N_parent 2.45e+00 NA 1.35e+00 3.54e+00 +## sigma 7.42e+00 NA 6.04e+00 8.80e+00 ## ## $DFOP ## Estimate Pr(>t) Lower Upper ## parent_0 9.89e+01 9.44e-49 95.4640 102.2573 ## k1 1.81e-02 1.75e-01 0.0116 0.0281 -## k2 1.97e-10 5.00e-01 0.0000 Inf +## k2 2.30e-10 5.00e-01 0.0000 Inf ## g 6.06e-01 2.19e-01 0.4826 0.7178 ## sigma 7.40e+00 2.97e-15 6.0201 8.7754 ## @@ -307,7 +307,7 @@ ## DT50 DT90 DT50_rep ## SFO 94.3 3.13e+02 9.43e+01 ## IORE 96.7 1.51e+03 4.55e+02 -## DFOP 96.4 6.97e+09 3.52e+09 +## DFOP 96.4 5.95e+09 3.01e+09 ## ## Representative half-life: ## [1] 454.55 @@ -320,7 +320,7 @@

Example on page 8

For this dataset, the IORE fit does not converge when the default starting values used by mkin for the IORE model are used. Therefore, a lower value for the rate constant is used here.

-
p8 <- nafta(NAFTA_SOP_Attachment[["p8"]], parms.ini = c(k__iore_parent_sink = 1e-3))
+
p8 <- nafta(NAFTA_SOP_Attachment[["p8"]], parms.ini = c(k__iore_parent = 1e-3))
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
plot(p8)
@@ -335,17 +335,17 @@ ## ## Parameters: ## $SFO -## Estimate Pr(>t) Lower Upper -## parent_0 88.16549 6.53e-29 83.37344 92.95754 -## k_parent_sink 0.00803 1.67e-13 0.00674 0.00957 -## sigma 7.44786 4.17e-10 5.66209 9.23363 +## Estimate Pr(>t) Lower Upper +## parent_0 88.16549 6.53e-29 83.37344 92.95754 +## k_parent 0.00803 1.67e-13 0.00674 0.00957 +## sigma 7.44786 4.17e-10 5.66209 9.23363 ## ## $IORE -## Estimate Pr(>t) Lower Upper -## parent_0 9.77e+01 7.03e-35 9.44e+01 1.01e+02 -## k__iore_parent_sink 6.14e-05 3.20e-02 2.12e-05 1.78e-04 -## N_parent 2.27e+00 4.23e-18 2.00e+00 2.54e+00 -## sigma 3.52e+00 5.36e-10 2.67e+00 4.36e+00 +## Estimate Pr(>t) Lower Upper +## parent_0 9.77e+01 7.03e-35 9.44e+01 1.01e+02 +## k__iore_parent 6.14e-05 3.20e-02 2.12e-05 1.78e-04 +## N_parent 2.27e+00 4.23e-18 2.00e+00 2.54e+00 +## sigma 3.52e+00 5.36e-10 2.67e+00 4.36e+00 ## ## $DFOP ## Estimate Pr(>t) Lower Upper @@ -387,23 +387,23 @@ ## ## Parameters: ## $SFO -## Estimate Pr(>t) Lower Upper -## parent_0 88.1933 3.06e-12 79.9447 96.4419 -## k_parent_sink 0.0409 2.07e-07 0.0324 0.0516 -## sigma 7.2429 3.92e-05 4.4768 10.0090 +## Estimate Pr(>t) Lower Upper +## parent_0 88.1933 3.06e-12 79.9447 96.4419 +## k_parent 0.0409 2.07e-07 0.0324 0.0516 +## sigma 7.2429 3.92e-05 4.4768 10.0090 ## ## $IORE -## Estimate Pr(>t) Lower Upper -## parent_0 9.89e+01 1.12e-16 9.54e+01 1.02e+02 -## k__iore_parent_sink 1.93e-05 1.13e-01 3.49e-06 1.06e-04 -## N_parent 2.91e+00 1.45e-09 2.50e+00 3.32e+00 -## sigma 2.35e+00 5.31e-05 1.45e+00 3.26e+00 +## Estimate Pr(>t) Lower Upper +## parent_0 9.89e+01 1.12e-16 9.54e+01 1.02e+02 +## k__iore_parent 1.93e-05 1.13e-01 3.49e-06 1.06e-04 +## N_parent 2.91e+00 1.45e-09 2.50e+00 3.32e+00 +## sigma 2.35e+00 5.31e-05 1.45e+00 3.26e+00 ## ## $DFOP ## Estimate Pr(>t) Lower Upper ## parent_0 9.85e+01 2.54e-20 97.390 99.672 ## k1 1.38e-01 3.52e-05 0.131 0.146 -## k2 6.02e-13 5.00e-01 0.000 Inf +## k2 6.69e-13 5.00e-01 0.000 Inf ## g 6.52e-01 8.13e-06 0.642 0.661 ## sigma 7.88e-01 6.13e-02 0.481 1.095 ## @@ -412,7 +412,7 @@ ## DT50 DT90 DT50_rep ## SFO 16.9 5.63e+01 1.69e+01 ## IORE 11.6 3.37e+02 1.01e+02 -## DFOP 10.5 2.07e+12 1.15e+12 +## DFOP 10.5 1.86e+12 1.04e+12 ## ## Representative half-life: ## [1] 101.43 @@ -422,16 +422,11 @@

Example on page 9, lower panel

p9b <- nafta(NAFTA_SOP_Attachment[["p9b"]])
-
## Warning in sqrt(diag(covar)): NaNs produced
-
## Warning in sqrt(diag(covar_notrans)): NaNs produced
-
## Warning in sqrt(1/diag(V)): NaNs produced
-
## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result is
-## doubtful
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p9b)
+
plot(p9b)

-
print(p9b)
+
print(p9b)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 35.64867 23.22334 35.64867 
@@ -441,24 +436,24 @@
 ## 
 ## Parameters:
 ## $SFO
-##               Estimate   Pr(>t)  Lower   Upper
-## parent_0       94.7123 2.15e-19 93.178 96.2464
-## k_parent_sink   0.0389 4.47e-14  0.037  0.0408
-## sigma           1.5957 1.28e-04  0.932  2.2595
+##          Estimate   Pr(>t)  Lower   Upper
+## parent_0  94.7123 2.15e-19 93.178 96.2464
+## k_parent   0.0389 4.47e-14  0.037  0.0408
+## sigma      1.5957 1.28e-04  0.932  2.2595
 ## 
 ## $IORE
-##                     Estimate   Pr(>t)   Lower  Upper
-## parent_0              93.863 2.32e-18 92.4565 95.269
-## k__iore_parent_sink    0.127 1.85e-02  0.0504  0.321
-## N_parent               0.711 1.88e-05  0.4843  0.937
-## sigma                  1.288 1.76e-04  0.7456  1.830
+##                Estimate   Pr(>t)   Lower  Upper
+## parent_0         93.863 2.32e-18 92.4565 95.269
+## k__iore_parent    0.127 1.85e-02  0.0504  0.321
+## N_parent          0.711 1.88e-05  0.4843  0.937
+## sigma             1.288 1.76e-04  0.7456  1.830
 ## 
 ## $DFOP
 ##          Estimate   Pr(>t)   Lower   Upper
 ## parent_0  94.7123 1.61e-16 93.1355 96.2891
 ## k1         0.0389 1.43e-06  0.0312  0.0485
 ## k2         0.0389 6.67e-03  0.0186  0.0812
-## g          0.7742      NaN      NA      NA
+## g          0.7742 5.00e-01  0.0000  1.0000
 ## sigma      1.5957 2.50e-04  0.9135  2.2779
 ## 
 ## 
@@ -475,12 +470,12 @@
 

Example on page 10

-
p10 <- nafta(NAFTA_SOP_Attachment[["p10"]])
+
p10 <- nafta(NAFTA_SOP_Attachment[["p10"]])
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p10)
+
plot(p10)

-
print(p10)
+
print(p10)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 899.4089 336.4348 899.4089 
@@ -490,25 +485,25 @@
 ## 
 ## Parameters:
 ## $SFO
-##               Estimate   Pr(>t)   Lower    Upper
-## parent_0      101.7315 6.42e-11 91.9259 111.5371
-## k_parent_sink   0.0495 1.70e-07  0.0404   0.0607
-## sigma           8.0152 1.28e-04  4.6813  11.3491
+##          Estimate   Pr(>t)   Lower    Upper
+## parent_0 101.7315 6.42e-11 91.9259 111.5371
+## k_parent   0.0495 1.70e-07  0.0404   0.0607
+## sigma      8.0152 1.28e-04  4.6813  11.3491
 ## 
 ## $IORE
-##                     Estimate   Pr(>t)  Lower   Upper
-## parent_0               96.86 3.32e-12 90.848 102.863
-## k__iore_parent_sink     2.96 7.91e-02  0.687  12.761
-## N_parent                0.00 5.00e-01 -0.372   0.372
-## sigma                   4.90 1.77e-04  2.837   6.968
+##                Estimate   Pr(>t)  Lower   Upper
+## parent_0          96.86 3.32e-12 90.848 102.863
+## k__iore_parent     2.96 7.91e-02  0.687  12.761
+## N_parent           0.00 5.00e-01 -0.372   0.372
+## sigma              4.90 1.77e-04  2.837   6.968
 ## 
 ## $DFOP
-##          Estimate   Pr(>t)   Lower    Upper
-## parent_0 101.7315 1.41e-09 91.6534 111.8097
-## k1         0.0495 6.42e-04  0.0301   0.0814
-## k2         0.0495 1.66e-02  0.0200   0.1225
-## g          0.6634 5.00e-01  0.0000   1.0000
-## sigma      8.0152 2.50e-04  4.5886  11.4418
+##          Estimate   Pr(>t)   Lower   Upper
+## parent_0 101.7315 1.41e-09 91.6534 111.810
+## k1         0.0495 6.48e-04  0.0303   0.081
+## k2         0.0495 1.67e-02  0.0201   0.122
+## g          0.6634 5.00e-01  0.0000   1.000
+## sigma      8.0152 2.50e-04  4.5886  11.442
 ## 
 ## 
 ## DTx values:
@@ -528,12 +523,12 @@
 

Example on page 11

-
p11 <- nafta(NAFTA_SOP_Attachment[["p11"]])
+
p11 <- nafta(NAFTA_SOP_Attachment[["p11"]])
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p11)
+
plot(p11)

-
print(p11)
+
print(p11)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 579.6805 204.7932 144.7783 
@@ -543,17 +538,17 @@
 ## 
 ## Parameters:
 ## $SFO
-##               Estimate   Pr(>t)    Lower    Upper
-## parent_0      96.15820 4.83e-13 90.24934 1.02e+02
-## k_parent_sink  0.00321 4.71e-05  0.00222 4.64e-03
-## sigma          6.43473 1.28e-04  3.75822 9.11e+00
+##          Estimate   Pr(>t)    Lower    Upper
+## parent_0 96.15820 4.83e-13 90.24934 1.02e+02
+## k_parent  0.00321 4.71e-05  0.00222 4.64e-03
+## sigma     6.43473 1.28e-04  3.75822 9.11e+00
 ## 
 ## $IORE
-##                     Estimate Pr(>t)    Lower    Upper
-## parent_0            1.05e+02     NA 9.90e+01 1.10e+02
-## k__iore_parent_sink 3.11e-17     NA 1.35e-20 7.18e-14
-## N_parent            8.36e+00     NA 6.62e+00 1.01e+01
-## sigma               3.82e+00     NA 2.21e+00 5.44e+00
+##                Estimate Pr(>t)    Lower    Upper
+## parent_0       1.05e+02     NA 9.90e+01 1.10e+02
+## k__iore_parent 3.11e-17     NA 1.35e-20 7.18e-14
+## N_parent       8.36e+00     NA 6.62e+00 1.01e+01
+## sigma          3.82e+00     NA 2.21e+00 5.44e+00
 ## 
 ## $DFOP
 ##          Estimate   Pr(>t)    Lower    Upper
@@ -571,7 +566,7 @@
 ## DFOP 4.21e+11 2.64e+12 9.56e+11
 ## 
 ## Representative half-life:
-## [1] 41148169
+## [1] 41148171

In this case, the DFOP fit reported for PestDF resulted in a negative value for the slower rate constant, which is not possible in mkin. The other results are in agreement.

@@ -582,14 +577,14 @@

Example on page 12, upper panel

-
p12a <- nafta(NAFTA_SOP_Attachment[["p12a"]])
+
p12a <- nafta(NAFTA_SOP_Attachment[["p12a"]])
## Warning in summary.mkinfit(x): Could not calculate correlation; no covariance
 ## matrix
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p12a)
+
plot(p12a)

-
print(p12a)
+
print(p12a)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 695.4440 220.0685 695.4440 
@@ -599,23 +594,23 @@
 ## 
 ## Parameters:
 ## $SFO
-##               Estimate   Pr(>t)  Lower   Upper
-## parent_0       100.521 8.75e-12 92.461 108.581
-## k_parent_sink    0.124 3.61e-08  0.104   0.148
-## sigma            7.048 1.28e-04  4.116   9.980
+##          Estimate   Pr(>t)  Lower   Upper
+## parent_0  100.521 8.75e-12 92.461 108.581
+## k_parent    0.124 3.61e-08  0.104   0.148
+## sigma       7.048 1.28e-04  4.116   9.980
 ## 
 ## $IORE
-##                     Estimate Pr(>t) Lower Upper
-## parent_0              96.823     NA    NA    NA
-## k__iore_parent_sink    2.436     NA    NA    NA
-## N_parent               0.263     NA    NA    NA
-## sigma                  3.965     NA    NA    NA
+##                Estimate Pr(>t) Lower Upper
+## parent_0         96.823     NA    NA    NA
+## k__iore_parent    2.436     NA    NA    NA
+## N_parent          0.263     NA    NA    NA
+## sigma             3.965     NA    NA    NA
 ## 
 ## $DFOP
 ##          Estimate   Pr(>t)   Lower   Upper
 ## parent_0  100.521 2.74e-10 92.2366 108.805
-## k1          0.124 5.74e-06  0.0958   0.161
-## k2          0.124 6.61e-02  0.0319   0.484
+## k1          0.124 5.75e-06  0.0958   0.161
+## k2          0.124 6.72e-02  0.0319   0.484
 ## g           0.877 5.00e-01  0.0000   1.000
 ## sigma       7.048 2.50e-04  4.0349  10.061
 ## 
@@ -632,7 +627,7 @@
 

Example on page 12, lower panel

-
p12b <- nafta(NAFTA_SOP_Attachment[["p12b"]])
+
p12b <- nafta(NAFTA_SOP_Attachment[["p12b"]])
## Warning in sqrt(diag(covar)): NaNs produced
## Warning in qt(alpha/2, rdf): NaNs produced
## Warning in qt(1 - alpha/2, rdf): NaNs produced
@@ -643,9 +638,9 @@ ## doubtful
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p12b)
+
plot(p12b)

-
print(p12b)
+
print(p12b)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 58.90242 19.06353 58.90242 
@@ -655,17 +650,17 @@
 ## 
 ## Parameters:
 ## $SFO
-##               Estimate  Pr(>t)   Lower    Upper
-## parent_0       97.6840 0.00039 85.9388 109.4292
-## k_parent_sink   0.0589 0.00261  0.0431   0.0805
-## sigma           3.4323 0.04356 -1.2377   8.1023
+##          Estimate  Pr(>t)   Lower    Upper
+## parent_0  97.6840 0.00039 85.9388 109.4292
+## k_parent   0.0589 0.00261  0.0431   0.0805
+## sigma      3.4323 0.04356 -1.2377   8.1023
 ## 
 ## $IORE
-##                     Estimate Pr(>t)     Lower  Upper
-## parent_0              95.523 0.0055 74.539157 116.51
-## k__iore_parent_sink    0.333 0.1433  0.000717 154.57
-## N_parent               0.568 0.0677 -0.989464   2.13
-## sigma                  1.953 0.0975 -5.893100   9.80
+##                Estimate Pr(>t)     Lower  Upper
+## parent_0         95.523 0.0055 74.539157 116.51
+## k__iore_parent    0.333 0.1433  0.000717 154.57
+## N_parent          0.568 0.0677 -0.989464   2.13
+## sigma             1.953 0.0975 -5.893100   9.80
 ## 
 ## $DFOP
 ##          Estimate Pr(>t) Lower Upper
@@ -688,16 +683,12 @@
 

Example on page 13

-
p13 <- nafta(NAFTA_SOP_Attachment[["p13"]])
-
## Warning in sqrt(diag(covar)): NaNs produced
-
## Warning in sqrt(1/diag(V)): NaNs produced
-
## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result is
-## doubtful
+
p13 <- nafta(NAFTA_SOP_Attachment[["p13"]])
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p13)
+
plot(p13)

-
print(p13)
+
print(p13)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 174.5971 142.3951 174.5971 
@@ -707,24 +698,24 @@
 ## 
 ## Parameters:
 ## $SFO
-##               Estimate   Pr(>t)    Lower    Upper
-## parent_0      92.73500 5.99e-17 89.61936 95.85065
-## k_parent_sink  0.00258 2.42e-09  0.00223  0.00299
-## sigma          3.41172 7.07e-05  2.05455  4.76888
+##          Estimate   Pr(>t)    Lower    Upper
+## parent_0 92.73500 5.99e-17 89.61936 95.85065
+## k_parent  0.00258 2.42e-09  0.00223  0.00299
+## sigma     3.41172 7.07e-05  2.05455  4.76888
 ## 
 ## $IORE
-##                     Estimate   Pr(>t)    Lower  Upper
-## parent_0             91.6016 6.34e-16 88.53086 94.672
-## k__iore_parent_sink   0.0396 2.36e-01  0.00207  0.759
-## N_parent              0.3541 1.46e-01 -0.35153  1.060
-## sigma                 3.0811 9.64e-05  1.84296  4.319
+##                Estimate   Pr(>t)    Lower  Upper
+## parent_0        91.6016 6.34e-16 88.53086 94.672
+## k__iore_parent   0.0396 2.36e-01  0.00207  0.759
+## N_parent         0.3541 1.46e-01 -0.35153  1.060
+## sigma            3.0811 9.64e-05  1.84296  4.319
 ## 
 ## $DFOP
 ##          Estimate   Pr(>t)    Lower    Upper
 ## parent_0 92.73500 9.25e-15 8.95e+01 9.59e+01
-## k1        0.00258 4.28e-01 1.70e-08 3.92e+02
+## k1        0.00258 4.28e-01 1.45e-08 4.61e+02
 ## k2        0.00258 3.69e-08 2.20e-03 3.03e-03
-## g         0.00442 5.00e-01       NA       NA
+## g         0.00442 5.00e-01 0.00e+00 1.00e+00
 ## sigma     3.41172 1.35e-04 2.02e+00 4.80e+00
 ## 
 ## 
@@ -741,16 +732,16 @@
 

DT50 not observed in the study and DFOP problems in PestDF

-
p14 <- nafta(NAFTA_SOP_Attachment[["p14"]])
+
p14 <- nafta(NAFTA_SOP_Attachment[["p14"]])
## Warning in sqrt(diag(covar)): NaNs produced
## Warning in sqrt(1/diag(V)): NaNs produced
## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result is
 ## doubtful
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p14)
+
plot(p14)

-
print(p14)
+
print(p14)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 48.43249 28.67746 27.26248 
@@ -760,23 +751,23 @@
 ## 
 ## Parameters:
 ## $SFO
-##               Estimate   Pr(>t)    Lower    Upper
-## parent_0      99.47124 2.06e-30 98.42254 1.01e+02
-## k_parent_sink  0.00279 3.75e-15  0.00256 3.04e-03
-## sigma          1.55616 3.81e-06  1.03704 2.08e+00
+##          Estimate   Pr(>t)    Lower    Upper
+## parent_0 99.47124 2.06e-30 98.42254 1.01e+02
+## k_parent  0.00279 3.75e-15  0.00256 3.04e-03
+## sigma     1.55616 3.81e-06  1.03704 2.08e+00
 ## 
 ## $IORE
-##                     Estimate Pr(>t) Lower Upper
-## parent_0            1.00e+02     NA   NaN   NaN
-## k__iore_parent_sink 9.44e-08     NA   NaN   NaN
-## N_parent            3.31e+00     NA   NaN   NaN
-## sigma               1.20e+00     NA 0.796   1.6
+##                Estimate Pr(>t) Lower Upper
+## parent_0       1.00e+02     NA   NaN   NaN
+## k__iore_parent 9.44e-08     NA   NaN   NaN
+## N_parent       3.31e+00     NA   NaN   NaN
+## sigma          1.20e+00     NA 0.796   1.6
 ## 
 ## $DFOP
 ##          Estimate   Pr(>t)    Lower    Upper
 ## parent_0 1.00e+02 2.96e-28 99.40280 101.2768
 ## k1       9.53e-03 1.20e-01  0.00638   0.0143
-## k2       7.29e-12 5.00e-01  0.00000      Inf
+## k2       7.70e-12 5.00e-01  0.00000      Inf
 ## g        3.98e-01 2.19e-01  0.30481   0.4998
 ## sigma    1.17e+00 7.68e-06  0.77406   1.5610
 ## 
@@ -785,7 +776,7 @@
 ##          DT50     DT90 DT50_rep
 ## SFO  2.48e+02 8.25e+02 2.48e+02
 ## IORE 4.34e+02 2.22e+04 6.70e+03
-## DFOP 2.54e+10 2.46e+11 9.51e+10
+## DFOP 2.41e+10 2.33e+11 9.00e+10
 ## 
 ## Representative half-life:
 ## [1] 6697.44
@@ -794,17 +785,16 @@

N is less than 1 and DFOP fraction parameter is below zero

-
p15a <- nafta(NAFTA_SOP_Attachment[["p15a"]])
+
p15a <- nafta(NAFTA_SOP_Attachment[["p15a"]])
## Warning in sqrt(diag(covar)): NaNs produced
-
## Warning in sqrt(diag(covar_notrans)): NaNs produced
## Warning in sqrt(1/diag(V)): NaNs produced
## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result is
 ## doubtful
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p15a)
+
plot(p15a)

-
print(p15a)
+
print(p15a)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 245.5248 135.0132 245.5248 
@@ -814,25 +804,25 @@
 ## 
 ## Parameters:
 ## $SFO
-##               Estimate   Pr(>t)    Lower   Upper
-## parent_0      97.96751 2.00e-15 94.32049 101.615
-## k_parent_sink  0.00952 4.93e-09  0.00824   0.011
-## sigma          4.18778 1.28e-04  2.44588   5.930
+##          Estimate   Pr(>t)    Lower   Upper
+## parent_0 97.96751 2.00e-15 94.32049 101.615
+## k_parent  0.00952 4.93e-09  0.00824   0.011
+## sigma     4.18778 1.28e-04  2.44588   5.930
 ## 
 ## $IORE
-##                     Estimate   Pr(>t)  Lower  Upper
-## parent_0              95.874 2.94e-15 92.937 98.811
-## k__iore_parent_sink    0.629 2.11e-01  0.044  8.982
-## N_parent               0.000 5.00e-01 -0.642  0.642
-## sigma                  3.105 1.78e-04  1.795  4.416
+##                Estimate   Pr(>t)  Lower  Upper
+## parent_0         95.874 2.94e-15 92.937 98.811
+## k__iore_parent    0.629 2.11e-01  0.044  8.982
+## N_parent          0.000 5.00e-01 -0.642  0.642
+## sigma             3.105 1.78e-04  1.795  4.416
 ## 
 ## $DFOP
-##          Estimate   Pr(>t)    Lower    Upper
-## parent_0 97.96752 2.85e-13 94.21914 101.7159
-## k1        0.00952 6.80e-02  0.00277   0.0327
-## k2        0.00952 3.82e-06  0.00902   0.0100
-## g         0.17247      NaN       NA       NA
-## sigma     4.18778 2.50e-04  2.39747   5.9781
+##          Estimate Pr(>t)    Lower    Upper
+## parent_0 97.96752     NA 94.21914 101.7159
+## k1        0.00952     NA  0.00241   0.0377
+## k2        0.00952     NA  0.00747   0.0121
+## g         0.17247     NA       NA       NA
+## sigma     4.18778     NA  2.39747   5.9781
 ## 
 ## 
 ## DTx values:
@@ -843,16 +833,16 @@
 ## 
 ## Representative half-life:
 ## [1] 41.33
-
p15b <- nafta(NAFTA_SOP_Attachment[["p15b"]])
+
p15b <- nafta(NAFTA_SOP_Attachment[["p15b"]])
## Warning in sqrt(diag(covar)): NaNs produced
## Warning in sqrt(1/diag(V)): NaNs produced
## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result is
 ## doubtful
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The half-life obtained from the IORE model may be used
-
plot(p15b)
+
plot(p15b)

-
print(p15b)
+
print(p15b)
## Sums of squares:
 ##       SFO      IORE      DFOP 
 ## 106.91629  68.55574 106.91629 
@@ -862,25 +852,25 @@
 ## 
 ## Parameters:
 ## $SFO
-##               Estimate   Pr(>t)    Lower    Upper
-## parent_0      1.01e+02 3.06e-17 98.31594 1.03e+02
-## k_parent_sink 4.86e-03 2.48e-10  0.00435 5.42e-03
-## sigma         2.76e+00 1.28e-04  1.61402 3.91e+00
+##          Estimate   Pr(>t)    Lower    Upper
+## parent_0 1.01e+02 3.06e-17 98.31594 1.03e+02
+## k_parent 4.86e-03 2.48e-10  0.00435 5.42e-03
+## sigma    2.76e+00 1.28e-04  1.61402 3.91e+00
 ## 
 ## $IORE
-##                     Estimate   Pr(>t)    Lower  Upper
-## parent_0               99.83 1.81e-16 97.51349 102.14
-## k__iore_parent_sink     0.38 3.22e-01  0.00352  41.05
-## N_parent                0.00 5.00e-01 -1.07695   1.08
-## sigma                   2.21 2.57e-04  1.23245   3.19
+##                Estimate   Pr(>t)    Lower  Upper
+## parent_0          99.83 1.81e-16 97.51348 102.14
+## k__iore_parent     0.38 3.22e-01  0.00352  41.05
+## N_parent           0.00 5.00e-01 -1.07696   1.08
+## sigma              2.21 2.57e-04  1.23245   3.19
 ## 
 ## $DFOP
 ##          Estimate Pr(>t)    Lower    Upper
-## parent_0 1.01e+02     NA 9.82e+01 1.04e+02
-## k1       4.86e-03     NA 6.75e-04 3.49e-02
-## k2       4.86e-03     NA 3.37e-03 6.99e-03
+## parent_0 1.01e+02     NA 98.24464 1.04e+02
+## k1       4.86e-03     NA  0.00068 3.47e-02
+## k2       4.86e-03     NA  0.00338 6.99e-03
 ## g        1.50e-01     NA       NA       NA
-## sigma    2.76e+00     NA 1.58e+00 3.94e+00
+## sigma    2.76e+00     NA  1.58208 3.94e+00
 ## 
 ## 
 ## DTx values:
@@ -896,14 +886,14 @@
 

The DFOP fraction parameter is greater than 1

-
p16 <- nafta(NAFTA_SOP_Attachment[["p16"]])
+
p16 <- nafta(NAFTA_SOP_Attachment[["p16"]])
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
## The representative half-life of the IORE model is longer than the one corresponding
## to the terminal degradation rate found with the DFOP model.
## The representative half-life obtained from the DFOP model may be used
-
plot(p16)
+
plot(p16)

-
print(p16)
+
print(p16)
## Sums of squares:
 ##      SFO     IORE     DFOP 
 ## 3831.804 2062.008 1550.980 
@@ -913,22 +903,22 @@
 ## 
 ## Parameters:
 ## $SFO
-##               Estimate   Pr(>t)  Lower Upper
-## parent_0        71.953 2.33e-13 60.509 83.40
-## k_parent_sink    0.159 4.86e-05  0.102  0.25
-## sigma           11.302 1.25e-08  8.308 14.30
+##          Estimate   Pr(>t)  Lower Upper
+## parent_0   71.953 2.33e-13 60.509 83.40
+## k_parent    0.159 4.86e-05  0.102  0.25
+## sigma      11.302 1.25e-08  8.308 14.30
 ## 
 ## $IORE
-##                     Estimate   Pr(>t)    Lower    Upper
-## parent_0            8.74e+01 2.48e-16 7.72e+01 97.52972
-## k__iore_parent_sink 4.55e-04 2.16e-01 3.48e-05  0.00595
-## N_parent            2.70e+00 1.21e-08 1.99e+00  3.40046
-## sigma               8.29e+00 1.61e-08 6.09e+00 10.49062
+##                Estimate   Pr(>t)    Lower    Upper
+## parent_0       8.74e+01 2.48e-16 7.72e+01 97.52972
+## k__iore_parent 4.55e-04 2.16e-01 3.48e-05  0.00595
+## N_parent       2.70e+00 1.21e-08 1.99e+00  3.40046
+## sigma          8.29e+00 1.61e-08 6.09e+00 10.49062
 ## 
 ## $DFOP
 ##          Estimate   Pr(>t)   Lower  Upper
 ## parent_0  88.5333 7.40e-18 79.9836 97.083
-## k1        18.5561 5.00e-01  0.0000    Inf
+## k1        18.5560 5.00e-01  0.0000    Inf
 ## k2         0.0776 1.41e-05  0.0518  0.116
 ## g          0.4733 1.41e-09  0.3674  0.582
 ## sigma      7.1902 2.11e-08  5.2785  9.102
diff --git a/docs/dev/articles/web_only/benchmarks.html b/docs/dev/articles/web_only/benchmarks.html
index 9e53f113..30b7a879 100644
--- a/docs/dev/articles/web_only/benchmarks.html
+++ b/docs/dev/articles/web_only/benchmarks.html
@@ -101,7 +101,7 @@
       

Benchmark timings for mkin

Johannes Ranke

-

2020-05-27

+

2020-10-08

Source: vignettes/web_only/benchmarks.rmd @@ -132,13 +132,20 @@ DFOP_SFO <- mkinmod( parent = mkinsub("FOMC", "m1"), m1 = mkinsub("SFO")) -t3 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_D)))[["elapsed"]] -t4 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_D), +t3 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_D)))[["elapsed"]]
+
## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...):
+## Shapiro-Wilk test for standardized residuals: p = 0.0165
+
## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...):
+## Shapiro-Wilk test for standardized residuals: p = 0.0499
+
+## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...):
+## Shapiro-Wilk test for standardized residuals: p = 0.0499
+
t4 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_D),
     error_model = "tc"))[["elapsed"]]
 t5 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_D),
     error_model = "obs"))[["elapsed"]]

Two metabolites, synthetic data:

-
m_synth_SFO_lin <- mkinmod(parent = mkinsub("SFO", "M1"),
+
m_synth_SFO_lin <- mkinmod(parent = mkinsub("SFO", "M1"),
                            M1 = mkinsub("SFO", "M2"),
                            M2 = mkinsub("SFO"),
                            use_of_ff = "max", quiet = TRUE)
@@ -153,9 +160,10 @@
 DFOP_par_c <- synthetic_data_for_UBA_2014[[12]]$data
 
 t6 <- system.time(mmkin_bench(list(m_synth_SFO_lin), list(SFO_lin_a)))[["elapsed"]]
-t7 <- system.time(mmkin_bench(list(m_synth_DFOP_par), list(DFOP_par_c)))[["elapsed"]]
-
-t8 <- system.time(mmkin_bench(list(m_synth_SFO_lin), list(SFO_lin_a),
+t7 <- system.time(mmkin_bench(list(m_synth_DFOP_par), list(DFOP_par_c)))[["elapsed"]]
+
## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...):
+## Shapiro-Wilk test for standardized residuals: p = 0.000174
+
t8 <- system.time(mmkin_bench(list(m_synth_SFO_lin), list(SFO_lin_a),
     error_model = "tc"))[["elapsed"]]
 t9 <- system.time(mmkin_bench(list(m_synth_DFOP_par), list(DFOP_par_c),
     error_model = "tc"))[["elapsed"]]
@@ -164,7 +172,7 @@
     error_model = "obs"))[["elapsed"]]
 t11 <- system.time(mmkin_bench(list(m_synth_DFOP_par), list(DFOP_par_c),
     error_model = "obs"))[["elapsed"]]
-
mkin_benchmarks[system_string, paste0("t", 1:11)] <-
+
mkin_benchmarks[system_string, paste0("t", 1:11)] <-
   c(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11)
 save(mkin_benchmarks, file = "~/git/mkin/vignettes/web_only/mkin_benchmarks.rda")
@@ -216,8 +224,8 @@ 0.9.50.3 -1.746 -3.716 +1.707 +4.062 @@ -272,9 +280,9 @@ 0.9.50.3 -1.385 -6.562 -2.736 +1.372 +6.233 +2.779 @@ -350,12 +358,12 @@ 0.9.50.3 -0.760 -1.226 -1.455 -4.198 -2.007 -2.976 +0.768 +1.235 +1.302 +2.921 +2.078 +3.040 diff --git a/docs/dev/articles/web_only/compiled_models.html b/docs/dev/articles/web_only/compiled_models.html index 997e90ea..055d0646 100644 --- a/docs/dev/articles/web_only/compiled_models.html +++ b/docs/dev/articles/web_only/compiled_models.html @@ -101,7 +101,7 @@

Performance benefit by using compiled model definitions in mkin

Johannes Ranke

-

2020-05-27

+

2020-10-08

Source: vignettes/web_only/compiled_models.rmd @@ -153,10 +153,10 @@ print("R package rbenchmark is not available") }
##                    test replications relative elapsed
-## 4            analytical            1    1.000   0.201
-## 3     deSolve, compiled            1    1.711   0.344
-## 2      Eigenvalue based            1    1.960   0.394
-## 1 deSolve, not compiled            1   39.881   8.016
+## 4 analytical 1 1.000 0.195 +## 3 deSolve, compiled 1 1.769 0.345 +## 2 Eigenvalue based 1 2.087 0.407 +## 1 deSolve, not compiled 1 42.656 8.318

We see that using the compiled model is by more than a factor of 10 faster than using deSolve without compiled code.

@@ -182,11 +182,11 @@ }
## Successfully compiled differential equation model from auto-generated C code.
##                    test replications relative elapsed
-## 2     deSolve, compiled            1    1.000   0.467
-## 1 deSolve, not compiled            1   30.244  14.124
-

Here we get a performance benefit of a factor of 30 using the version of the differential equation model compiled from C code!

+## 2 deSolve, compiled 1 1.000 0.474 +## 1 deSolve, not compiled 1 30.909 14.651
+

Here we get a performance benefit of a factor of 31 using the version of the differential equation model compiled from C code!

This vignette was built with mkin 0.9.50.3 on

-
## R version 4.0.0 (2020-04-24)
+
## R version 4.0.2 (2020-06-22)
 ## Platform: x86_64-pc-linux-gnu (64-bit)
 ## Running under: Debian GNU/Linux 10 (buster)
## CPU model: AMD Ryzen 7 1700 Eight-Core Processor
diff --git a/docs/dev/index.html b/docs/dev/index.html index 37cd7d50..12df433a 100644 --- a/docs/dev/index.html +++ b/docs/dev/index.html @@ -127,7 +127,7 @@

Documentation

-

The HTML documentation of the latest version released to CRAN is available at jrwb.de and github. Documentation of the development version is found in the ‘dev’ subdirectory.

+

The HTML documentation of the latest version released to CRAN is available at jrwb.de and github. Documentation of the development version is found in the ‘dev’ subdirectory.

@@ -152,7 +152,7 @@

GUI

-

There is a graphical user interface that may be useful. Please refer to its documentation page for installation instructions and a manual.

+

There is a graphical user interface that may be useful. Please refer to its documentation page for installation instructions and a manual.

@@ -166,10 +166,10 @@

mkin could not have been written without me being introduced to regulatory fate modelling of pesticides by Adrian Gurney during my time at Harlan Laboratories Ltd (formerly RCC Ltd). mkin greatly profits from and largely follows the work done by the FOCUS Degradation Kinetics Workgroup, as detailed in their guidance document from 2006, slightly updated in 2011 and in 2014.

Also, it was inspired by the first version of KinGUI developed by BayerCropScience, which is based on the MatLab runtime environment.

The companion package kinfit (now deprecated) was started in 2008 and first published on CRAN on 01 May 2010.

-

The first mkin code was published on 11 May 2010 and the first CRAN version on 18 May 2010.

+

The first mkin code was published on 11 May 2010 and the first CRAN version on 18 May 2010.

In 2011, Bayer Crop Science started to distribute an R based successor to KinGUI named KinGUII whose R code is based on mkin, but which added, among other refinements, a closed source graphical user interface (GUI), iteratively reweighted least squares (IRLS) optimisation of the variance for each of the observed variables, and Markov Chain Monte Carlo (MCMC) simulation functionality, similar to what is available e.g. in the FME package.

Somewhat in parallel, Syngenta has sponsored the development of an mkin and KinGUII based GUI application called CAKE, which also adds IRLS and MCMC, is more limited in the model formulation, but puts more weight on usability. CAKE is available for download from the CAKE website, where you can also find a zip archive of the R scripts derived from mkin, published under the GPL license.

-

Finally, there is KineticEval, which contains a further development of the scripts used for KinGUII, so the different tools will hopefully be able to learn from each other in the future as well.

+

Finally, there is KineticEval, which contains a further development of the scripts used for KinGUII, so the different tools will hopefully be able to learn from each other in the future as well.

@@ -203,7 +203,7 @@ Ranke J, Wöltjen J, Meinecke S (2018) Comparison of software tools for kinetic
  • Browse source code at
    http://​github.com/​jranke/​mkin/​
  • -
  • Report a bug at
    http://​github.com/​jranke/​mkin/​issues +
  • Report a bug at
    http://​github.com/​jranke/​mkin/​issues/​
  • diff --git a/docs/dev/news/index.html b/docs/dev/news/index.html index 7e39aa46..dad1622d 100644 --- a/docs/dev/news/index.html +++ b/docs/dev/news/index.html @@ -141,15 +141,20 @@ Source: NEWS.md

    -
    +

    -mkin 0.9.50.3 (unreleased) Unreleased +mkin 0.9.50.3 Unreleased

    • ‘parms’: Add a method for mmkin objects

    • -
    • ‘saemix_model’, ‘saemix_data’: Helper functions to fit nonlinear mixed-effects models for mmkin row objects using the saemix package

    • ‘mmkin’ and ‘confint(method = ’profile’): Use all cores detected by parallel::detectCores() per default

    • ‘confint(method = ’profile’): Choose accuracy based on ‘rel_tol’ argument, relative to the bounds obtained by the quadratic approximation

    • +
    • ‘mkinfit’: Make ‘use_of_ff’ = “max” also the default for models specified using short names like “SFO” or “FOMC”

    • +
    • ‘mkinfit’: Run ‘stats::shapiro.test()’ on standardized residuals and warn if p < 0.05

    • +
    • ‘mkinfit’: ‘error_model_algorithm’ = ‘d_3’ does not fail if direct fitting fails, but reports that the results for the threestep algorithm are returned

    • +
    • ‘mmkin’: Do not fail any more if one of the fits fails, but assign the try-error to the respective position in the mmkin object

    • +
    • ‘mkinfit’: Ignore components of state.ini that do not correspond to state variables in the model

    • +
    • ‘endpoints’: Back-calculate DT50 value from DT90 also for the biphasic models DFOP, HS and SFORB

    @@ -765,7 +770,7 @@ mkin 0.9-27 (2014-05-10) 2014-05-10
      -
    • Fork the GUI into a separate package gmkin

    • +
    • Fork the GUI into a separate package gmkin

    • DESCRIPTION, NAMESPACE, TODO: Adapt and add copyright information

    • Remove files belonging to the GUI

    • Possibility to fit without parameter transformations, using bounds as implemented in FME

    • diff --git a/docs/dev/pkgdown.yml b/docs/dev/pkgdown.yml index a7e9e750..d80606cc 100644 --- a/docs/dev/pkgdown.yml +++ b/docs/dev/pkgdown.yml @@ -10,7 +10,7 @@ articles: NAFTA_examples: web_only/NAFTA_examples.html benchmarks: web_only/benchmarks.html compiled_models: web_only/compiled_models.html -last_built: 2020-05-27T06:53Z +last_built: 2020-10-08T07:26Z urls: reference: https://pkgdown.jrwb.de/mkin/reference article: https://pkgdown.jrwb.de/mkin/articles diff --git a/docs/dev/reference/AIC.mmkin.html b/docs/dev/reference/AIC.mmkin.html index 517aff12..a1418b82 100644 --- a/docs/dev/reference/AIC.mmkin.html +++ b/docs/dev/reference/AIC.mmkin.html @@ -73,7 +73,7 @@ same dataset." /> mkin - 0.9.50.3 + 0.9.50.3
    @@ -192,13 +192,13 @@ dataframe if there are several fits in the column).

    # of parameters, the higher (worse) the AIC AIC(f[, "FOCUS A"])
    #> df AIC #> SFO 3 55.28197 -#> FOMC 4 57.28202 +#> FOMC 4 57.28211 #> DFOP 5 59.28197
    AIC(f[, "FOCUS A"], k = 0) # If we do not penalize additional parameters, we get nearly the same
    #> df AIC #> SFO 3 49.28197 -#> FOMC 4 49.28202 +#> FOMC 4 49.28211 #> DFOP 5 49.28197
    BIC(f[, "FOCUS A"]) # Comparing the BIC gives a very similar picture
    #> df BIC #> SFO 3 55.52030 -#> FOMC 4 57.59979 +#> FOMC 4 57.59987 #> DFOP 5 59.67918
    # For FOCUS C, the more complex models fit better AIC(f[, "FOCUS C"])
    #> df AIC diff --git a/docs/dev/reference/DFOP.solution.html b/docs/dev/reference/DFOP.solution.html index 48c3aabb..e7c69fc3 100644 --- a/docs/dev/reference/DFOP.solution.html +++ b/docs/dev/reference/DFOP.solution.html @@ -73,7 +73,7 @@ two exponential decline functions." /> mkin - 0.9.50.3 + 0.9.50.3
    diff --git a/docs/dev/reference/FOMC.solution.html b/docs/dev/reference/FOMC.solution.html index 8ed22157..f89f87c9 100644 --- a/docs/dev/reference/FOMC.solution.html +++ b/docs/dev/reference/FOMC.solution.html @@ -73,7 +73,7 @@ a decreasing rate constant." /> mkin - 0.9.50.3 + 0.9.50.3
    diff --git a/docs/dev/reference/HS.solution.html b/docs/dev/reference/HS.solution.html index 5053542a..4622ac80 100644 --- a/docs/dev/reference/HS.solution.html +++ b/docs/dev/reference/HS.solution.html @@ -73,7 +73,7 @@ between them." /> mkin - 0.9.50.3 + 0.9.50.3 diff --git a/docs/dev/reference/IORE.solution.html b/docs/dev/reference/IORE.solution.html index 9db7447c..26a34c73 100644 --- a/docs/dev/reference/IORE.solution.html +++ b/docs/dev/reference/IORE.solution.html @@ -73,7 +73,7 @@ a concentration dependent rate constant." /> mkin - 0.9.50.3 + 0.9.50.3 diff --git a/docs/dev/reference/SFO.solution.html b/docs/dev/reference/SFO.solution.html index 02b3cf22..930c2a97 100644 --- a/docs/dev/reference/SFO.solution.html +++ b/docs/dev/reference/SFO.solution.html @@ -72,7 +72,7 @@ mkin - 0.9.50.3 + 0.9.50.3 diff --git a/docs/dev/reference/SFORB.solution.html b/docs/dev/reference/SFORB.solution.html index 87d39b4e..845377a2 100644 --- a/docs/dev/reference/SFORB.solution.html +++ b/docs/dev/reference/SFORB.solution.html @@ -76,7 +76,7 @@ and no substance in the bound fraction." /> mkin - 0.9.50.3 + 0.9.50.3 diff --git a/docs/dev/reference/add_err.html b/docs/dev/reference/add_err.html index a4317cd7..852ae0d9 100644 --- a/docs/dev/reference/add_err.html +++ b/docs/dev/reference/add_err.html @@ -74,7 +74,7 @@ may depend on the predicted value and is specified as a standard deviation." /> mkin - 0.9.50.3 + 0.9.50.3 diff --git a/docs/dev/reference/confint.mkinfit.html b/docs/dev/reference/confint.mkinfit.html index 074bed3e..5b683355 100644 --- a/docs/dev/reference/confint.mkinfit.html +++ b/docs/dev/reference/confint.mkinfit.html @@ -258,15 +258,15 @@ Profile-Likelihood Based Confidence Intervals, Applied Statistics, 37,

    Examples

    f <- mkinfit("SFO", FOCUS_2006_C, quiet = TRUE) -confint(f, method = "quadratic")
    #> 2.5% 97.5% -#> parent_0 71.8242430 93.1600766 -#> k_parent_sink 0.2109541 0.4440528 -#> sigma 1.9778868 7.3681380
    +confint(f, method = "quadratic")
    #> 2.5% 97.5% +#> parent_0 71.8242430 93.1600766 +#> k_parent 0.2109541 0.4440528 +#> sigma 1.9778868 7.3681380
    # \dontrun{ -confint(f, method = "profile")
    #> Profiling the likelihood
    #> 2.5% 97.5% -#> parent_0 73.0641834 92.1392181 -#> k_parent_sink 0.2170293 0.4235348 -#> sigma 3.1307772 8.0628314
    +confint(f, method = "profile")
    #> Profiling the likelihood
    #> 2.5% 97.5% +#> parent_0 73.0641834 92.1392181 +#> k_parent 0.2170293 0.4235348 +#> sigma 3.1307772 8.0628314
    # Set the number of cores for the profiling method for further examples if (identical(Sys.getenv("NOT_CRAN"), "true")) { n_cores <- parallel::detectCores() - 1 @@ -279,30 +279,29 @@ Profile-Likelihood Based Confidence Intervals, Applied Statistics, 37, SFO_SFO <- mkinmod(parent = mkinsub("SFO", "m1"), m1 = mkinsub("SFO"), quiet = TRUE) SFO_SFO.ff <- mkinmod(parent = mkinsub("SFO", "m1"), m1 = mkinsub("SFO"), use_of_ff = "max", quiet = TRUE) -f_d_1 <- mkinfit(SFO_SFO, subset(FOCUS_2006_D, value != 0), quiet = TRUE) -system.time(ci_profile <- confint(f_d_1, method = "profile", cores = 1, quiet = TRUE))
    #> user system elapsed -#> 3.610 1.071 3.378
    # Using more cores does not save much time here, as parent_0 takes up most of the time +f_d_1 <- mkinfit(SFO_SFO, subset(FOCUS_2006_D, value != 0), quiet = TRUE)
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0165
    system.time(ci_profile <- confint(f_d_1, method = "profile", cores = 1, quiet = TRUE))
    #> user system elapsed +#> 3.810 0.964 3.430
    # Using more cores does not save much time here, as parent_0 takes up most of the time # If we additionally exclude parent_0 (the confidence of which is often of # minor interest), we get a nice performance improvement from about 50 # seconds to about 12 seconds if we use at least four cores system.time(ci_profile_no_parent_0 <- confint(f_d_1, method = "profile", - c("k_parent_sink", "k_parent_m1", "k_m1_sink", "sigma"), cores = n_cores))
    #> Profiling the likelihood
    #> Warning: scheduled cores 2, 1, 3 encountered errors in user code, all values of the jobs will be affected
    #> Error in dimnames(x) <- dn: length of 'dimnames' [2] not equal to array extent
    #> Timing stopped at: 0.005 0.04 0.206
    ci_profile
    #> 2.5% 97.5% + c("k_parent_sink", "k_parent_m1", "k_m1_sink", "sigma"), cores = n_cores))
    #> Profiling the likelihood
    #> Warning: scheduled cores 2, 1, 3 encountered errors in user code, all values of the jobs will be affected
    #> Error in dimnames(x) <- dn: length of 'dimnames' [2] not equal to array extent
    #> Timing stopped at: 0.015 0.029 0.198
    ci_profile
    #> 2.5% 97.5% #> parent_0 96.456003640 1.027703e+02 #> k_parent 0.090911032 1.071578e-01 #> k_m1 0.003892605 6.702778e-03 #> f_parent_to_m1 0.471328495 5.611550e-01 #> sigma 2.535612399 3.985263e+00
    ci_quadratic_transformed <- confint(f_d_1, method = "quadratic") ci_quadratic_transformed
    #> 2.5% 97.5% -#> parent_0 96.403839476 1.027931e+02 +#> parent_0 96.403839460 1.027931e+02 #> k_parent 0.090823790 1.072543e-01 #> k_m1 0.004012216 6.897547e-03 #> f_parent_to_m1 0.469118713 5.595960e-01 #> sigma 2.396089689 3.854918e+00
    ci_quadratic_untransformed <- confint(f_d_1, method = "quadratic", transformed = FALSE) ci_quadratic_untransformed
    #> 2.5% 97.5% -#> parent_0 96.403839429 1.027931e+02 +#> parent_0 96.403839413 1.027931e+02 #> k_parent 0.090491931 1.069035e-01 #> k_m1 0.003835483 6.685819e-03 -#> f_parent_to_m1 0.469113364 5.598386e-01 +#> f_parent_to_m1 0.469113365 5.598386e-01 #> sigma 2.396089689 3.854918e+00
    # Against the expectation based on Bates and Watts (1988), the confidence # intervals based on the internal parameter transformation are less # congruent with the likelihood based intervals. Note the superiority of the @@ -314,7 +313,7 @@ Profile-Likelihood Based Confidence Intervals, Applied Statistics, 37, #> k_parent TRUE TRUE #> k_m1 FALSE FALSE #> f_parent_to_m1 TRUE FALSE -#> sigma FALSE TRUE
    signif(rel_diffs_transformed, 3)
    #> 2.5% 97.5% +#> sigma FALSE FALSE
    signif(rel_diffs_transformed, 3)
    #> 2.5% 97.5% #> parent_0 0.000541 0.000222 #> k_parent 0.000960 0.000900 #> k_m1 0.030700 0.029100 @@ -327,24 +326,23 @@ Profile-Likelihood Based Confidence Intervals, Applied Statistics, 37, #> sigma 0.055000 0.032700
    # Investigate a case with formation fractions -f_d_2 <- mkinfit(SFO_SFO.ff, subset(FOCUS_2006_D, value != 0), quiet = TRUE) -ci_profile_ff <- confint(f_d_2, method = "profile", cores = n_cores)
    #> Profiling the likelihood
    ci_profile_ff
    #> 2.5% 97.5% +f_d_2 <- mkinfit(SFO_SFO.ff, subset(FOCUS_2006_D, value != 0), quiet = TRUE)
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0165
    ci_profile_ff <- confint(f_d_2, method = "profile", cores = n_cores)
    #> Profiling the likelihood
    ci_profile_ff
    #> 2.5% 97.5% #> parent_0 96.456003640 1.027703e+02 #> k_parent 0.090911032 1.071578e-01 #> k_m1 0.003892605 6.702778e-03 #> f_parent_to_m1 0.471328495 5.611550e-01 #> sigma 2.535612399 3.985263e+00
    ci_quadratic_transformed_ff <- confint(f_d_2, method = "quadratic") ci_quadratic_transformed_ff
    #> 2.5% 97.5% -#> parent_0 96.403839476 1.027931e+02 +#> parent_0 96.403839460 1.027931e+02 #> k_parent 0.090823790 1.072543e-01 #> k_m1 0.004012216 6.897547e-03 #> f_parent_to_m1 0.469118713 5.595960e-01 #> sigma 2.396089689 3.854918e+00
    ci_quadratic_untransformed_ff <- confint(f_d_2, method = "quadratic", transformed = FALSE) ci_quadratic_untransformed_ff
    #> 2.5% 97.5% -#> parent_0 96.403839429 1.027931e+02 +#> parent_0 96.403839413 1.027931e+02 #> k_parent 0.090491931 1.069035e-01 #> k_m1 0.003835483 6.685819e-03 -#> f_parent_to_m1 0.469113364 5.598386e-01 +#> f_parent_to_m1 0.469113365 5.598386e-01 #> sigma 2.396089689 3.854918e+00
    rel_diffs_transformed_ff <- abs((ci_quadratic_transformed_ff - ci_profile_ff)/ci_profile_ff) rel_diffs_untransformed_ff <- abs((ci_quadratic_untransformed_ff - ci_profile_ff)/ci_profile_ff) # While the confidence interval for the parent rate constant is closer to @@ -356,17 +354,17 @@ Profile-Likelihood Based Confidence Intervals, Applied Statistics, 37, #> k_parent TRUE TRUE #> k_m1 FALSE FALSE #> f_parent_to_m1 TRUE FALSE -#> sigma FALSE TRUE
    rel_diffs_transformed_ff
    #> 2.5% 97.5% -#> parent_0 0.0005408078 0.0002217796 +#> sigma FALSE FALSE
    rel_diffs_transformed_ff
    #> 2.5% 97.5% +#> parent_0 0.0005408080 0.0002217794 #> k_parent 0.0009596417 0.0009003876 -#> k_m1 0.0307277372 0.0290579184 -#> f_parent_to_m1 0.0046884131 0.0027782558 -#> sigma 0.0550252516 0.0327066836
    rel_diffs_untransformed_ff
    #> 2.5% 97.5% -#> parent_0 0.0005408083 0.000221780 -#> k_parent 0.0046100096 0.002373023 -#> k_m1 0.0146746467 0.002530101 -#> f_parent_to_m1 0.0046997600 0.002346022 -#> sigma 0.0550252516 0.032706684
    +#> k_m1 0.0307277370 0.0290579182 +#> f_parent_to_m1 0.0046884130 0.0027782556 +#> sigma 0.0550252516 0.0327066836
    rel_diffs_untransformed_ff
    #> 2.5% 97.5% +#> parent_0 0.0005408085 0.0002217799 +#> k_parent 0.0046100096 0.0023730229 +#> k_m1 0.0146746469 0.0025301011 +#> f_parent_to_m1 0.0046997599 0.0023460223 +#> sigma 0.0550252516 0.0327066836
    # The profiling for the following fit does not finish in a reasonable time, # therefore we use the quadratic approximation m_synth_DFOP_par <- mkinmod(parent = mkinsub("DFOP", c("M1", "M2")), @@ -375,19 +373,19 @@ Profile-Likelihood Based Confidence Intervals, Applied Statistics, 37, use_of_ff = "max", quiet = TRUE) DFOP_par_c <- synthetic_data_for_UBA_2014[[12]]$data f_tc_2 <- mkinfit(m_synth_DFOP_par, DFOP_par_c, error_model = "tc", - error_model_algorithm = "direct", quiet = TRUE)
    #> Warning: Optimisation did not converge: -#> iteration limit reached without convergence (10)
    confint(f_tc_2, method = "quadratic")
    #> 2.5% 97.5% -#> parent_0 95.654015524 105.79279749 -#> k_M1 0.037723773 0.04447598 -#> k_M2 0.008586438 0.01078076 -#> f_parent_to_M1 0.230403596 0.61953014 -#> f_parent_to_M2 0.162909765 0.38019017 -#> k1 0.275434628 0.33331386 -#> k2 0.018602188 0.02249211 -#> g 0.675149759 0.73520889 -#> sigma_low 0.251416929 0.84272023 -#> rsd_high 0.040371818 0.07666540
    confint(f_tc_2, "parent_0", method = "quadratic")
    #> 2.5% 97.5% -#> parent_0 95.65402 105.7928
    # } + error_model_algorithm = "direct", quiet = TRUE) +confint(f_tc_2, method = "quadratic")
    #> 2.5% 97.5% +#> parent_0 94.59613833 106.19939215 +#> k_M1 0.03760542 0.04490759 +#> k_M2 0.00856874 0.01087675 +#> f_parent_to_M1 0.02146166 0.62023888 +#> f_parent_to_M2 0.01516502 0.37975343 +#> k1 0.27389751 0.33388078 +#> k2 0.01861456 0.02250379 +#> g 0.67194349 0.73583256 +#> sigma_low 0.25128383 0.83992146 +#> rsd_high 0.04041100 0.07662001
    confint(f_tc_2, "parent_0", method = "quadratic")
    #> 2.5% 97.5% +#> parent_0 94.59614 106.1994
    # }
    @@ -171,16 +171,14 @@ SFO_SFO <- mkinmod( parent = mkinsub("SFO", "m1"), m1 = mkinsub("SFO"))
    #> Successfully compiled differential equation model from auto-generated C code.
    FOCUS_D <- subset(FOCUS_2006_D, value != 0) # to avoid warnings -fit_1 <- mkinfit(SFO_SFO, FOCUS_D, solution_type = "analytical", quiet = TRUE) -fit_2 <- mkinfit(SFO_SFO, FOCUS_D, solution_type = "deSolve", quiet = TRUE) -# \dontrun{ +fit_1 <- mkinfit(SFO_SFO, FOCUS_D, solution_type = "analytical", quiet = TRUE)
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0165
    fit_2 <- mkinfit(SFO_SFO, FOCUS_D, solution_type = "deSolve", quiet = TRUE)
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0165
    # \dontrun{ if (require(rbenchmark)) benchmark( analytical = mkinfit(SFO_SFO, FOCUS_D, solution_type = "analytical", quiet = TRUE), deSolve = mkinfit(SFO_SFO, FOCUS_D, solution_type = "deSolve", quiet = TRUE), - replications = 2)
    #> Loading required package: rbenchmark
    #> test replications elapsed relative user.self sys.self user.child -#> 1 analytical 2 0.422 1.000 0.421 0 0 -#> 2 deSolve 2 0.722 1.711 0.721 0 0 + replications = 2)
    #> Loading required package: rbenchmark
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0165
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0165
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0165
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0165
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0165
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0165
    #> test replications elapsed relative user.self sys.self user.child +#> 1 analytical 2 0.423 1.000 0.423 0 0 +#> 2 deSolve 2 0.716 1.693 0.715 0 0 #> sys.child #> 1 0 #> 2 0
    DFOP_SFO <- mkinmod( @@ -189,8 +187,8 @@ analytical = mkinfit(DFOP_SFO, FOCUS_D, solution_type = "analytical", quiet = TRUE), deSolve = mkinfit(DFOP_SFO, FOCUS_D, solution_type = "deSolve", quiet = TRUE), replications = 2)
    #> test replications elapsed relative user.self sys.self user.child -#> 1 analytical 2 0.907 1.000 0.906 0 0 -#> 2 deSolve 2 1.659 1.829 1.658 0 0 +#> 1 analytical 2 0.910 1.000 0.909 0 0 +#> 2 deSolve 2 1.734 1.905 1.733 0 0 #> sys.child #> 1 0 #> 2 0
    # } diff --git a/docs/dev/reference/endpoints.html b/docs/dev/reference/endpoints.html index 5751df93..1858e243 100644 --- a/docs/dev/reference/endpoints.html +++ b/docs/dev/reference/endpoints.html @@ -78,7 +78,7 @@ advantage that the SFORB model can also be used for metabolites." /> mkin - 0.9.50.3 + 0.9.50.3
    @@ -187,18 +187,22 @@ of these SFORB models, equivalent to DFOP rate constants

    #> DT50 DT90 DT50back #> parent 1.785233 15.1479 4.559973 #>
    # \dontrun{ - fit_2 <- mkinfit("SFORB", FOCUS_2006_C, quiet = TRUE) - endpoints(fit_2)
    #> $ff -#> parent_free_sink -#> 1 + fit_2 <- mkinfit("DFOP", FOCUS_2006_C, quiet = TRUE) + endpoints(fit_2)
    #> $distimes +#> DT50 DT90 DT50back DT50_k1 DT50_k2 +#> parent 1.886925 21.25106 6.397207 1.508293 38.83438 +#>
    fit_3 <- mkinfit("SFORB", FOCUS_2006_C, quiet = TRUE) + endpoints(fit_3)
    #> $ff +#> parent_free +#> 1 #> #> $SFORB #> parent_b1 parent_b2 #> 0.4595574 0.0178488 #> #> $distimes -#> DT50 DT90 DT50_parent_b1 DT50_parent_b2 -#> parent 1.886925 21.25106 1.508293 38.83438 +#> DT50 DT90 DT50back DT50_parent_b1 DT50_parent_b2 +#> parent 1.886925 21.25106 6.397208 1.508293 38.83438 #>
    # }
    diff --git a/docs/dev/reference/get_deg_func.html b/docs/dev/reference/get_deg_func.html index 7500186b..ea0676cc 100644 --- a/docs/dev/reference/get_deg_func.html +++ b/docs/dev/reference/get_deg_func.html @@ -72,7 +72,7 @@ mkin - 0.9.50.3 + 0.9.50.3 diff --git a/docs/dev/reference/ilr.html b/docs/dev/reference/ilr.html index 245880f2..8f58949e 100644 --- a/docs/dev/reference/ilr.html +++ b/docs/dev/reference/ilr.html @@ -73,7 +73,7 @@ transformations." /> mkin - 0.9.50.3 + 0.9.50.3 diff --git a/docs/dev/reference/index.html b/docs/dev/reference/index.html index f1ab22e6..b72d0c85 100644 --- a/docs/dev/reference/index.html +++ b/docs/dev/reference/index.html @@ -330,12 +330,6 @@ of an mmkin object

    Helper functions to create nlme models from mmkin row objects

    - -

    saemix_model() saemix_data()

    - -

    Create saemix models from mmkin row objects

    - -

    get_deg_func()

    diff --git a/docs/dev/reference/logLik.mkinfit.html b/docs/dev/reference/logLik.mkinfit.html index 840a4821..7ab36f0d 100644 --- a/docs/dev/reference/logLik.mkinfit.html +++ b/docs/dev/reference/logLik.mkinfit.html @@ -76,7 +76,7 @@ the error model." /> mkin - 0.9.50.3 + 0.9.50.3 @@ -193,7 +193,7 @@ and the fitted error model parameters.

    parent = mkinsub("SFO", to = "m1"), m1 = mkinsub("SFO") )
    #> Successfully compiled differential equation model from auto-generated C code.
    d_t <- FOCUS_2006_D - f_nw <- mkinfit(sfo_sfo, d_t, quiet = TRUE) # no weighting (weights are unity)
    #> Warning: Observations with value of zero were removed from the data
    f_obs <- mkinfit(sfo_sfo, d_t, error_model = "obs", quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    f_tc <- mkinfit(sfo_sfo, d_t, error_model = "tc", quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    AIC(f_nw, f_obs, f_tc)
    #> df AIC + f_nw <- mkinfit(sfo_sfo, d_t, quiet = TRUE) # no weighting (weights are unity)
    #> Warning: Observations with value of zero were removed from the data
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0165
    f_obs <- mkinfit(sfo_sfo, d_t, error_model = "obs", quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    f_tc <- mkinfit(sfo_sfo, d_t, error_model = "tc", quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    AIC(f_nw, f_obs, f_tc)
    #> df AIC #> f_nw 5 204.4486 #> f_obs 6 205.8727 #> f_tc 6 141.9656
    # } diff --git a/docs/dev/reference/logistic.solution.html b/docs/dev/reference/logistic.solution.html index 4804fc73..248edcda 100644 --- a/docs/dev/reference/logistic.solution.html +++ b/docs/dev/reference/logistic.solution.html @@ -73,7 +73,7 @@ an increasing rate constant, supposedly caused by microbial growth" /> mkin - 0.9.50.3 + 0.9.50.3
    @@ -232,18 +232,18 @@ Version 1.1, 18 December 2014 m <- mkinfit("logistic", d_2_1, quiet = TRUE) plot_sep(m)
    summary(m)$bpar
    #> Estimate se_notrans t value Pr(>t) Lower -#> parent_0 1.057896e+02 1.9023449649 55.610120 3.768361e-16 1.016451e+02 -#> kmax 6.398190e-02 0.0143201029 4.467978 3.841828e-04 3.929235e-02 -#> k0 1.612775e-04 0.0005866813 0.274898 3.940351e-01 5.846685e-08 -#> r 2.263946e-01 0.1718110773 1.317695 1.061044e-01 4.335843e-02 +#> parent_0 1.057896e+02 1.9023449703 55.610119 3.768361e-16 1.016451e+02 +#> kmax 6.398190e-02 0.0143201031 4.467978 3.841829e-04 3.929235e-02 +#> k0 1.612775e-04 0.0005866813 0.274898 3.940351e-01 5.846688e-08 +#> r 2.263946e-01 0.1718110715 1.317695 1.061044e-01 4.335843e-02 #> sigma 5.332935e+00 0.9145907310 5.830952 4.036926e-05 3.340213e+00 #> Upper #> parent_0 109.9341588 #> kmax 0.1041853 -#> k0 0.4448750 -#> r 1.1821121 +#> k0 0.4448749 +#> r 1.1821120 #> sigma 7.3256566
    endpoints(m)$distimes
    #> DT50 DT90 DT50_k0 DT50_kmax -#> parent 36.86533 62.41511 4297.854 10.83349
    +#> parent 36.86533 62.41511 4297.853 10.83349
    diff --git a/docs/dev/reference/mccall81_245T.html b/docs/dev/reference/mccall81_245T.html index dc0dfbf8..fa352d0a 100644 --- a/docs/dev/reference/mccall81_245T.html +++ b/docs/dev/reference/mccall81_245T.html @@ -74,7 +74,7 @@ mkin - 0.9.50.3 + 0.9.50.3 @@ -178,15 +178,15 @@ phenol = list(type = "SFO", to = "anisole"), anisole = list(type = "SFO"))
    #> Successfully compiled differential equation model from auto-generated C code.
    # \dontrun{ fit.1 <- mkinfit(SFO_SFO_SFO, subset(mccall81_245T, soil == "Commerce"), quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    summary(fit.1)$bpar
    #> Estimate se_notrans t value Pr(>t) -#> T245_0 1.038550e+02 2.184707509 47.537272 4.472189e-18 +#> T245_0 1.038550e+02 2.184707514 47.537272 4.472189e-18 #> k_T245 4.337042e-02 0.001898397 22.845818 2.276912e-13 -#> k_phenol 4.050581e-01 0.298699410 1.356073 9.756993e-02 +#> k_phenol 4.050581e-01 0.298699428 1.356073 9.756994e-02 #> k_anisole 6.678742e-03 0.000802144 8.326114 2.623179e-07 -#> f_T245_to_phenol 6.227599e-01 0.398534147 1.562626 6.949418e-02 -#> f_phenol_to_anisole 1.000000e+00 0.671844135 1.488440 7.867793e-02 -#> sigma 2.514628e+00 0.490755933 5.123989 6.233163e-05 +#> f_T245_to_phenol 6.227599e-01 0.398534167 1.562626 6.949418e-02 +#> f_phenol_to_anisole 1.000000e+00 0.671844168 1.488440 7.867794e-02 +#> sigma 2.514628e+00 0.490755943 5.123989 6.233164e-05 #> Lower Upper -#> T245_0 99.246061427 1.084640e+02 +#> T245_0 99.246061371 1.084640e+02 #> k_T245 0.039631621 4.746194e-02 #> k_phenol 0.218013878 7.525762e-01 #> k_anisole 0.005370739 8.305299e-03 @@ -194,7 +194,7 @@ #> f_phenol_to_anisole 0.000000000 1.000000e+00 #> sigma 1.706607296 3.322649e+00
    endpoints(fit.1)
    #> $ff #> T245_phenol T245_sink phenol_anisole phenol_sink -#> 6.227599e-01 3.772401e-01 1.000000e+00 1.005127e-10 +#> 6.227599e-01 3.772401e-01 1.000000e+00 1.748047e-10 #> #> $distimes #> DT50 DT90 @@ -206,7 +206,7 @@ parms.ini = c(k_phenol_sink = 0), fixed_parms = "k_phenol_sink", quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    #> Warning: Initial parameter(s) k_phenol_sink not used in the model
    #> Error in data.frame(value = c(state.ini.fixed, parms.fixed)): row names contain missing values
    summary(fit.2)$bpar
    #> Error in summary(fit.2): object 'fit.2' not found
    endpoints(fit.1)
    #> $ff #> T245_phenol T245_sink phenol_anisole phenol_sink -#> 6.227599e-01 3.772401e-01 1.000000e+00 1.005127e-10 +#> 6.227599e-01 3.772401e-01 1.000000e+00 1.748047e-10 #> #> $distimes #> DT50 DT90 diff --git a/docs/dev/reference/mkinds.html b/docs/dev/reference/mkinds.html index 5c7d9490..a8641375 100644 --- a/docs/dev/reference/mkinds.html +++ b/docs/dev/reference/mkinds.html @@ -75,7 +75,7 @@ provided by this package come as mkinds objects nevertheless." /> mkin - 0.9.50.3 + 0.9.50.3
    diff --git a/docs/dev/reference/mkinerrplot.html b/docs/dev/reference/mkinerrplot.html index 940a6861..104d1e3a 100644 --- a/docs/dev/reference/mkinerrplot.html +++ b/docs/dev/reference/mkinerrplot.html @@ -76,7 +76,7 @@ using the argument show_errplot = TRUE." /> mkin - 0.9.50.3 + 0.9.50.3 diff --git a/docs/dev/reference/mkinfit.html b/docs/dev/reference/mkinfit.html index e1e75767..90fb26be 100644 --- a/docs/dev/reference/mkinfit.html +++ b/docs/dev/reference/mkinfit.html @@ -423,16 +423,16 @@ Degradation Data. Environments 6(12) 124 # Use shorthand notation for parent only degradation fit <- mkinfit("FOMC", FOCUS_2006_C, quiet = TRUE) summary(fit)
    #> mkin version used for fitting: 0.9.50.3 -#> R version used for fitting: 4.0.0 -#> Date of fit: Wed May 27 07:43:45 2020 -#> Date of summary: Wed May 27 07:43:45 2020 +#> R version used for fitting: 4.0.2 +#> Date of fit: Thu Oct 8 09:12:15 2020 +#> Date of summary: Thu Oct 8 09:12:15 2020 #> #> Equations: #> d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent #> #> Model predictions using solution type analytical #> -#> Fitted using 222 model solutions performed in 0.044 s +#> Fitted using 222 model solutions performed in 0.045 s #> #> Error model: Constant variance #> @@ -467,10 +467,10 @@ Degradation Data. Environments 6(12) 124 #> #> Parameter correlation: #> parent_0 log_alpha log_beta sigma -#> parent_0 1.000e+00 -1.565e-01 -3.142e-01 4.770e-08 -#> log_alpha -1.565e-01 1.000e+00 9.564e-01 9.974e-08 -#> log_beta -3.142e-01 9.564e-01 1.000e+00 8.468e-08 -#> sigma 4.770e-08 9.974e-08 8.468e-08 1.000e+00 +#> parent_0 1.000e+00 -1.565e-01 -3.142e-01 4.758e-08 +#> log_alpha -1.565e-01 1.000e+00 9.564e-01 1.007e-07 +#> log_beta -3.142e-01 9.564e-01 1.000e+00 8.568e-08 +#> sigma 4.758e-08 1.007e-07 8.568e-08 1.000e+00 #> #> Backtransformed parameters: #> Confidence intervals for internally transformed parameters are asymmetric. @@ -503,426 +503,118 @@ Degradation Data. Environments 6(12) 124 #> 91 parent 3.9 1.441 2.4590 #> 119 parent 0.6 1.092 -0.4919
    # One parent compound, one metabolite, both single first order. +# We remove zero values from FOCUS dataset D in order to avoid warnings +FOCUS_D <- subset(FOCUS_2006_D, value != 0) # Use mkinsub for convenience in model formulation. Pathway to sink included per default. SFO_SFO <- mkinmod( parent = mkinsub("SFO", "m1"), - m1 = mkinsub("SFO"))
    #> Successfully compiled differential equation model from auto-generated C code.
    # Fit the model to the FOCUS example dataset D using defaults -print(system.time(fit <- mkinfit(SFO_SFO, FOCUS_2006_D, - solution_type = "eigen", quiet = TRUE)))
    #> Warning: Observations with value of zero were removed from the data
    #> user system elapsed -#> 0.405 0.001 0.407
    parms(fit)
    #> parent_0 k_parent k_m1 f_parent_to_m1 sigma -#> 99.598481046 0.098697740 0.005260651 0.514475962 3.125503875
    #> $ff + m1 = mkinsub("SFO"))
    #> Successfully compiled differential equation model from auto-generated C code.
    +# Fit the model quietly to the FOCUS example dataset D using defaults +fit <- mkinfit(SFO_SFO, FOCUS_D, quiet = TRUE)
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0165
    # Since mkin 0.9.50.3, we get a warning about non-normality of residuals, +# so we try an alternative error model +fit.tc <- mkinfit(SFO_SFO, FOCUS_D, quiet = TRUE, error_model = "tc") +# This avoids the warning, and the likelihood ratio test confirms it is preferable +lrtest(fit.tc, fit)
    #> Likelihood ratio test +#> +#> Model 1: SFO_SFO with error model tc and fixed parameter(s) m1_0 +#> Model 2: SFO_SFO with error model const and fixed parameter(s) m1_0 +#> #Df LogLik Df Chisq Pr(>Chisq) +#> 1 6 -64.983 +#> 2 5 -97.224 -1 64.483 9.737e-16 *** +#> --- +#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
    # We can also allow for different variances of parent and metabolite as error model +fit.obs <- mkinfit(SFO_SFO, FOCUS_D, quiet = TRUE, error_model = "obs") +# This also avoids the warning about non-normality, but the two-component error model +# has significantly higher likelihood +lrtest(fit.obs, fit.tc)
    #> Likelihood ratio test +#> +#> Model 1: SFO_SFO with error model tc and fixed parameter(s) m1_0 +#> Model 2: SFO_SFO with error model obs and fixed parameter(s) m1_0 +#> #Df LogLik Df Chisq Pr(>Chisq) +#> 1 6 -64.983 +#> 2 6 -96.936 0 63.907 < 2.2e-16 *** +#> --- +#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
    parms(fit.tc)
    #> parent_0 k_parent k_m1 f_parent_to_m1 sigma_low +#> 1.007343e+02 1.005562e-01 5.166712e-03 5.083933e-01 3.049891e-03 +#> rsd_high +#> 7.928117e-02
    endpoints(fit.tc)
    #> $ff #> parent_m1 parent_sink -#> 0.514476 0.485524 +#> 0.5083933 0.4916067 #> #> $distimes -#> DT50 DT90 -#> parent 7.022929 23.32966 -#> m1 131.760724 437.69965 -#>
    # \dontrun{ -# deSolve is slower when no C compiler (gcc) was available during model generation -print(system.time(fit.deSolve <- mkinfit(SFO_SFO, FOCUS_2006_D, - solution_type = "deSolve")))
    #> Warning: Observations with value of zero were removed from the data
    #> Ordinary least squares optimisation
    #> Sum of squared residuals at call 1: 15156.12 -#> Sum of squared residuals at call 2: 15156.12 -#> Sum of squared residuals at call 6: 8243.645 -#> Sum of squared residuals at call 12: 6290.712 -#> Sum of squared residuals at call 13: 6290.683 -#> Sum of squared residuals at call 15: 6290.452 -#> Sum of squared residuals at call 18: 1700.749 -#> Sum of squared residuals at call 20: 1700.611 -#> Sum of squared residuals at call 24: 1190.923 -#> Sum of squared residuals at call 26: 1190.922 -#> Sum of squared residuals at call 29: 1017.417 -#> Sum of squared residuals at call 31: 1017.417 -#> Sum of squared residuals at call 33: 1017.416 -#> Sum of squared residuals at call 34: 644.0472 -#> Sum of squared residuals at call 36: 644.047 -#> Sum of squared residuals at call 38: 644.047 -#> Sum of squared residuals at call 39: 590.5025 -#> Sum of squared residuals at call 41: 590.5022 -#> Sum of squared residuals at call 43: 590.5016 -#> Sum of squared residuals at call 44: 543.2196 -#> Sum of squared residuals at call 45: 543.2193 -#> Sum of squared residuals at call 46: 543.2192 -#> Sum of squared residuals at call 50: 391.348 -#> Sum of squared residuals at call 51: 391.3479 -#> Sum of squared residuals at call 56: 386.479 -#> Sum of squared residuals at call 58: 386.479 -#> Sum of squared residuals at call 60: 386.4779 -#> Sum of squared residuals at call 61: 384.0686 -#> Sum of squared residuals at call 63: 384.0686 -#> Sum of squared residuals at call 66: 382.7813 -#> Sum of squared residuals at call 68: 382.7813 -#> Sum of squared residuals at call 70: 382.7813 -#> Sum of squared residuals at call 71: 378.9273 -#> Sum of squared residuals at call 73: 378.9273 -#> Sum of squared residuals at call 75: 378.9272 -#> Sum of squared residuals at call 76: 377.4847 -#> Sum of squared residuals at call 78: 377.4846 -#> Sum of squared residuals at call 81: 375.9738 -#> Sum of squared residuals at call 83: 375.9738 -#> Sum of squared residuals at call 86: 375.3387 -#> Sum of squared residuals at call 88: 375.3387 -#> Sum of squared residuals at call 91: 374.5774 -#> Sum of squared residuals at call 93: 374.5774 -#> Sum of squared residuals at call 95: 374.5774 -#> Sum of squared residuals at call 96: 373.5438 -#> Sum of squared residuals at call 100: 373.5438 -#> Sum of squared residuals at call 102: 373.265 -#> Sum of squared residuals at call 104: 373.265 -#> Sum of squared residuals at call 107: 372.6825 -#> Sum of squared residuals at call 111: 372.6825 -#> Sum of squared residuals at call 114: 372.6356 -#> Sum of squared residuals at call 116: 372.6356 -#> Sum of squared residuals at call 119: 372.6199 -#> Sum of squared residuals at call 121: 372.6199 -#> Sum of squared residuals at call 123: 372.6199 -#> Sum of squared residuals at call 124: 372.5881 -#> Sum of squared residuals at call 126: 372.5881 -#> Sum of squared residuals at call 129: 372.5418 -#> Sum of squared residuals at call 130: 372.4866 -#> Sum of squared residuals at call 131: 372.2242 -#> Sum of squared residuals at call 132: 371.5237 -#> Sum of squared residuals at call 134: 371.5237 -#> Sum of squared residuals at call 137: 371.292 -#> Sum of squared residuals at call 139: 371.292 -#> Sum of squared residuals at call 143: 371.2256 -#> Sum of squared residuals at call 144: 371.2256 -#> Sum of squared residuals at call 146: 371.2256 -#> Sum of squared residuals at call 149: 371.2194 -#> Sum of squared residuals at call 150: 371.2147 -#> Sum of squared residuals at call 153: 371.2147 -#> Sum of squared residuals at call 155: 371.2137 -#> Sum of squared residuals at call 156: 371.2137 -#> Sum of squared residuals at call 157: 371.2137 -#> Sum of squared residuals at call 160: 371.2134 -#> Sum of squared residuals at call 164: 371.2134 -#> Sum of squared residuals at call 165: 371.2134 -#> Sum of squared residuals at call 167: 371.2134 -#> Negative log-likelihood at call 177: 97.22429
    #> Optimisation successfully terminated.
    #> user system elapsed -#> 0.361 0.000 0.361
    parms(fit.deSolve)
    #> parent_0 k_parent k_m1 f_parent_to_m1 sigma -#> 99.598480300 0.098697739 0.005260651 0.514475968 3.125503874
    endpoints(fit.deSolve)
    #> $ff -#> parent_m1 parent_sink -#> 0.514476 0.485524 -#> -#> $distimes -#> DT50 DT90 -#> parent 7.022929 23.32966 -#> m1 131.760721 437.69964 -#>
    # } - -# Use stepwise fitting, using optimised parameters from parent only fit, FOMC +#> DT50 DT90 +#> parent 6.89313 22.89848 +#> m1 134.15635 445.65776 +#>
    +# We can show a quick (only one replication) benchmark for this case, as we +# have several alternative solution methods for the model. We skip +# uncompiled deSolve, as it is so slow. More benchmarks are found in the +# benchmark vignette +# \dontrun{ +if(require(rbenchmark)) { + benchmark(replications = 1, order = "relative", columns = c("test", "relative", "elapsed"), + deSolve_compiled = mkinfit(SFO_SFO, FOCUS_D, quiet = TRUE, error_model = "tc", + solution_type = "deSolve", use_compiled = TRUE), + eigen = mkinfit(SFO_SFO, FOCUS_D, quiet = TRUE, error_model = "tc", + solution_type = "eigen"), + analytical = mkinfit(SFO_SFO, FOCUS_D, quiet = TRUE, error_model = "tc", + solution_type = "analytical")) +}
    #> test relative elapsed +#> 3 analytical 1.000 0.750 +#> 1 deSolve_compiled 2.288 1.716 +#> 2 eigen 2.821 2.116
    # } + +# Use stepwise fitting, using optimised parameters from parent only fit, FOMC-SFO # \dontrun{ FOMC_SFO <- mkinmod( parent = mkinsub("FOMC", "m1"), - m1 = mkinsub("SFO"))
    #> Successfully compiled differential equation model from auto-generated C code.
    # Fit the model to the FOCUS example dataset D using defaults -fit.FOMC_SFO <- mkinfit(FOMC_SFO, FOCUS_2006_D, quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    # Use starting parameters from parent only FOMC fit -fit.FOMC = mkinfit("FOMC", FOCUS_2006_D, quiet = TRUE) -fit.FOMC_SFO <- mkinfit(FOMC_SFO, FOCUS_2006_D, quiet = TRUE, - parms.ini = fit.FOMC$bparms.ode)
    #> Warning: Observations with value of zero were removed from the data
    -# Use stepwise fitting, using optimised parameters from parent only fit, SFORB -SFORB_SFO <- mkinmod( - parent = list(type = "SFORB", to = "m1", sink = TRUE), - m1 = list(type = "SFO"))
    #> Successfully compiled differential equation model from auto-generated C code.
    # Fit the model to the FOCUS example dataset D using defaults -fit.SFORB_SFO <- mkinfit(SFORB_SFO, FOCUS_2006_D, quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    fit.SFORB_SFO.deSolve <- mkinfit(SFORB_SFO, FOCUS_2006_D, solution_type = "deSolve", - quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    # Use starting parameters from parent only SFORB fit (not really needed in this case) -fit.SFORB = mkinfit("SFORB", FOCUS_2006_D, quiet = TRUE) -fit.SFORB_SFO <- mkinfit(SFORB_SFO, FOCUS_2006_D, parms.ini = fit.SFORB$bparms.ode, quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    #> Warning: Initial parameter(s) k_parent_free_sink not used in the model
    # } - -# \dontrun{ -# Weighted fits, including IRLS (error_model = "obs") -SFO_SFO.ff <- mkinmod(parent = mkinsub("SFO", "m1"), - m1 = mkinsub("SFO"), use_of_ff = "max")
    #> Successfully compiled differential equation model from auto-generated C code.
    f.noweight <- mkinfit(SFO_SFO.ff, FOCUS_2006_D, quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    summary(f.noweight)
    #> mkin version used for fitting: 0.9.50.3 -#> R version used for fitting: 4.0.0 -#> Date of fit: Wed May 27 07:43:50 2020 -#> Date of summary: Wed May 27 07:43:50 2020 -#> -#> Equations: -#> d_parent/dt = - k_parent * parent -#> d_m1/dt = + f_parent_to_m1 * k_parent * parent - k_m1 * m1 -#> -#> Model predictions using solution type analytical -#> -#> Fitted using 421 model solutions performed in 0.125 s -#> -#> Error model: Constant variance -#> -#> Error model algorithm: OLS -#> -#> Starting values for parameters to be optimised: -#> value type -#> parent_0 100.7500 state -#> k_parent 0.1000 deparm -#> k_m1 0.1001 deparm -#> f_parent_to_m1 0.5000 deparm -#> -#> Starting values for the transformed parameters actually optimised: -#> value lower upper -#> parent_0 100.750000 -Inf Inf -#> log_k_parent -2.302585 -Inf Inf -#> log_k_m1 -2.301586 -Inf Inf -#> f_parent_ilr_1 0.000000 -Inf Inf -#> -#> Fixed parameter values: -#> value type -#> m1_0 0 state -#> -#> Results: -#> -#> AIC BIC logLik -#> 204.4486 212.6365 -97.22429 -#> -#> Optimised, transformed parameters with symmetric confidence intervals: -#> Estimate Std. Error Lower Upper -#> parent_0 99.60000 1.57000 96.40000 102.8000 -#> log_k_parent -2.31600 0.04087 -2.39900 -2.2330 -#> log_k_m1 -5.24800 0.13320 -5.51800 -4.9770 -#> f_parent_ilr_1 0.04096 0.06312 -0.08746 0.1694 -#> sigma 3.12600 0.35850 2.39600 3.8550 -#> -#> Parameter correlation: -#> parent_0 log_k_parent log_k_m1 f_parent_ilr_1 sigma -#> parent_0 1.000e+00 5.174e-01 -1.688e-01 -5.471e-01 -3.190e-07 -#> log_k_parent 5.174e-01 1.000e+00 -3.263e-01 -5.426e-01 3.168e-07 -#> log_k_m1 -1.688e-01 -3.263e-01 1.000e+00 7.478e-01 -1.406e-07 -#> f_parent_ilr_1 -5.471e-01 -5.426e-01 7.478e-01 1.000e+00 -1.587e-10 -#> sigma -3.190e-07 3.168e-07 -1.406e-07 -1.587e-10 1.000e+00 -#> -#> Backtransformed parameters: -#> Confidence intervals for internally transformed parameters are asymmetric. -#> t-test (unrealistically) based on the assumption of normal distribution -#> for estimators of untransformed parameters. -#> Estimate t value Pr(>t) Lower Upper -#> parent_0 99.600000 63.430 2.298e-36 96.400000 1.028e+02 -#> k_parent 0.098700 24.470 4.955e-23 0.090820 1.073e-01 -#> k_m1 0.005261 7.510 6.165e-09 0.004012 6.898e-03 -#> f_parent_to_m1 0.514500 23.070 3.104e-22 0.469100 5.596e-01 -#> sigma 3.126000 8.718 2.235e-10 2.396000 3.855e+00 -#> -#> FOCUS Chi2 error levels in percent: -#> err.min n.optim df -#> All data 6.398 4 15 -#> parent 6.459 2 7 -#> m1 4.690 2 8 -#> -#> Resulting formation fractions: -#> ff -#> parent_m1 0.5145 -#> parent_sink 0.4855 -#> -#> Estimated disappearance times: -#> DT50 DT90 -#> parent 7.023 23.33 -#> m1 131.761 437.70 -#> -#> Data: -#> time variable observed predicted residual -#> 0 parent 99.46 99.59848 -1.385e-01 -#> 0 parent 102.04 99.59848 2.442e+00 -#> 1 parent 93.50 90.23787 3.262e+00 -#> 1 parent 92.50 90.23787 2.262e+00 -#> 3 parent 63.23 74.07319 -1.084e+01 -#> 3 parent 68.99 74.07319 -5.083e+00 -#> 7 parent 52.32 49.91206 2.408e+00 -#> 7 parent 55.13 49.91206 5.218e+00 -#> 14 parent 27.27 25.01257 2.257e+00 -#> 14 parent 26.64 25.01257 1.627e+00 -#> 21 parent 11.50 12.53462 -1.035e+00 -#> 21 parent 11.64 12.53462 -8.946e-01 -#> 35 parent 2.85 3.14787 -2.979e-01 -#> 35 parent 2.91 3.14787 -2.379e-01 -#> 50 parent 0.69 0.71624 -2.624e-02 -#> 50 parent 0.63 0.71624 -8.624e-02 -#> 75 parent 0.05 0.06074 -1.074e-02 -#> 75 parent 0.06 0.06074 -7.381e-04 -#> 1 m1 4.84 4.80296 3.704e-02 -#> 1 m1 5.64 4.80296 8.370e-01 -#> 3 m1 12.91 13.02400 -1.140e-01 -#> 3 m1 12.96 13.02400 -6.400e-02 -#> 7 m1 22.97 25.04476 -2.075e+00 -#> 7 m1 24.47 25.04476 -5.748e-01 -#> 14 m1 41.69 36.69002 5.000e+00 -#> 14 m1 33.21 36.69002 -3.480e+00 -#> 21 m1 44.37 41.65310 2.717e+00 -#> 21 m1 46.44 41.65310 4.787e+00 -#> 35 m1 41.22 43.31312 -2.093e+00 -#> 35 m1 37.95 43.31312 -5.363e+00 -#> 50 m1 41.19 41.21831 -2.831e-02 -#> 50 m1 40.01 41.21831 -1.208e+00 -#> 75 m1 40.09 36.44703 3.643e+00 -#> 75 m1 33.85 36.44703 -2.597e+00 -#> 100 m1 31.04 31.98163 -9.416e-01 -#> 100 m1 33.13 31.98163 1.148e+00 -#> 120 m1 25.15 28.78984 -3.640e+00 -#> 120 m1 33.31 28.78984 4.520e+00
    f.obs <- mkinfit(SFO_SFO.ff, FOCUS_2006_D, error_model = "obs", quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    summary(f.obs)
    #> mkin version used for fitting: 0.9.50.3 -#> R version used for fitting: 4.0.0 -#> Date of fit: Wed May 27 07:43:51 2020 -#> Date of summary: Wed May 27 07:43:51 2020 + m1 = mkinsub("SFO"))
    #> Successfully compiled differential equation model from auto-generated C code.
    fit.FOMC_SFO <- mkinfit(FOMC_SFO, FOCUS_D, quiet = TRUE)
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0499
    # Again, we get a warning and try a more sophisticated error model +fit.FOMC_SFO.tc <- mkinfit(FOMC_SFO, FOCUS_D, quiet = TRUE, error_model = "tc") +# This model has a higher likelihood, but not significantly so +lrtest(fit.tc, fit.FOMC_SFO.tc)
    #> Likelihood ratio test +#> +#> Model 1: FOMC_SFO with error model tc and fixed parameter(s) m1_0 +#> Model 2: SFO_SFO with error model tc and fixed parameter(s) m1_0 +#> #Df LogLik Df Chisq Pr(>Chisq) +#> 1 7 -64.829 +#> 2 6 -64.983 -1 0.3075 0.5792
    # Also, the missing standard error for log_beta and the t-tests for alpha +# and beta indicate overparameterisation +summary(fit.FOMC_SFO.tc, data = FALSE)
    #> Warning: NaNs produced
    #> Warning: NaNs produced
    #> Warning: diag(.) had 0 or NA entries; non-finite result is doubtful
    #> mkin version used for fitting: 0.9.50.3 +#> R version used for fitting: 4.0.2 +#> Date of fit: Thu Oct 8 09:12:29 2020 +#> Date of summary: Thu Oct 8 09:12:29 2020 #> #> Equations: -#> d_parent/dt = - k_parent * parent -#> d_m1/dt = + f_parent_to_m1 * k_parent * parent - k_m1 * m1 -#> -#> Model predictions using solution type analytical -#> -#> Fitted using 978 model solutions performed in 0.413 s -#> -#> Error model: Variance unique to each observed variable -#> -#> Error model algorithm: d_3 -#> Direct fitting and three-step fitting yield approximately the same likelihood -#> -#> Starting values for parameters to be optimised: -#> value type -#> parent_0 100.7500 state -#> k_parent 0.1000 deparm -#> k_m1 0.1001 deparm -#> f_parent_to_m1 0.5000 deparm -#> sigma_parent 3.0000 error -#> sigma_m1 3.0000 error -#> -#> Starting values for the transformed parameters actually optimised: -#> value lower upper -#> parent_0 100.750000 -Inf Inf -#> log_k_parent -2.302585 -Inf Inf -#> log_k_m1 -2.301586 -Inf Inf -#> f_parent_ilr_1 0.000000 -Inf Inf -#> sigma_parent 3.000000 0 Inf -#> sigma_m1 3.000000 0 Inf -#> -#> Fixed parameter values: -#> value type -#> m1_0 0 state -#> -#> Results: -#> -#> AIC BIC logLik -#> 205.8727 215.6982 -96.93634 -#> -#> Optimised, transformed parameters with symmetric confidence intervals: -#> Estimate Std. Error Lower Upper -#> parent_0 99.65000 1.70200 96.19000 103.1000 -#> log_k_parent -2.31300 0.04376 -2.40200 -2.2240 -#> log_k_m1 -5.25000 0.12430 -5.50400 -4.9970 -#> f_parent_ilr_1 0.03861 0.06171 -0.08708 0.1643 -#> sigma_parent 3.40100 0.56820 2.24400 4.5590 -#> sigma_m1 2.85500 0.45240 1.93400 3.7770 -#> -#> Parameter correlation: -#> parent_0 log_k_parent log_k_m1 f_parent_ilr_1 sigma_parent -#> parent_0 1.00000 0.51078 -0.19133 -0.59997 0.035670 -#> log_k_parent 0.51078 1.00000 -0.37458 -0.59239 0.069833 -#> log_k_m1 -0.19133 -0.37458 1.00000 0.74398 -0.026158 -#> f_parent_ilr_1 -0.59997 -0.59239 0.74398 1.00000 -0.041369 -#> sigma_parent 0.03567 0.06983 -0.02616 -0.04137 1.000000 -#> sigma_m1 -0.03385 -0.06627 0.02482 0.03926 -0.004628 -#> sigma_m1 -#> parent_0 -0.033847 -#> log_k_parent -0.066265 -#> log_k_m1 0.024823 -#> f_parent_ilr_1 0.039256 -#> sigma_parent -0.004628 -#> sigma_m1 1.000000 -#> -#> Backtransformed parameters: -#> Confidence intervals for internally transformed parameters are asymmetric. -#> t-test (unrealistically) based on the assumption of normal distribution -#> for estimators of untransformed parameters. -#> Estimate t value Pr(>t) Lower Upper -#> parent_0 99.650000 58.560 2.004e-34 96.190000 1.031e+02 -#> k_parent 0.098970 22.850 1.099e-21 0.090530 1.082e-01 -#> k_m1 0.005245 8.046 1.732e-09 0.004072 6.756e-03 -#> f_parent_to_m1 0.513600 23.560 4.352e-22 0.469300 5.578e-01 -#> sigma_parent 3.401000 5.985 5.662e-07 2.244000 4.559e+00 -#> sigma_m1 2.855000 6.311 2.215e-07 1.934000 3.777e+00 -#> -#> FOCUS Chi2 error levels in percent: -#> err.min n.optim df -#> All data 6.398 4 15 -#> parent 6.464 2 7 -#> m1 4.682 2 8 -#> -#> Resulting formation fractions: -#> ff -#> parent_m1 0.5136 -#> parent_sink 0.4864 -#> -#> Estimated disappearance times: -#> DT50 DT90 -#> parent 7.003 23.26 -#> m1 132.154 439.01 -#> -#> Data: -#> time variable observed predicted residual -#> 0 parent 99.46 99.65417 -1.942e-01 -#> 0 parent 102.04 99.65417 2.386e+00 -#> 1 parent 93.50 90.26332 3.237e+00 -#> 1 parent 92.50 90.26332 2.237e+00 -#> 3 parent 63.23 74.05306 -1.082e+01 -#> 3 parent 68.99 74.05306 -5.063e+00 -#> 7 parent 52.32 49.84325 2.477e+00 -#> 7 parent 55.13 49.84325 5.287e+00 -#> 14 parent 27.27 24.92971 2.340e+00 -#> 14 parent 26.64 24.92971 1.710e+00 -#> 21 parent 11.50 12.46890 -9.689e-01 -#> 21 parent 11.64 12.46890 -8.289e-01 -#> 35 parent 2.85 3.11925 -2.692e-01 -#> 35 parent 2.91 3.11925 -2.092e-01 -#> 50 parent 0.69 0.70679 -1.679e-02 -#> 50 parent 0.63 0.70679 -7.679e-02 -#> 75 parent 0.05 0.05952 -9.523e-03 -#> 75 parent 0.06 0.05952 4.772e-04 -#> 1 m1 4.84 4.81075 2.925e-02 -#> 1 m1 5.64 4.81075 8.292e-01 -#> 3 m1 12.91 13.04196 -1.320e-01 -#> 3 m1 12.96 13.04196 -8.196e-02 -#> 7 m1 22.97 25.06847 -2.098e+00 -#> 7 m1 24.47 25.06847 -5.985e-01 -#> 14 m1 41.69 36.70308 4.987e+00 -#> 14 m1 33.21 36.70308 -3.493e+00 -#> 21 m1 44.37 41.65115 2.719e+00 -#> 21 m1 46.44 41.65115 4.789e+00 -#> 35 m1 41.22 43.29465 -2.075e+00 -#> 35 m1 37.95 43.29465 -5.345e+00 -#> 50 m1 41.19 41.19948 -9.479e-03 -#> 50 m1 40.01 41.19948 -1.189e+00 -#> 75 m1 40.09 36.44035 3.650e+00 -#> 75 m1 33.85 36.44035 -2.590e+00 -#> 100 m1 31.04 31.98773 -9.477e-01 -#> 100 m1 33.13 31.98773 1.142e+00 -#> 120 m1 25.15 28.80429 -3.654e+00 -#> 120 m1 33.31 28.80429 4.506e+00
    f.tc <- mkinfit(SFO_SFO.ff, FOCUS_2006_D, error_model = "tc", quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    summary(f.tc)
    #> mkin version used for fitting: 0.9.50.3 -#> R version used for fitting: 4.0.0 -#> Date of fit: Wed May 27 07:43:52 2020 -#> Date of summary: Wed May 27 07:43:52 2020 -#> -#> Equations: -#> d_parent/dt = - k_parent * parent -#> d_m1/dt = + f_parent_to_m1 * k_parent * parent - k_m1 * m1 +#> d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent +#> d_m1/dt = + f_parent_to_m1 * (alpha/beta) * 1/((time/beta) + 1) * +#> parent - k_m1 * m1 #> -#> Model predictions using solution type analytical +#> Model predictions using solution type deSolve #> -#> Fitted using 2088 model solutions performed in 0.714 s +#> Fitted using 3611 model solutions performed in 2.61 s #> #> Error model: Two-component variance function #> #> Error model algorithm: d_3 -#> Direct fitting and three-step fitting yield approximately the same likelihood +#> Three-step fitting yielded a higher likelihood than direct fitting #> #> Starting values for parameters to be optimised: -#> value type -#> parent_0 100.7500 state -#> k_parent 0.1000 deparm -#> k_m1 0.1001 deparm -#> f_parent_to_m1 0.5000 deparm -#> sigma_low 0.1000 error -#> rsd_high 0.1000 error +#> value type +#> parent_0 100.75 state +#> alpha 1.00 deparm +#> beta 10.00 deparm +#> k_m1 0.10 deparm +#> f_parent_to_m1 0.50 deparm +#> sigma_low 0.10 error +#> rsd_high 0.10 error #> #> Starting values for the transformed parameters actually optimised: #> value lower upper #> parent_0 100.750000 -Inf Inf -#> log_k_parent -2.302585 -Inf Inf -#> log_k_m1 -2.301586 -Inf Inf +#> log_k_m1 -2.302585 -Inf Inf #> f_parent_ilr_1 0.000000 -Inf Inf +#> log_alpha 0.000000 -Inf Inf +#> log_beta 2.302585 -Inf Inf #> sigma_low 0.100000 0 Inf #> rsd_high 0.100000 0 Inf #> @@ -932,98 +624,70 @@ Degradation Data. Environments 6(12) 124 #> #> Results: #> -#> AIC BIC logLik -#> 141.9656 151.7911 -64.98278 +#> AIC BIC logLik +#> 143.658 155.1211 -64.82902 #> #> Optimised, transformed parameters with symmetric confidence intervals: -#> Estimate Std. Error Lower Upper -#> parent_0 100.70000 2.621000 95.400000 106.10000 -#> log_k_parent -2.29700 0.008862 -2.315000 -2.27900 -#> log_k_m1 -5.26600 0.091310 -5.452000 -5.08000 -#> f_parent_ilr_1 0.02374 0.055300 -0.088900 0.13640 -#> sigma_low 0.00305 0.004829 -0.006786 0.01289 -#> rsd_high 0.07928 0.009418 0.060100 0.09847 +#> Estimate Std. Error Lower Upper +#> parent_0 101.600000 2.6390000 96.240000 107.000000 +#> log_k_m1 -5.284000 0.0928900 -5.473000 -5.095000 +#> f_parent_ilr_1 0.001008 0.0541900 -0.109500 0.111500 +#> log_alpha 5.522000 0.0077300 5.506000 5.538000 +#> log_beta 7.806000 NaN NaN NaN +#> sigma_low 0.002488 0.0002431 0.001992 0.002984 +#> rsd_high 0.079210 0.0093280 0.060180 0.098230 #> #> Parameter correlation: -#> parent_0 log_k_parent log_k_m1 f_parent_ilr_1 sigma_low rsd_high -#> parent_0 1.00000 0.67644 -0.10215 -0.76822 0.14294 -0.08783 -#> log_k_parent 0.67644 1.00000 -0.15102 -0.59491 0.34611 -0.08125 -#> log_k_m1 -0.10215 -0.15102 1.00000 0.51808 -0.05236 0.01240 -#> f_parent_ilr_1 -0.76822 -0.59491 0.51808 1.00000 -0.13900 0.03248 -#> sigma_low 0.14294 0.34611 -0.05236 -0.13900 1.00000 -0.16546 -#> rsd_high -0.08783 -0.08125 0.01240 0.03248 -0.16546 1.00000 +#> parent_0 log_k_m1 f_parent_ilr_1 log_alpha log_beta sigma_low +#> parent_0 1.000000 -0.094697 -0.76654 0.70525 NaN 0.016099 +#> log_k_m1 -0.094697 1.000000 0.51404 -0.14347 NaN 0.001576 +#> f_parent_ilr_1 -0.766543 0.514038 1.00000 -0.61368 NaN 0.015465 +#> log_alpha 0.705247 -0.143468 -0.61368 1.00000 NaN 5.871780 +#> log_beta NaN NaN NaN NaN 1 NaN +#> sigma_low 0.016099 0.001576 0.01546 5.87178 NaN 1.000000 +#> rsd_high 0.006566 -0.011662 -0.05353 0.04845 NaN -0.652554 +#> rsd_high +#> parent_0 0.006566 +#> log_k_m1 -0.011662 +#> f_parent_ilr_1 -0.053525 +#> log_alpha 0.048451 +#> log_beta NaN +#> sigma_low -0.652554 +#> rsd_high 1.000000 #> #> Backtransformed parameters: #> Confidence intervals for internally transformed parameters are asymmetric. #> t-test (unrealistically) based on the assumption of normal distribution #> for estimators of untransformed parameters. -#> Estimate t value Pr(>t) Lower Upper -#> parent_0 1.007e+02 38.4300 1.180e-28 95.400000 1.061e+02 -#> k_parent 1.006e-01 112.8000 1.718e-43 0.098760 1.024e-01 -#> k_m1 5.167e-03 10.9500 1.171e-12 0.004290 6.223e-03 -#> f_parent_to_m1 5.084e-01 26.0100 2.146e-23 0.468600 5.481e-01 -#> sigma_low 3.050e-03 0.6314 2.661e-01 -0.006786 1.289e-02 -#> rsd_high 7.928e-02 8.4170 6.418e-10 0.060100 9.847e-02 +#> Estimate t value Pr(>t) Lower Upper +#> parent_0 1.016e+02 32.7800 6.312e-26 9.624e+01 1.070e+02 +#> k_m1 5.072e-03 10.1200 1.216e-11 4.197e-03 6.130e-03 +#> f_parent_to_m1 5.004e-01 20.8300 4.318e-20 4.614e-01 5.394e-01 +#> alpha 2.502e+02 0.5624 2.889e-01 2.463e+02 2.542e+02 +#> beta 2.455e+03 0.5549 2.915e-01 NA NA +#> sigma_low 2.488e-03 0.4843 3.158e-01 1.992e-03 2.984e-03 +#> rsd_high 7.921e-02 8.4300 8.001e-10 6.018e-02 9.823e-02 #> #> FOCUS Chi2 error levels in percent: #> err.min n.optim df -#> All data 6.475 4 15 -#> parent 6.573 2 7 -#> m1 4.671 2 8 +#> All data 6.781 5 14 +#> parent 7.141 3 6 +#> m1 4.640 2 8 #> #> Resulting formation fractions: #> ff -#> parent_m1 0.5084 -#> parent_sink 0.4916 +#> parent_m1 0.5004 +#> parent_sink 0.4996 #> #> Estimated disappearance times: -#> DT50 DT90 -#> parent 6.893 22.9 -#> m1 134.156 445.7 -#> -#> Data: -#> time variable observed predicted residual -#> 0 parent 99.46 100.73434 -1.274340 -#> 0 parent 102.04 100.73434 1.305660 -#> 1 parent 93.50 91.09751 2.402486 -#> 1 parent 92.50 91.09751 1.402486 -#> 3 parent 63.23 74.50141 -11.271410 -#> 3 parent 68.99 74.50141 -5.511410 -#> 7 parent 52.32 49.82880 2.491200 -#> 7 parent 55.13 49.82880 5.301200 -#> 14 parent 27.27 24.64809 2.621908 -#> 14 parent 26.64 24.64809 1.991908 -#> 21 parent 11.50 12.19232 -0.692315 -#> 21 parent 11.64 12.19232 -0.552315 -#> 35 parent 2.85 2.98327 -0.133266 -#> 35 parent 2.91 2.98327 -0.073266 -#> 50 parent 0.69 0.66013 0.029874 -#> 50 parent 0.63 0.66013 -0.030126 -#> 75 parent 0.05 0.05344 -0.003438 -#> 75 parent 0.06 0.05344 0.006562 -#> 1 m1 4.84 4.88645 -0.046451 -#> 1 m1 5.64 4.88645 0.753549 -#> 3 m1 12.91 13.22867 -0.318669 -#> 3 m1 12.96 13.22867 -0.268669 -#> 7 m1 22.97 25.36417 -2.394166 -#> 7 m1 24.47 25.36417 -0.894166 -#> 14 m1 41.69 37.00974 4.680263 -#> 14 m1 33.21 37.00974 -3.799737 -#> 21 m1 44.37 41.90133 2.468669 -#> 21 m1 46.44 41.90133 4.538669 -#> 35 m1 41.22 43.45691 -2.236913 -#> 35 m1 37.95 43.45691 -5.506913 -#> 50 m1 41.19 41.34199 -0.151985 -#> 50 m1 40.01 41.34199 -1.331985 -#> 75 m1 40.09 36.61471 3.475295 -#> 75 m1 33.85 36.61471 -2.764705 -#> 100 m1 31.04 32.20082 -1.160823 -#> 100 m1 33.13 32.20082 0.929177 -#> 120 m1 25.15 29.04130 -3.891304 -#> 120 m1 33.31 29.04130 4.268696
    # } - - -
    +#> DT50 DT90 DT50back +#> parent 6.812 22.7 6.834 +#> m1 136.661 454.0 NA
    +# We can easily use starting parameters from the parent only fit (only for illustration) +fit.FOMC = mkinfit("FOMC", FOCUS_2006_D, quiet = TRUE, error_model = "tc") +fit.FOMC_SFO <- mkinfit(FOMC_SFO, FOCUS_D, quiet = TRUE, + parms.ini = fit.FOMC$bparms.ode, error_model = "tc") +# }
    #> Compilation argument: -#> /usr/lib/R/bin/R CMD SHLIB file15d25f6867c9.c 2> file15d25f6867c9.c.err.txt +#> /usr/lib/R/bin/R CMD SHLIB file306f74383fd2.c 2> file306f74383fd2.c.err.txt #> Program source: #> 1: #include <R.h> #> 2: @@ -301,7 +301,7 @@ Evaluating and Calculating Degradation Kinetics in Environmental Media

    #> }) #> return(predicted) #> } -#> <environment: 0x5555576161e0>
    +#> <environment: 0x55555ad56ea0>
    # If we have several parallel metabolites # (compare tests/testthat/test_synthetic_data_for_UBA_2014.R) m_synth_DFOP_par <- mkinmod( @@ -312,8 +312,9 @@ Evaluating and Calculating Degradation Kinetics in Environmental Media

    fit_DFOP_par_c <- mkinfit(m_synth_DFOP_par, synthetic_data_for_UBA_2014[[12]]$data, - quiet = TRUE) -# }
    + quiet = TRUE)
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.000174
    # } + +
    diff --git a/docs/dev/reference/mkinpredict.html b/docs/dev/reference/mkinpredict.html index 6d83e56f..15699c02 100644 --- a/docs/dev/reference/mkinpredict.html +++ b/docs/dev/reference/mkinpredict.html @@ -74,7 +74,7 @@ kinetic parameters and initial values for the state variables." /> mkin - 0.9.50.3 + 0.9.50.3 @@ -401,9 +401,9 @@ solver is used.

    solution_type = "analytical", use_compiled = FALSE)[201,]) }
    #> test relative elapsed #> 2 deSolve_compiled 1.0 0.005 -#> 4 analytical 1.0 0.005 +#> 4 analytical 1.8 0.009 #> 1 eigen 4.0 0.020 -#> 3 deSolve 45.6 0.228
    +#> 3 deSolve 44.6 0.223
    # \dontrun{ # Predict from a fitted model f <- mkinfit(SFO_SFO, FOCUS_2006_C, quiet = TRUE) diff --git a/docs/dev/reference/mkinresplot.html b/docs/dev/reference/mkinresplot.html index 11e0914e..5591d26f 100644 --- a/docs/dev/reference/mkinresplot.html +++ b/docs/dev/reference/mkinresplot.html @@ -75,7 +75,7 @@ argument show_residuals = TRUE." /> mkin - 0.9.50.3 + 0.9.50.3
    @@ -243,7 +243,7 @@ combining the plot of the fit and the residual plot.

    Examples

    -model <- mkinmod(parent = mkinsub("SFO", "m1"), m1 = mkinsub("SFO"))
    #> Successfully compiled differential equation model from auto-generated C code.
    fit <- mkinfit(model, FOCUS_2006_D, quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    mkinresplot(fit, "m1")
    +model <- mkinmod(parent = mkinsub("SFO", "m1"), m1 = mkinsub("SFO"))
    #> Successfully compiled differential equation model from auto-generated C code.
    fit <- mkinfit(model, FOCUS_2006_D, quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0165
    mkinresplot(fit, "m1")
    diff --git a/docs/dev/reference/mmkin-3.png b/docs/dev/reference/mmkin-3.png index e80448ab..bce34531 100644 Binary files a/docs/dev/reference/mmkin-3.png and b/docs/dev/reference/mmkin-3.png differ diff --git a/docs/dev/reference/mmkin-5.png b/docs/dev/reference/mmkin-5.png index 4c771bc9..56750342 100644 Binary files a/docs/dev/reference/mmkin-5.png and b/docs/dev/reference/mmkin-5.png differ diff --git a/docs/dev/reference/mmkin.html b/docs/dev/reference/mmkin.html index 3daf16e1..a5d7ba42 100644 --- a/docs/dev/reference/mmkin.html +++ b/docs/dev/reference/mmkin.html @@ -196,8 +196,9 @@ for parallel execution.

    Value

    A two-dimensional array of mkinfit -objects that can be indexed using the model names for the first index (row index) -and the dataset names for the second index (column index).

    +objects and/or try-errors that can be indexed using the model names for the +first index (row index) and the dataset names for the second index (column +index).

    See also

    [.mmkin for subsetting, plot.mmkin for @@ -218,19 +219,19 @@ plotting.

    time_default <- system.time(fits.0 <- mmkin(models, datasets, quiet = TRUE)) time_1 <- system.time(fits.4 <- mmkin(models, datasets, cores = 1, quiet = TRUE))
    #> Warning: Optimisation did not converge: -#> false convergence (8)
    +#> false convergence (8)
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0117
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0174
    time_default
    #> user system elapsed -#> 4.499 0.456 1.983
    time_1
    #> user system elapsed -#> 5.771 0.003 5.777
    +#> 4.500 0.399 1.311
    time_1
    #> user system elapsed +#> 5.154 0.008 5.165
    endpoints(fits.0[["SFO_lin", 2]])
    #> $ff #> parent_M1 parent_sink M1_M2 M1_sink -#> 0.7340479 0.2659521 0.7505687 0.2494313 +#> 0.7340478 0.2659522 0.7505691 0.2494309 #> #> $distimes #> DT50 DT90 #> parent 0.8777688 2.915885 -#> M1 2.3257457 7.725960 -#> M2 33.7200848 112.015697 +#> M1 2.3257466 7.725963 +#> M2 33.7200800 112.015681 #>
    # plot.mkinfit handles rows or columns of mmkin result objects plot(fits.0[1, ])
    plot(fits.0[1, ], obs_var = c("M1", "M2"))
    plot(fits.0[, 1])
    # Use double brackets to extract a single mkinfit object, which will be plotted diff --git a/docs/dev/reference/nafta.html b/docs/dev/reference/nafta.html index fe802c1b..690e4827 100644 --- a/docs/dev/reference/nafta.html +++ b/docs/dev/reference/nafta.html @@ -76,7 +76,7 @@ order of increasing model complexity, i.e. SFO, then IORE, and finally DFOP." /> mkin - 0.9.50.3 + 0.9.50.3
    @@ -214,7 +214,7 @@ list element "data" contains the dataset used in the fits.

    Examples

    - nafta_evaluation <- nafta(NAFTA_SOP_Appendix_D, cores = 1)
    #> The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
    #> The representative half-life of the IORE model is longer than the one corresponding
    #> to the terminal degradation rate found with the DFOP model.
    #> The representative half-life obtained from the DFOP model may be used
    print(nafta_evaluation)
    #> Sums of squares: + nafta_evaluation <- nafta(NAFTA_SOP_Appendix_D, cores = 1)
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.00192
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.00258
    #> The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
    #> The representative half-life of the IORE model is longer than the one corresponding
    #> to the terminal degradation rate found with the DFOP model.
    #> The representative half-life obtained from the DFOP model may be used
    print(nafta_evaluation)
    #> Sums of squares: #> SFO IORE DFOP #> 1378.6832 615.7730 517.8836 #> @@ -223,17 +223,17 @@ list element "data" contains the dataset used in the fits.

    #> #> Parameters: #> $SFO -#> Estimate Pr(>t) Lower Upper -#> parent_0 83.7558 1.80e-14 77.18268 90.3288 -#> k_parent_sink 0.0017 7.43e-05 0.00112 0.0026 -#> sigma 8.7518 1.22e-05 5.64278 11.8608 +#> Estimate Pr(>t) Lower Upper +#> parent_0 83.7558 1.80e-14 77.18268 90.3288 +#> k_parent 0.0017 7.43e-05 0.00112 0.0026 +#> sigma 8.7518 1.22e-05 5.64278 11.8608 #> #> $IORE -#> Estimate Pr(>t) Lower Upper -#> parent_0 9.69e+01 NA 8.88e+01 1.05e+02 -#> k__iore_parent_sink 8.40e-14 NA 1.79e-18 3.94e-09 -#> N_parent 6.68e+00 NA 4.19e+00 9.17e+00 -#> sigma 5.85e+00 NA 3.76e+00 7.94e+00 +#> Estimate Pr(>t) Lower Upper +#> parent_0 9.69e+01 NA 8.88e+01 1.05e+02 +#> k__iore_parent 8.40e-14 NA 1.79e-18 3.94e-09 +#> N_parent 6.68e+00 NA 4.19e+00 9.17e+00 +#> sigma 5.85e+00 NA 3.76e+00 7.94e+00 #> #> $DFOP #> Estimate Pr(>t) Lower Upper diff --git a/docs/dev/reference/nlme-1.png b/docs/dev/reference/nlme-1.png index 68ccb43f..8db1f999 100644 Binary files a/docs/dev/reference/nlme-1.png and b/docs/dev/reference/nlme-1.png differ diff --git a/docs/dev/reference/nlme.html b/docs/dev/reference/nlme.html index 28a9f0a5..af5a151a 100644 --- a/docs/dev/reference/nlme.html +++ b/docs/dev/reference/nlme.html @@ -225,28 +225,28 @@ nlme for the case of a single grouping variable ds.

    #> Model: value ~ nlme_f(name, time, parent_0, log_k_parent_sink) #> Data: grouped_data #> AIC BIC logLik -#> 298.2781 307.7372 -144.1391 +#> 252.7798 262.1358 -121.3899 #> #> Random effects: #> Formula: list(parent_0 ~ 1, log_k_parent_sink ~ 1) #> Level: ds #> Structure: Diagonal -#> parent_0 log_k_parent_sink Residual -#> StdDev: 0.9374809 0.7098104 3.835429 +#> parent_0 log_k_parent_sink Residual +#> StdDev: 0.0006768135 0.6800777 2.489397 #> #> Fixed effects: parent_0 + log_k_parent_sink ~ 1 -#> Value Std.Error DF t-value p-value -#> parent_0 101.76838 1.1445465 45 88.91589 0 -#> log_k_parent_sink -3.05444 0.4195622 45 -7.28008 0 +#> Value Std.Error DF t-value p-value +#> parent_0 101.74884 0.6456014 44 157.60321 0 +#> log_k_parent_sink -3.05575 0.4015811 44 -7.60929 0 #> Correlation: #> prnt_0 -#> log_k_parent_sink 0.034 +#> log_k_parent_sink 0.026 #> #> Standardized Within-Group Residuals: -#> Min Q1 Med Q3 Max -#> -2.61693660 -0.21853517 0.05740766 0.57209378 3.04598387 +#> Min Q1 Med Q3 Max +#> -2.1317488 -0.6878121 0.0828385 0.8592270 2.9529864 #> -#> Number of Observations: 49 +#> Number of Observations: 48 #> Number of Groups: 3
    plot(augPred(m_nlme, level = 0:1), layout = c(3, 1))
    # augPred does not seem to work on fits with more than one state # variable diff --git a/docs/dev/reference/nlme.mmkin.html b/docs/dev/reference/nlme.mmkin.html index c7db9c23..16df54af 100644 --- a/docs/dev/reference/nlme.mmkin.html +++ b/docs/dev/reference/nlme.mmkin.html @@ -262,45 +262,44 @@ with additional elements

    Examples

    ds <- lapply(experimental_data_for_UBA_2019[6:10], function(x) subset(x$data[c("name", "time", "value")], name == "parent")) -f <- mmkin("SFO", ds, quiet = TRUE, cores = 1) -library(nlme) +f <- mmkin("SFO", ds, quiet = TRUE, cores = 1)
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0195
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.011
    library(nlme) endpoints(f[[1]])
    #> $distimes #> DT50 DT90 #> parent 11.96183 39.73634 #>
    f_nlme <- nlme(f) print(f_nlme)
    #> Nonlinear mixed-effects model fit by maximum likelihood -#> Model: value ~ (mkin::get_deg_func())(name, time, parent_0, log_k_parent_sink) +#> Model: value ~ (mkin::get_deg_func())(name, time, parent_0, log_k_parent) #> Data: "Not shown" #> Log-likelihood: -307.5269 -#> Fixed: list(parent_0 ~ 1, log_k_parent_sink ~ 1) -#> parent_0 log_k_parent_sink -#> 85.540979 -3.229602 +#> Fixed: list(parent_0 ~ 1, log_k_parent ~ 1) +#> parent_0 log_k_parent +#> 85.541149 -3.229596 #> #> Random effects: -#> Formula: list(parent_0 ~ 1, log_k_parent_sink ~ 1) +#> Formula: list(parent_0 ~ 1, log_k_parent ~ 1) #> Level: ds #> Structure: Diagonal -#> parent_0 log_k_parent_sink Residual -#> StdDev: 1.308245 1.288586 6.304923 +#> parent_0 log_k_parent Residual +#> StdDev: 1.30857 1.288591 6.304906 #> #> Number of Observations: 90 #> Number of Groups: 5
    endpoints(f_nlme)
    #> $distimes #> DT50 DT90 -#> parent 17.51556 58.18543 +#> parent 17.51545 58.18505 #>
    # \dontrun{ f_nlme_2 <- nlme(f, start = c(parent_0 = 100, log_k_parent_sink = 0.1)) update(f_nlme_2, random = parent_0 ~ 1)
    #> Nonlinear mixed-effects model fit by maximum likelihood -#> Model: value ~ (mkin::get_deg_func())(name, time, parent_0, log_k_parent_sink) +#> Model: value ~ (mkin::get_deg_func())(name, time, parent_0, log_k_parent) #> Data: "Not shown" #> Log-likelihood: -404.3729 -#> Fixed: list(parent_0 ~ 1, log_k_parent_sink ~ 1) -#> parent_0 log_k_parent_sink -#> 75.933480 -3.555983 +#> Fixed: list(parent_0 ~ 1, log_k_parent ~ 1) +#> parent_0 log_k_parent +#> 75.933480 -3.555983 #> #> Random effects: #> Formula: parent_0 ~ 1 | ds #> parent_0 Residual -#> StdDev: 0.002416802 21.63027 +#> StdDev: 0.002416792 21.63027 #> #> Number of Observations: 90 #> Number of Groups: 5
    # Test on some real data @@ -332,88 +331,88 @@ with additional elements

    f_nlme_fomc_sfo <- nlme(f_2["FOMC-SFO", ], control = list(pnlsMaxIter = 100, tolerance = 1e-4), verbose = TRUE)
    #> #> **Iteration 1 -#> LME step: Loglik: -394.1603, nlminb iterations: 2 +#> LME step: Loglik: -394.1603, nlminb iterations: 3 #> reStruct parameters: #> ds1 ds2 ds3 ds4 ds5 -#> -0.2079863 0.8563823 1.7454253 1.0917707 1.2756955 +#> -0.2079793 0.8563830 1.7454105 1.0917354 1.2756825 #> Beginning PNLS step: .. completed fit_nlme() step. -#> PNLS step: RSS = 643.8814 -#> fixed effects: 94.17379 -5.473189 -0.6970234 -0.202509 2.103883 +#> PNLS step: RSS = 643.8803 +#> fixed effects: 94.17379 -5.473193 -0.6970236 -0.2025091 2.103883 #> iterations: 100 #> Convergence crit. (must all become <= tolerance = 0.0001): #> fixed reStruct -#> 0.7959873 0.1447512 +#> 0.7960134 0.1447728 #> #> **Iteration 2 #> LME step: Loglik: -396.3824, nlminb iterations: 7 #> reStruct parameters: #> ds1 ds2 ds3 ds4 ds5 -#> -1.712406e-01 -2.278541e-05 1.842120e+00 1.073975e+00 1.322924e+00 +#> -1.712404e-01 -2.432655e-05 1.842120e+00 1.073975e+00 1.322925e+00 #> Beginning PNLS step: .. completed fit_nlme() step. -#> PNLS step: RSS = 643.8025 -#> fixed effects: 94.17385 -5.473491 -0.6970406 -0.2025139 2.103871 +#> PNLS step: RSS = 643.8035 +#> fixed effects: 94.17385 -5.473487 -0.6970404 -0.2025137 2.103871 #> iterations: 100 #> Convergence crit. (must all become <= tolerance = 0.0001): -#> fixed reStruct -#> 5.51758e-05 1.26861e-03 +#> fixed reStruct +#> 5.382757e-05 1.236667e-03 #> #> **Iteration 3 #> LME step: Loglik: -396.3825, nlminb iterations: 7 #> reStruct parameters: #> ds1 ds2 ds3 ds4 ds5 -#> -0.1712500923 -0.0001515734 1.8420972550 1.0739796967 1.3229177241 +#> -0.1712499044 -0.0001499831 1.8420971364 1.0739799123 1.3229167796 #> Beginning PNLS step: .. completed fit_nlme() step. -#> PNLS step: RSS = 643.7941 -#> fixed effects: 94.17386 -5.473523 -0.6970424 -0.2025146 2.103869 +#> PNLS step: RSS = 643.7948 +#> fixed effects: 94.17386 -5.473521 -0.6970422 -0.2025144 2.10387 #> iterations: 100 #> Convergence crit. (must all become <= tolerance = 0.0001): #> fixed reStruct -#> 5.792621e-06 1.335434e-04 +#> 6.072817e-06 1.400857e-04 #> #> **Iteration 4 #> LME step: Loglik: -396.3825, nlminb iterations: 7 #> reStruct parameters: #> ds1 ds2 ds3 ds4 ds5 -#> -0.1712517206 -0.0001651603 1.8420950864 1.0739800294 1.3229173529 +#> -0.1712529502 -0.0001641277 1.8420957542 1.0739797181 1.3229173076 #> Beginning PNLS step: .. completed fit_nlme() step. -#> PNLS step: RSS = 643.7949 -#> fixed effects: 94.17386 -5.473521 -0.6970423 -0.2025145 2.10387 +#> PNLS step: RSS = 643.7936 +#> fixed effects: 94.17386 -5.473526 -0.6970426 -0.2025146 2.103869 #> iterations: 100 #> Convergence crit. (must all become <= tolerance = 0.0001): #> fixed reStruct -#> 4.025781e-07 9.628656e-06
    f_nlme_dfop_sfo <- nlme(f_2["DFOP-SFO", ], +#> 1.027451e-06 2.275704e-05
    f_nlme_dfop_sfo <- nlme(f_2["DFOP-SFO", ], control = list(pnlsMaxIter = 120, tolerance = 5e-4), verbose = TRUE)
    #> #> **Iteration 1 -#> LME step: Loglik: -404.9583, nlminb iterations: 1 +#> LME step: Loglik: -404.9582, nlminb iterations: 1 #> reStruct parameters: #> ds1 ds2 ds3 ds4 ds5 ds6 -#> -0.4114357 0.9798641 1.6990035 0.7293314 0.3354323 1.7113047 +#> -0.4114355 0.9798697 1.6990037 0.7293315 0.3354323 1.7113046 #> Beginning PNLS step: .. completed fit_nlme() step. -#> PNLS step: RSS = 630.3642 -#> fixed effects: 93.82269 -5.455991 -0.6788957 -1.862196 -4.199671 0.0553284 +#> PNLS step: RSS = 630.3644 +#> fixed effects: 93.82269 -5.455991 -0.6788957 -1.862196 -4.199671 0.05532828 #> iterations: 120 #> Convergence crit. (must all become <= tolerance = 0.0005): #> fixed reStruct -#> 0.7879730 0.5822574 +#> 0.7885368 0.5822683 #> #> **Iteration 2 #> LME step: Loglik: -407.7755, nlminb iterations: 11 #> reStruct parameters: #> ds1 ds2 ds3 ds4 ds5 ds6 -#> -0.371224105 0.003056163 1.789939431 0.724671132 0.301602942 1.754200482 +#> -0.371224133 0.003056179 1.789939402 0.724671158 0.301602977 1.754200729 #> Beginning PNLS step: .. completed fit_nlme() step. -#> PNLS step: RSS = 630.364 -#> fixed effects: 93.82269 -5.455991 -0.6788958 -1.862196 -4.199671 0.05532834 +#> PNLS step: RSS = 630.3633 +#> fixed effects: 93.82269 -5.455992 -0.6788958 -1.862196 -4.199671 0.05532831 #> iterations: 120 #> Convergence crit. (must all become <= tolerance = 0.0005): #> fixed reStruct -#> 9.814652e-07 1.059239e-05
    plot(f_2["FOMC-SFO", 3:4])
    plot(f_nlme_fomc_sfo, 3:4)
    +#> 4.789774e-07 2.200661e-05
    plot(f_2["FOMC-SFO", 3:4])
    plot(f_nlme_fomc_sfo, 3:4)
    plot(f_2["DFOP-SFO", 3:4])
    plot(f_nlme_dfop_sfo, 3:4)
    anova(f_nlme_dfop_sfo, f_nlme_fomc_sfo, f_nlme_sfo_sfo)
    #> Model df AIC BIC logLik Test L.Ratio p-value -#> f_nlme_dfop_sfo 1 13 843.8547 884.6201 -408.9274 -#> f_nlme_fomc_sfo 2 11 818.5151 853.0089 -398.2576 1 vs 2 21.33957 <.0001 -#> f_nlme_sfo_sfo 3 9 1085.1821 1113.4043 -533.5910 2 vs 3 270.66697 <.0001
    anova(f_nlme_dfop_sfo, f_nlme_sfo_sfo) # if we ignore FOMC
    #> Model df AIC BIC logLik Test L.Ratio p-value -#> f_nlme_dfop_sfo 1 13 843.8547 884.6201 -408.9274 +#> f_nlme_dfop_sfo 1 13 843.8547 884.6201 -408.9273 +#> f_nlme_fomc_sfo 2 11 818.5149 853.0087 -398.2575 1 vs 2 21.33975 <.0001 +#> f_nlme_sfo_sfo 3 9 1085.1821 1113.4043 -533.5910 2 vs 3 270.66716 <.0001
    anova(f_nlme_dfop_sfo, f_nlme_sfo_sfo) # if we ignore FOMC
    #> Model df AIC BIC logLik Test L.Ratio p-value +#> f_nlme_dfop_sfo 1 13 843.8547 884.6201 -408.9273 #> f_nlme_sfo_sfo 2 9 1085.1821 1113.4043 -533.5910 1 vs 2 249.3274 <.0001
    endpoints(f_nlme_sfo_sfo)
    #> $ff #> parent_sink parent_A1 A1_sink @@ -428,9 +427,9 @@ with additional elements

    #> 0.2768574 0.7231426 #> #> $distimes -#> DT50 DT90 DT50_k1 DT50_k2 -#> parent 11.07091 104.6320 4.462384 46.20825 -#> A1 162.30518 539.1661 NA NA +#> DT50 DT90 DT50back DT50_k1 DT50_k2 +#> parent 11.07091 104.6320 31.49738 4.462384 46.20825 +#> A1 162.30536 539.1667 NA NA NA #>
    # }
    diff --git a/docs/dev/reference/parms.html b/docs/dev/reference/parms.html index a50ca352..bd35d3c1 100644 --- a/docs/dev/reference/parms.html +++ b/docs/dev/reference/parms.html @@ -188,23 +188,22 @@ such matrices is returned.

    Examples

    # mkinfit objects fit <- mkinfit("SFO", FOCUS_2006_C, quiet = TRUE) -parms(fit)
    #> parent_0 k_parent_sink sigma -#> 82.4921598 0.3060633 4.6730124
    parms(fit, transformed = TRUE)
    #> parent_0 log_k_parent_sink sigma -#> 82.492160 -1.183963 4.673012
    +parms(fit)
    #> parent_0 k_parent sigma +#> 82.4921598 0.3060633 4.6730124
    parms(fit, transformed = TRUE)
    #> parent_0 log_k_parent sigma +#> 82.492160 -1.183963 4.673012
    # mmkin objects ds <- lapply(experimental_data_for_UBA_2019[6:10], function(x) subset(x$data[c("name", "time", "value")])) names(ds) <- paste("Dataset", 6:10) # \dontrun{ -fits <- mmkin(c("SFO", "FOMC", "DFOP"), ds, quiet = TRUE, cores = 1) -parms(fits["SFO", ])
    #> Dataset 6 Dataset 7 Dataset 8 Dataset 9 Dataset 10 -#> parent_0 88.52275400 82.666781678 86.8547308 91.7779306 82.14809450 -#> k_parent_sink 0.05794659 0.009647805 0.2102974 0.1232258 0.00720421 -#> sigma 5.15274487 7.040168584 3.6769645 6.4669234 6.50457673
    parms(fits[, 2])
    #> $SFO -#> Dataset 7 -#> parent_0 82.666781678 -#> k_parent_sink 0.009647805 -#> sigma 7.040168584 +fits <- mmkin(c("SFO", "FOMC", "DFOP"), ds, quiet = TRUE, cores = 1)
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0195
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.00408
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0492
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.00985
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.00815
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.011
    parms(fits["SFO", ])
    #> Dataset 6 Dataset 7 Dataset 8 Dataset 9 Dataset 10 +#> parent_0 88.52275400 82.666781678 86.8547308 91.7779306 82.14809450 +#> k_parent 0.05794659 0.009647805 0.2102974 0.1232258 0.00720421 +#> sigma 5.15274487 7.040168584 3.6769645 6.4669234 6.50457673
    parms(fits[, 2])
    #> $SFO +#> Dataset 7 +#> parent_0 82.666781678 +#> k_parent 0.009647805 +#> sigma 7.040168584 #> #> $FOMC #> Dataset 7 @@ -221,10 +220,10 @@ such matrices is returned.

    #> g 0.526942415 #> sigma 2.221302196 #>
    parms(fits)
    #> $SFO -#> Dataset 6 Dataset 7 Dataset 8 Dataset 9 Dataset 10 -#> parent_0 88.52275400 82.666781678 86.8547308 91.7779306 82.14809450 -#> k_parent_sink 0.05794659 0.009647805 0.2102974 0.1232258 0.00720421 -#> sigma 5.15274487 7.040168584 3.6769645 6.4669234 6.50457673 +#> Dataset 6 Dataset 7 Dataset 8 Dataset 9 Dataset 10 +#> parent_0 88.52275400 82.666781678 86.8547308 91.7779306 82.14809450 +#> k_parent 0.05794659 0.009647805 0.2102974 0.1232258 0.00720421 +#> sigma 5.15274487 7.040168584 3.6769645 6.4669234 6.50457673 #> #> $FOMC #> Dataset 6 Dataset 7 Dataset 8 Dataset 9 Dataset 10 @@ -241,15 +240,15 @@ such matrices is returned.

    #> g 0.44845068 0.526942415 0.66091965 0.65322767 0.342652880 #> sigma 1.35690468 2.221302196 1.34169076 2.87159846 1.942067831 #>
    parms(fits, transformed = TRUE)
    #> $SFO -#> Dataset 6 Dataset 7 Dataset 8 Dataset 9 Dataset 10 -#> parent_0 88.522754 82.666782 86.854731 91.777931 82.148094 -#> log_k_parent_sink -2.848234 -4.641025 -1.559232 -2.093737 -4.933090 -#> sigma 5.152745 7.040169 3.676964 6.466923 6.504577 +#> Dataset 6 Dataset 7 Dataset 8 Dataset 9 Dataset 10 +#> parent_0 88.522754 82.666782 86.854731 91.777931 82.148094 +#> log_k_parent -2.848234 -4.641025 -1.559232 -2.093737 -4.933090 +#> sigma 5.152745 7.040169 3.676964 6.466923 6.504577 #> #> $FOMC #> Dataset 6 Dataset 7 Dataset 8 Dataset 9 Dataset 10 -#> parent_0 95.5585751 92.6837649 90.7197870 98.38393896 94.848146 -#> log_alpha 0.2916741 -0.6996015 0.4941466 0.07181817 -1.271085 +#> parent_0 95.5585751 92.6837649 90.7197870 98.38393897 94.848146 +#> log_alpha 0.2916741 -0.6996015 0.4941466 0.07181816 -1.271085 #> log_beta 2.5675088 2.6493701 1.6108523 1.48095106 1.932278 #> sigma 1.8476712 1.9167519 1.0660627 3.14605557 1.622278 #> diff --git a/docs/dev/reference/plot.mkinfit.html b/docs/dev/reference/plot.mkinfit.html index b9331f1a..ffbd1206 100644 --- a/docs/dev/reference/plot.mkinfit.html +++ b/docs/dev/reference/plot.mkinfit.html @@ -74,7 +74,7 @@ observed data together with the solution of the fitted model." /> mkin - 0.9.50.3 + 0.9.50.3
    @@ -338,7 +338,7 @@ latex is being used for the formatting of the chi2 error level, if # parent to sink included # \dontrun{ SFO_SFO <- mkinmod(parent = mkinsub("SFO", "m1", full = "Parent"), - m1 = mkinsub("SFO", full = "Metabolite M1" ))
    #> Successfully compiled differential equation model from auto-generated C code.
    fit <- mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    fit <- mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE, error_model = "tc")
    #> Warning: Observations with value of zero were removed from the data
    plot(fit)
    plot_res(fit)
    plot_res(fit, standardized = FALSE)
    plot_err(fit)
    + m1 = mkinsub("SFO", full = "Metabolite M1" ))
    #> Successfully compiled differential equation model from auto-generated C code.
    fit <- mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0165
    fit <- mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE, error_model = "tc")
    #> Warning: Observations with value of zero were removed from the data
    plot(fit)
    plot_res(fit)
    plot_res(fit, standardized = FALSE)
    plot_err(fit)
    # Show the observed variables separately, with residuals plot(fit, sep_obs = TRUE, show_residuals = TRUE, lpos = c("topright", "bottomright"), show_errmin = TRUE)
    diff --git a/docs/dev/reference/plot.mmkin-1.png b/docs/dev/reference/plot.mmkin-1.png index 8cf969c9..24fa6ca7 100644 Binary files a/docs/dev/reference/plot.mmkin-1.png and b/docs/dev/reference/plot.mmkin-1.png differ diff --git a/docs/dev/reference/plot.mmkin-2.png b/docs/dev/reference/plot.mmkin-2.png index 45d67b55..377e50b5 100644 Binary files a/docs/dev/reference/plot.mmkin-2.png and b/docs/dev/reference/plot.mmkin-2.png differ diff --git a/docs/dev/reference/plot.mmkin-3.png b/docs/dev/reference/plot.mmkin-3.png index c58b371a..3ea7b38a 100644 Binary files a/docs/dev/reference/plot.mmkin-3.png and b/docs/dev/reference/plot.mmkin-3.png differ diff --git a/docs/dev/reference/plot.mmkin-4.png b/docs/dev/reference/plot.mmkin-4.png index 47cd7eec..017fbd1d 100644 Binary files a/docs/dev/reference/plot.mmkin-4.png and b/docs/dev/reference/plot.mmkin-4.png differ diff --git a/docs/dev/reference/plot.mmkin-5.png b/docs/dev/reference/plot.mmkin-5.png index 44037bb4..e7463916 100644 Binary files a/docs/dev/reference/plot.mmkin-5.png and b/docs/dev/reference/plot.mmkin-5.png differ diff --git a/docs/dev/reference/plot.mmkin.html b/docs/dev/reference/plot.mmkin.html index ca1ec266..f02e2ea6 100644 --- a/docs/dev/reference/plot.mmkin.html +++ b/docs/dev/reference/plot.mmkin.html @@ -76,7 +76,7 @@ the fit of at least one model to the same dataset is shown." /> mkin - 0.9.50.3 + 0.9.50.3
    diff --git a/docs/dev/reference/plot.nlme.mmkin-2.png b/docs/dev/reference/plot.nlme.mmkin-2.png index c82d0271..265fd2e0 100644 Binary files a/docs/dev/reference/plot.nlme.mmkin-2.png and b/docs/dev/reference/plot.nlme.mmkin-2.png differ diff --git a/docs/dev/reference/plot.nlme.mmkin.html b/docs/dev/reference/plot.nlme.mmkin.html index fd40b975..7e6124a1 100644 --- a/docs/dev/reference/plot.nlme.mmkin.html +++ b/docs/dev/reference/plot.nlme.mmkin.html @@ -72,7 +72,7 @@ mkin - 0.9.50.3 + 0.9.50.3 @@ -238,8 +238,7 @@ than two rows of plots are shown.

    Examples

    ds <- lapply(experimental_data_for_UBA_2019[6:10], function(x) subset(x$data[c("name", "time", "value")], name == "parent")) -f <- mmkin("SFO", ds, quiet = TRUE, cores = 1) -#plot(f) # too many panels for pkgdown +f <- mmkin("SFO", ds, quiet = TRUE, cores = 1)
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0195
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.011
    #plot(f) # too many panels for pkgdown plot(f[, 3:4])
    library(nlme) f_nlme <- nlme(f) diff --git a/docs/dev/reference/print.mkinds.html b/docs/dev/reference/print.mkinds.html index 0539c7da..a8c0d808 100644 --- a/docs/dev/reference/print.mkinds.html +++ b/docs/dev/reference/print.mkinds.html @@ -72,7 +72,7 @@ mkin - 0.9.50.3 + 0.9.50.3
    diff --git a/docs/dev/reference/sigma_twocomp.html b/docs/dev/reference/sigma_twocomp.html index eac61a11..fd5c603e 100644 --- a/docs/dev/reference/sigma_twocomp.html +++ b/docs/dev/reference/sigma_twocomp.html @@ -73,7 +73,7 @@ dependence of the measured value \(y\):" /> mkin - 0.9.50.3 + 0.9.50.3 diff --git a/docs/dev/reference/summary.mkinfit.html b/docs/dev/reference/summary.mkinfit.html index 99d7d7c4..f971fdf4 100644 --- a/docs/dev/reference/summary.mkinfit.html +++ b/docs/dev/reference/summary.mkinfit.html @@ -76,7 +76,7 @@ values." /> mkin - 0.9.50.3 + 0.9.50.3 @@ -233,9 +233,9 @@ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,

    Examples

    summary(mkinfit(mkinmod(parent = mkinsub("SFO")), FOCUS_2006_A, quiet = TRUE))
    #> mkin version used for fitting: 0.9.50.3 -#> R version used for fitting: 4.0.0 -#> Date of fit: Wed May 27 06:02:05 2020 -#> Date of summary: Wed May 27 06:02:05 2020 +#> R version used for fitting: 4.0.2 +#> Date of fit: Thu Oct 8 09:13:59 2020 +#> Date of summary: Thu Oct 8 09:13:59 2020 #> #> Equations: #> d_parent/dt = - k_parent * parent @@ -274,9 +274,9 @@ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp, #> #> Parameter correlation: #> parent_0 log_k_parent sigma -#> parent_0 1.000e+00 5.428e-01 1.648e-07 -#> log_k_parent 5.428e-01 1.000e+00 2.513e-07 -#> sigma 1.648e-07 2.513e-07 1.000e+00 +#> parent_0 1.000e+00 5.428e-01 1.642e-07 +#> log_k_parent 5.428e-01 1.000e+00 2.507e-07 +#> sigma 1.642e-07 2.507e-07 1.000e+00 #> #> Backtransformed parameters: #> Confidence intervals for internally transformed parameters are asymmetric. diff --git a/docs/dev/reference/transform_odeparms.html b/docs/dev/reference/transform_odeparms.html index b0994d33..58a1e9a1 100644 --- a/docs/dev/reference/transform_odeparms.html +++ b/docs/dev/reference/transform_odeparms.html @@ -226,7 +226,7 @@ This is no problem for the internal use in mkinfit< SFO_SFO <- mkinmod( parent = list(type = "SFO", to = "m1", sink = TRUE), m1 = list(type = "SFO"))
    #> Successfully compiled differential equation model from auto-generated C code.
    # Fit the model to the FOCUS example dataset D using defaults -fit <- mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    fit.s <- summary(fit) +fit <- mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0165
    fit.s <- summary(fit) # Transformed and backtransformed parameters print(fit.s$par, 3)
    #> Estimate Std. Error Lower Upper #> parent_0 99.598 1.5702 96.4038 102.793 @@ -241,7 +241,7 @@ This is no problem for the internal use in mkinfit< #> sigma 3.12550 0.35852 8.72 2.24e-10 2.39609 3.8549
    # \dontrun{ # Compare to the version without transforming rate parameters -fit.2 <- mkinfit(SFO_SFO, FOCUS_2006_D, transform_rates = FALSE, quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    #> Error in if (cost < cost.current) { assign("cost.current", cost, inherits = TRUE) if (!quiet) cat(ifelse(OLS, "Sum of squared residuals", "Negative log-likelihood"), " at call ", calls, ": ", cost.current, "\n", sep = "")}: missing value where TRUE/FALSE needed
    #> Timing stopped at: 0 0.002 0.002
    fit.2.s <- summary(fit.2)
    #> Error in summary(fit.2): object 'fit.2' not found
    print(fit.2.s$par, 3)
    #> Error in print(fit.2.s$par, 3): object 'fit.2.s' not found
    print(fit.2.s$bpar, 3)
    #> Error in print(fit.2.s$bpar, 3): object 'fit.2.s' not found
    # } +fit.2 <- mkinfit(SFO_SFO, FOCUS_2006_D, transform_rates = FALSE, quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    #> Error in if (cost < cost.current) { assign("cost.current", cost, inherits = TRUE) if (!quiet) cat(ifelse(OLS, "Sum of squared residuals", "Negative log-likelihood"), " at call ", calls, ": ", signif(cost.current, 6), "\n", sep = "")}: missing value where TRUE/FALSE needed
    #> Timing stopped at: 0.002 0 0.003
    fit.2.s <- summary(fit.2)
    #> Error in summary(fit.2): object 'fit.2' not found
    print(fit.2.s$par, 3)
    #> Error in print(fit.2.s$par, 3): object 'fit.2.s' not found
    print(fit.2.s$bpar, 3)
    #> Error in print(fit.2.s$bpar, 3): object 'fit.2.s' not found
    # } initials <- fit$start$value names(initials) <- rownames(fit$start) @@ -256,7 +256,7 @@ This is no problem for the internal use in mkinfit< parent = list(type = "SFO", to = "m1", sink = TRUE), m1 = list(type = "SFO"), use_of_ff = "max")
    #> Successfully compiled differential equation model from auto-generated C code.
    -fit.ff <- mkinfit(SFO_SFO.ff, FOCUS_2006_D, quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    fit.ff.s <- summary(fit.ff) +fit.ff <- mkinfit(SFO_SFO.ff, FOCUS_2006_D, quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0165
    fit.ff.s <- summary(fit.ff) print(fit.ff.s$par, 3)
    #> Estimate Std. Error Lower Upper #> parent_0 99.598 1.5702 96.4038 102.793 #> log_k_parent -2.316 0.0409 -2.3988 -2.233 @@ -277,7 +277,7 @@ This is no problem for the internal use in mkinfit< m1 = list(type = "SFO"), use_of_ff = "max")
    #> Successfully compiled differential equation model from auto-generated C code.
    -fit.ff.2 <- mkinfit(SFO_SFO.ff.2, FOCUS_2006_D, quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    fit.ff.2.s <- summary(fit.ff.2) +fit.ff.2 <- mkinfit(SFO_SFO.ff.2, FOCUS_2006_D, quiet = TRUE)
    #> Warning: Observations with value of zero were removed from the data
    #> Warning: Shapiro-Wilk test for standardized residuals: p = 0.0242
    fit.ff.2.s <- summary(fit.ff.2) print(fit.ff.2.s$par, 3)
    #> Estimate Std. Error Lower Upper #> parent_0 84.79 3.012 78.67 90.91 #> log_k_parent -2.76 0.082 -2.92 -2.59 diff --git a/docs/dev/sitemap.xml b/docs/dev/sitemap.xml index e284abf6..81368436 100644 --- a/docs/dev/sitemap.xml +++ b/docs/dev/sitemap.xml @@ -171,9 +171,6 @@ https://pkgdown.jrwb.de/mkin/reference/residuals.mkinfit.html - - https://pkgdown.jrwb.de/mkin/reference/saemix.html - https://pkgdown.jrwb.de/mkin/reference/schaefer07_complex_case.html diff --git a/man/saemix.Rd b/man/saemix.Rd deleted file mode 100644 index eedbf537..00000000 --- a/man/saemix.Rd +++ /dev/null @@ -1,54 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/saemix.R -\name{saemix_model} -\alias{saemix_model} -\alias{saemix_data} -\title{Create saemix models from mmkin row objects} -\usage{ -saemix_model(object, cores = parallel::detectCores()) - -saemix_data(object, ...) -} -\arguments{ -\item{object}{An mmkin row object containing several fits of the same model to different datasets} - -\item{cores}{The number of cores to be used for multicore processing. -On Windows machines, cores > 1 is currently not supported.} - -\item{\dots}{Further parameters passed to \link[saemix:saemixData]{saemix::saemixData}} -} -\value{ -An \link[saemix:SaemixModel-class]{saemix::SaemixModel} object. - -An \link[saemix:SaemixData-class]{saemix::SaemixData} object. -} -\description{ -This function sets up a nonlinear mixed effects model for an mmkin row -object for use with the saemix package. An mmkin row object is essentially a -list of mkinfit objects that have been obtained by fitting the same model to -a list of datasets. -} -\details{ -Starting values for the fixed effects (population mean parameters, argument psi0 of -\code{\link[saemix:saemixModel]{saemix::saemixModel()}} are the mean values of the parameters found using -mmkin. Starting variances of the random effects (argument omega.init) are the -variances of the deviations of the parameters from these mean values. -} -\examples{ -ds <- lapply(experimental_data_for_UBA_2019[6:10], - function(x) subset(x$data[c("name", "time", "value")])) -names(ds) <- paste("Dataset", 6:10) -sfo_sfo <- mkinmod(parent = mkinsub("SFO", "A1"), - A1 = mkinsub("SFO")) -\dontrun{ -f_mmkin <- mmkin(list("SFO-SFO" = sfo_sfo), ds, quiet = TRUE) -library(saemix) -m_saemix <- saemix_model(f_mmkin) -d_saemix <- saemix_data(f_mmkin) -saemix_options <- list(seed = 123456, - save = FALSE, save.graphs = FALSE, displayProgress = FALSE, - nbiter.saemix = c(200, 80)) -f_saemix <- saemix(m_saemix, d_saemix, saemix_options) -plot(f_saemix, plot.type = "convergence") -} -} diff --git a/test.log b/test.log index 6e3c2c06..6bc6f08d 100644 --- a/test.log +++ b/test.log @@ -6,18 +6,18 @@ Testing mkin ✔ | 14 | Results for FOCUS D established in expertise for UBA (Ranke 2014) [0.9 s] ✔ | 4 | Calculation of FOCUS chi2 error levels [0.4 s] ✔ | 7 | Fitting the SFORB model [3.3 s] -✔ | 5 | Analytical solutions for coupled models [3.2 s] +✔ | 5 | Analytical solutions for coupled models [3.1 s] ✔ | 5 | Calculation of Akaike weights -✔ | 10 | Confidence intervals and p-values [1.1 s] -✔ | 14 | Error model fitting [3.8 s] -✔ | 4 | Test fitting the decline of metabolites from their maximum [0.3 s] +✔ | 10 | Confidence intervals and p-values [1.0 s] +✔ | 14 | Error model fitting [3.6 s] +✔ | 4 | Test fitting the decline of metabolites from their maximum [0.2 s] ✔ | 1 | Fitting the logistic model [0.2 s] ✔ | 1 | Test dataset class mkinds used in gmkin ✔ | 1 | mkinfit features [0.2 s] ✔ | 12 | Special cases of mkinfit calls [0.6 s] ✔ | 8 | mkinmod model generation and printing [0.2 s] ✔ | 3 | Model predictions with mkinpredict [0.4 s] -✔ | 14 2 | Evaluations according to 2015 NAFTA guidance [1.1 s] +✔ | 14 2 | Evaluations according to 2015 NAFTA guidance [1.0 s] ──────────────────────────────────────────────────────────────────────────────── test_nafta.R:25: skip: Test data from Appendix B are correctly evaluated Reason: getRversion() < "4.1.0" is TRUE @@ -26,7 +26,7 @@ test_nafta.R:53: skip: Test data from Appendix D are correctly evaluated Reason: getRversion() < "4.1.0" is TRUE ──────────────────────────────────────────────────────────────────────────────── ✔ | 9 | Nonlinear mixed-effects models [7.7 s] -✔ | 0 1 | Plotting [0.7 s] +✔ | 0 1 | Plotting [0.6 s] ──────────────────────────────────────────────────────────────────────────────── test_plot.R:24: skip: Plotting mkinfit and mmkin objects is reproducible Reason: getRversion() < "4.1.0" is TRUE @@ -35,12 +35,12 @@ Reason: getRversion() < "4.1.0" is TRUE ✔ | 2 | Complex test case from Schaefer et al. (2007) Piacenza paper [1.5 s] ✔ | 4 | Summary [0.1 s] ✔ | 1 | Summaries of old mkinfit objects -✔ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014) [2.2 s] -✔ | 9 | Hypothesis tests [6.8 s] -✔ | 4 | Calculation of maximum time weighted average concentrations (TWAs) [2.4 s] +✔ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014) [2.1 s] +✔ | 9 | Hypothesis tests [6.6 s] +✔ | 4 | Calculation of maximum time weighted average concentrations (TWAs) [2.5 s] ══ Results ═════════════════════════════════════════════════════════════════════ -Duration: 37.1 s +Duration: 36.5 s OK: 146 Failed: 0 diff --git a/test_dev.log b/test_dev.log index b68a7e56..b5f8fd8e 100644 --- a/test_dev.log +++ b/test_dev.log @@ -1,36 +1,37 @@ Loading mkin Testing mkin ✔ | OK F W S | Context - ⠏ | 0 | AIC calculation ✔ | 4 | AIC calculation - ⠏ | 0 | Export dataset for reading into CAKE ✔ | 2 | Export dataset for reading into CAKE - ⠏ | 0 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠋ | 1 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠹ | 3 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ⠏ | 10 | Results for FOCUS D established in expertise for UBA (Ranke 2014) ✔ | 14 | Results for FOCUS D established in expertise for UBA (Ranke 2014) [0.8 s] - ⠏ | 0 | Calculation of FOCUS chi2 error levels ⠙ | 2 | Calculation of FOCUS chi2 error levels ⠸ | 4 | Calculation of FOCUS chi2 error levels ✔ | 4 | Calculation of FOCUS chi2 error levels [0.4 s] - ⠏ | 0 | Fitting the SFORB model ⠋ | 1 | Fitting the SFORB model ⠼ | 5 | Fitting the SFORB model ✔ | 7 | Fitting the SFORB model [3.0 s] - ⠏ | 0 | Analytical solutions for coupled models ⠋ | 1 | Analytical solutions for coupled models ⠙ | 2 | Analytical solutions for coupled models ⠹ | 3 | Analytical solutions for coupled models ⠸ | 4 | Analytical solutions for coupled models ⠼ | 5 | Analytical solutions for coupled models ✔ | 5 | Analytical solutions for coupled models [2.9 s] - ⠏ | 0 | Calculation of Akaike weights ✔ | 5 | Calculation of Akaike weights - ⠏ | 0 | Confidence intervals and p-values ⠙ | 2 | Confidence intervals and p-values ⠏ | 10 | Confidence intervals and p-values ✔ | 10 | Confidence intervals and p-values [0.9 s] - ⠏ | 0 | Error model fitting ⠹ | 3 | Error model fitting ⠸ | 4 | Error model fitting ⠼ | 5 | Error model fitting ⠴ | 6 | Error model fitting ⠧ | 8 | Error model fitting ⠏ | 10 | Error model fitting ⠙ | 12 | Error model fitting ⠸ | 13 1 | Error model fitting ⠸ | 13 1 | Error model fitting ⠸ | 13 1 | Error model fitting ⠸ | 13 1 | Error model fitting ⠸ | 14 | Error model fitting ✔ | 14 | Error model fitting [3.7 s] - ⠏ | 0 | Test fitting the decline of metabolites from their maximum ⠹ | 3 | Test fitting the decline of metabolites from their maximum ⠸ | 4 | Test fitting the decline of metabolites from their maximum ✔ | 4 | Test fitting the decline of metabolites from their maximum [0.2 s] - ⠏ | 0 | Fitting the logistic model ⠋ | 1 | Fitting the logistic model ✔ | 1 | Fitting the logistic model [0.2 s] - ⠏ | 0 | Test dataset class mkinds used in gmkin ✔ | 1 | Test dataset class mkinds used in gmkin - ⠏ | 0 | Special cases of mkinfit calls ⠇ | 9 | Special cases of mkinfit calls ⠏ | 10 | Special cases of mkinfit calls ⠋ | 11 | Special cases of mkinfit calls ⠙ | 12 | Special cases of mkinfit calls ✔ | 12 | Special cases of mkinfit calls [0.6 s] - ⠏ | 0 | mkinmod model generation and printing ⠧ | 8 | mkinmod model generation and printing ✔ | 8 | mkinmod model generation and printing [0.2 s] - ⠏ | 0 | Model predictions with mkinpredict ⠋ | 1 | Model predictions with mkinpredict ✔ | 3 | Model predictions with mkinpredict [0.3 s] - ⠏ | 0 | Evaluations according to 2015 NAFTA guidance ⠙ | 2 | Evaluations according to 2015 NAFTA guidance ⠇ | 9 | Evaluations according to 2015 NAFTA guidance ⠏ | 10 | Evaluations according to 2015 NAFTA guidance ⠴ | 16 | Evaluations according to 2015 NAFTA guidance ✔ | 16 | Evaluations according to 2015 NAFTA guidance [1.4 s] - ⠏ | 0 | Nonlinear mixed-effects models ⠋ | 1 | Nonlinear mixed-effects models ⠙ | 2 | Nonlinear mixed-effects models ⠸ | 4 | Nonlinear mixed-effects models ⠼ | 5 | Nonlinear mixed-effects models ⠴ | 6 | Nonlinear mixed-effects models ⠧ | 8 | Nonlinear mixed-effects models ⠇ | 9 | Nonlinear mixed-effects models ✔ | 9 | Nonlinear mixed-effects models [7.0 s] - ⠏ | 0 | Plotting ⠋ | 1 | Plotting ⠸ | 4 | Plotting ⠦ | 7 | Plotting ⠇ | 9 | Plotting ⠙ | 12 | Plotting ✔ | 14 | Plotting [1.3 s] - ⠏ | 0 | Residuals extracted from mkinfit models ✔ | 4 | Residuals extracted from mkinfit models - ⠏ | 0 | Complex test case from Schaefer et al. (2007) Piacenza paper ⠋ | 1 | Complex test case from Schaefer et al. (2007) Piacenza paper ✔ | 2 | Complex test case from Schaefer et al. (2007) Piacenza paper [1.3 s] - ⠏ | 0 | Summary ✔ | 4 | Summary - ⠏ | 0 | Summaries of old mkinfit objects ✔ | 1 | Summaries of old mkinfit objects - ⠏ | 0 | Results for synthetic data established in expertise for UBA (Ranke 2014) ⠋ | 1 | Results for synthetic data established in expertise for UBA (Ranke 2014) ⠹ | 3 | Results for synthetic data established in expertise for UBA (Ranke 2014) ✔ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014) [2.0 s] - ⠏ | 0 | Hypothesis tests ⠼ | 5 | Hypothesis tests ⠴ | 6 | Hypothesis tests ⠧ | 8 | Hypothesis tests ⠇ | 9 | Hypothesis tests ✔ | 9 | Hypothesis tests [7.1 s] - ⠏ | 0 | Calculation of maximum time weighted average concentrations (TWAs) ⠋ | 1 | Calculation of maximum time weighted average concentrations (TWAs) ⠙ | 2 | Calculation of maximum time weighted average concentrations (TWAs) ⠹ | 3 | Calculation of maximum time weighted average concentrations (TWAs) ⠸ | 4 | Calculation of maximum time weighted average concentrations (TWAs) ✔ | 4 | Calculation of maximum time weighted average concentrations (TWAs) [2.2 s] +✔ | 4 | AIC calculation +✔ | 2 | Export dataset for reading into CAKE +✔ | 14 | Results for FOCUS D established in expertise for UBA (Ranke 2014) [0.8 s] +✔ | 4 | Calculation of FOCUS chi2 error levels [0.4 s] +✔ | 7 | Fitting the SFORB model [3.0 s] +✔ | 5 | Analytical solutions for coupled models [2.9 s] +✔ | 5 | Calculation of Akaike weights +✔ | 10 | Confidence intervals and p-values [0.9 s] +✔ | 14 | Error model fitting [3.4 s] +✔ | 4 | Test fitting the decline of metabolites from their maximum [0.2 s] +✔ | 1 | Fitting the logistic model [0.2 s] +✔ | 1 | Test dataset class mkinds used in gmkin +✔ | 1 | mkinfit features [0.2 s] +✔ | 12 | Special cases of mkinfit calls [0.6 s] +✔ | 8 | mkinmod model generation and printing [0.2 s] +✔ | 3 | Model predictions with mkinpredict [0.3 s] +✔ | 16 | Evaluations according to 2015 NAFTA guidance [1.3 s] +✔ | 9 | Nonlinear mixed-effects models [7.0 s] +✔ | 14 | Plotting [1.3 s] +✔ | 4 | Residuals extracted from mkinfit models +✔ | 2 | Complex test case from Schaefer et al. (2007) Piacenza paper [1.3 s] +✔ | 4 | Summary +✔ | 1 | Summaries of old mkinfit objects +✔ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014) [2.0 s] +✔ | 9 | Hypothesis tests [7.1 s] +✔ | 4 | Calculation of maximum time weighted average concentrations (TWAs) [2.2 s] ══ Results ═════════════════════════════════════════════════════════════════════ -Duration: 35.7 s +Duration: 35.6 s -OK: 161 +OK: 162 Failed: 0 Warnings: 0 Skipped: 0 diff --git a/tests/testthat/FOCUS_2006_D.csf b/tests/testthat/FOCUS_2006_D.csf index a340a0a5..115d28f4 100644 --- a/tests/testthat/FOCUS_2006_D.csf +++ b/tests/testthat/FOCUS_2006_D.csf @@ -5,7 +5,7 @@ Description: MeasurementUnits: % AR TimeUnits: days Comments: Created using mkin::CAKE_export -Date: 2020-07-17 +Date: 2020-10-08 Optimiser: IRLS [Data] diff --git a/tests/testthat/summary_DFOP_FOCUS_C.txt b/tests/testthat/summary_DFOP_FOCUS_C.txt index ab64a588..b9ba7c17 100644 --- a/tests/testthat/summary_DFOP_FOCUS_C.txt +++ b/tests/testthat/summary_DFOP_FOCUS_C.txt @@ -66,8 +66,8 @@ All data 2.661 4 5 parent 2.661 4 5 Estimated disappearance times: - DT50 DT90 DT50_k1 DT50_k2 -parent 1.887 21.25 1.508 38.83 + DT50 DT90 DT50back DT50_k1 DT50_k2 +parent 1.887 21.25 6.397 1.508 38.83 Data: time variable observed predicted residual diff --git a/vignettes/FOCUS_D.html b/vignettes/FOCUS_D.html index 16bc2084..ea6acdbe 100644 --- a/vignettes/FOCUS_D.html +++ b/vignettes/FOCUS_D.html @@ -11,7 +11,7 @@ - + Example evaluation of FOCUS Example Dataset D @@ -365,7 +365,7 @@ summary {

    Example evaluation of FOCUS Example Dataset D

    Johannes Ranke

    -

    2020-05-26

    +

    2020-10-08

    @@ -431,6 +431,8 @@ print(FOCUS_2006_D)
    fit <- mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE)
    ## Warning in mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE): Observations with value
     ## of zero were removed from the data
    +
    ## Warning in mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE): Shapiro-Wilk test for
    +## standardized residuals: p = 0.0165

    A plot of the fit including a residual plot for both observed variables is obtained using the plot_sep method for mkinfit objects, which shows separate graphs for all compounds and their residuals.

    plot_sep(fit, lpos = c("topright", "bottomright"))

    @@ -440,9 +442,9 @@ print(FOCUS_2006_D)

    A comprehensive report of the results is obtained using the summary method for mkinfit objects.

    summary(fit)
    ## mkin version used for fitting:    0.9.50.3 
    -## R version used for fitting:       4.0.0 
    -## Date of fit:     Tue May 26 17:01:07 2020 
    -## Date of summary: Tue May 26 17:01:07 2020 
    +## R version used for fitting:       4.0.2 
    +## Date of fit:     Thu Oct  8 09:06:19 2020 
    +## Date of summary: Thu Oct  8 09:06:19 2020 
     ## 
     ## Equations:
     ## d_parent/dt = - k_parent * parent
    @@ -450,7 +452,7 @@ print(FOCUS_2006_D)
    ## ## Model predictions using solution type analytical ## -## Fitted using 421 model solutions performed in 0.149 s +## Fitted using 421 model solutions performed in 0.152 s ## ## Error model: Constant variance ## @@ -474,6 +476,11 @@ print(FOCUS_2006_D)
    ## value type ## m1_0 0 state ## +## +## Warning(s): +## Observations with value of zero were removed from the data +## Shapiro-Wilk test for standardized residuals: p = 0.0165 +## ## Results: ## ## AIC BIC logLik diff --git a/vignettes/FOCUS_L.html b/vignettes/FOCUS_L.html index 7573ef58..c7722f37 100644 --- a/vignettes/FOCUS_L.html +++ b/vignettes/FOCUS_L.html @@ -11,7 +11,7 @@ - + Example evaluation of FOCUS Laboratory Data L1 to L3 @@ -1518,7 +1518,7 @@ div.tocify {

    Example evaluation of FOCUS Laboratory Data L1 to L3

    Johannes Ranke

    -

    2020-05-26

    +

    2020-10-08

    @@ -1538,30 +1538,30 @@ FOCUS_2006_L1_mkin <- mkin_wide_to_long(FOCUS_2006_L1)
    m.L1.SFO <- mkinfit("SFO", FOCUS_2006_L1_mkin, quiet = TRUE)
     summary(m.L1.SFO)
    ## mkin version used for fitting:    0.9.50.3 
    -## R version used for fitting:       4.0.0 
    -## Date of fit:     Tue May 26 17:01:08 2020 
    -## Date of summary: Tue May 26 17:01:08 2020 
    +## R version used for fitting:       4.0.2 
    +## Date of fit:     Thu Oct  8 09:06:20 2020 
    +## Date of summary: Thu Oct  8 09:06:20 2020 
     ## 
     ## Equations:
    -## d_parent/dt = - k_parent_sink * parent
    +## d_parent/dt = - k_parent * parent
     ## 
     ## Model predictions using solution type analytical 
     ## 
    -## Fitted using 133 model solutions performed in 0.031 s
    +## Fitted using 133 model solutions performed in 0.032 s
     ## 
     ## Error model: Constant variance 
     ## 
     ## Error model algorithm: OLS 
     ## 
     ## Starting values for parameters to be optimised:
    -##               value   type
    -## parent_0      89.85  state
    -## k_parent_sink  0.10 deparm
    +##          value   type
    +## parent_0 89.85  state
    +## k_parent  0.10 deparm
     ## 
     ## Starting values for the transformed parameters actually optimised:
    -##                       value lower upper
    -## parent_0          89.850000  -Inf   Inf
    -## log_k_parent_sink -2.302585  -Inf   Inf
    +##                  value lower upper
    +## parent_0     89.850000  -Inf   Inf
    +## log_k_parent -2.302585  -Inf   Inf
     ## 
     ## Fixed parameter values:
     ## None
    @@ -1572,25 +1572,25 @@ summary(m.L1.SFO)
    ## 93.88778 96.5589 -43.94389 ## ## Optimised, transformed parameters with symmetric confidence intervals: -## Estimate Std. Error Lower Upper -## parent_0 92.470 1.28200 89.740 95.200 -## log_k_parent_sink -2.347 0.03763 -2.428 -2.267 -## sigma 2.780 0.46330 1.792 3.767 +## Estimate Std. Error Lower Upper +## parent_0 92.470 1.28200 89.740 95.200 +## log_k_parent -2.347 0.03763 -2.428 -2.267 +## sigma 2.780 0.46330 1.792 3.767 ## ## Parameter correlation: -## parent_0 log_k_parent_sink sigma -## parent_0 1.000e+00 6.186e-01 -1.516e-09 -## log_k_parent_sink 6.186e-01 1.000e+00 -3.124e-09 -## sigma -1.516e-09 -3.124e-09 1.000e+00 +## parent_0 log_k_parent sigma +## parent_0 1.000e+00 6.186e-01 -1.516e-09 +## log_k_parent 6.186e-01 1.000e+00 -3.124e-09 +## sigma -1.516e-09 -3.124e-09 1.000e+00 ## ## Backtransformed parameters: ## Confidence intervals for internally transformed parameters are asymmetric. ## t-test (unrealistically) based on the assumption of normal distribution ## for estimators of untransformed parameters. -## Estimate t value Pr(>t) Lower Upper -## parent_0 92.47000 72.13 8.824e-21 89.74000 95.2000 -## k_parent_sink 0.09561 26.57 2.487e-14 0.08824 0.1036 -## sigma 2.78000 6.00 1.216e-05 1.79200 3.7670 +## Estimate t value Pr(>t) Lower Upper +## parent_0 92.47000 72.13 8.824e-21 89.74000 95.2000 +## k_parent 0.09561 26.57 2.487e-14 0.08824 0.1036 +## sigma 2.78000 6.00 1.216e-05 1.79200 3.7670 ## ## FOCUS Chi2 error levels in percent: ## err.min n.optim df @@ -1639,21 +1639,16 @@ summary(m.L1.SFO)
    ## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result is
     ## doubtful
    ## mkin version used for fitting:    0.9.50.3 
    -## R version used for fitting:       4.0.0 
    -## Date of fit:     Tue May 26 17:01:09 2020 
    -## Date of summary: Tue May 26 17:01:09 2020 
    -## 
    -## 
    -## Warning: Optimisation did not converge:
    -## false convergence (8) 
    -## 
    +## R version used for fitting:       4.0.2 
    +## Date of fit:     Thu Oct  8 09:06:21 2020 
    +## Date of summary: Thu Oct  8 09:06:21 2020 
     ## 
     ## Equations:
     ## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent
     ## 
     ## Model predictions using solution type analytical 
     ## 
    -## Fitted using 380 model solutions performed in 0.08 s
    +## Fitted using 380 model solutions performed in 0.088 s
     ## 
     ## Error model: Constant variance 
     ## 
    @@ -1674,6 +1669,11 @@ summary(m.L1.SFO)
    ## Fixed parameter values: ## None ## +## +## Warning(s): +## Optimisation did not converge: +## false convergence (8) +## ## Results: ## ## AIC BIC logLik @@ -1744,16 +1744,16 @@ plot(m.L2.FOMC, show_residuals = TRUE,

    summary(m.L2.FOMC, data = FALSE)
    ## mkin version used for fitting:    0.9.50.3 
    -## R version used for fitting:       4.0.0 
    -## Date of fit:     Tue May 26 17:01:09 2020 
    -## Date of summary: Tue May 26 17:01:09 2020 
    +## R version used for fitting:       4.0.2 
    +## Date of fit:     Thu Oct  8 09:06:21 2020 
    +## Date of summary: Thu Oct  8 09:06:21 2020 
     ## 
     ## Equations:
     ## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent
     ## 
     ## Model predictions using solution type analytical 
     ## 
    -## Fitted using 239 model solutions performed in 0.047 s
    +## Fitted using 239 model solutions performed in 0.05 s
     ## 
     ## Error model: Constant variance 
     ## 
    @@ -1822,9 +1822,9 @@ plot(m.L2.DFOP, show_residuals = TRUE, show_errmin = TRUE,
     

    summary(m.L2.DFOP, data = FALSE)
    ## mkin version used for fitting:    0.9.50.3 
    -## R version used for fitting:       4.0.0 
    -## Date of fit:     Tue May 26 17:01:09 2020 
    -## Date of summary: Tue May 26 17:01:09 2020 
    +## R version used for fitting:       4.0.2 
    +## Date of fit:     Thu Oct  8 09:06:21 2020 
    +## Date of summary: Thu Oct  8 09:06:21 2020 
     ## 
     ## Equations:
     ## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
    @@ -1833,7 +1833,7 @@ plot(m.L2.DFOP, show_residuals = TRUE, show_errmin = TRUE,
     ## 
     ## Model predictions using solution type analytical 
     ## 
    -## Fitted using 572 model solutions performed in 0.13 s
    +## Fitted using 572 model solutions performed in 0.136 s
     ## 
     ## Error model: Constant variance 
     ## 
    @@ -1894,8 +1894,8 @@ plot(m.L2.DFOP, show_residuals = TRUE, show_errmin = TRUE,
     ## parent      2.53       4  2
     ## 
     ## Estimated disappearance times:
    -##          DT50  DT90 DT50_k1 DT50_k2
    -## parent 0.5335 5.311 0.03009   2.058
    +## DT50 DT90 DT50back DT50_k1 DT50_k2 +## parent 0.5335 5.311 1.599 0.03009 2.058

    Here, the DFOP model is clearly the best-fit model for dataset L2 based on the chi^2 error level criterion. However, the failure to calculate the covariance matrix indicates that the parameter estimates correlate excessively. Therefore, the FOMC model may be preferred for this dataset.

    @@ -1922,9 +1922,9 @@ plot(mm.L3)

    We can extract the summary and plot for e.g. the DFOP fit, using square brackets for indexing which will result in the use of the summary and plot functions working on mkinfit objects.

    summary(mm.L3[["DFOP", 1]])
    ## mkin version used for fitting:    0.9.50.3 
    -## R version used for fitting:       4.0.0 
    -## Date of fit:     Tue May 26 17:01:10 2020 
    -## Date of summary: Tue May 26 17:01:10 2020 
    +## R version used for fitting:       4.0.2 
    +## Date of fit:     Thu Oct  8 09:06:22 2020 
    +## Date of summary: Thu Oct  8 09:06:22 2020 
     ## 
     ## Equations:
     ## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
    @@ -1933,7 +1933,7 @@ plot(mm.L3)
    ## ## Model predictions using solution type analytical ## -## Fitted using 373 model solutions performed in 0.083 s +## Fitted using 373 model solutions performed in 0.085 s ## ## Error model: Constant variance ## @@ -1994,8 +1994,8 @@ plot(mm.L3) ## parent 2.225 4 4 ## ## Estimated disappearance times: -## DT50 DT90 DT50_k1 DT50_k2 -## parent 7.464 123 1.343 50.37 +## DT50 DT90 DT50back DT50_k1 DT50_k2 +## parent 7.464 123 37.03 1.343 50.37 ## ## Data: ## time variable observed predicted residual @@ -2030,30 +2030,30 @@ plot(mm.L4)

    The χ2 error level of 3.3% as well as the plot suggest that the SFO model fits very well. The error level at which the χ2 test passes is slightly lower for the FOMC model. However, the difference appears negligible.

    summary(mm.L4[["SFO", 1]], data = FALSE)
    ## mkin version used for fitting:    0.9.50.3 
    -## R version used for fitting:       4.0.0 
    -## Date of fit:     Tue May 26 17:01:10 2020 
    -## Date of summary: Tue May 26 17:01:10 2020 
    +## R version used for fitting:       4.0.2 
    +## Date of fit:     Thu Oct  8 09:06:22 2020 
    +## Date of summary: Thu Oct  8 09:06:22 2020 
     ## 
     ## Equations:
    -## d_parent/dt = - k_parent_sink * parent
    +## d_parent/dt = - k_parent * parent
     ## 
     ## Model predictions using solution type analytical 
     ## 
    -## Fitted using 142 model solutions performed in 0.029 s
    +## Fitted using 142 model solutions performed in 0.03 s
     ## 
     ## Error model: Constant variance 
     ## 
     ## Error model algorithm: OLS 
     ## 
     ## Starting values for parameters to be optimised:
    -##               value   type
    -## parent_0       96.6  state
    -## k_parent_sink   0.1 deparm
    +##          value   type
    +## parent_0  96.6  state
    +## k_parent   0.1 deparm
     ## 
     ## Starting values for the transformed parameters actually optimised:
    -##                       value lower upper
    -## parent_0          96.600000  -Inf   Inf
    -## log_k_parent_sink -2.302585  -Inf   Inf
    +##                  value lower upper
    +## parent_0     96.600000  -Inf   Inf
    +## log_k_parent -2.302585  -Inf   Inf
     ## 
     ## Fixed parameter values:
     ## None
    @@ -2064,25 +2064,25 @@ plot(mm.L4)
    ## 47.12133 47.35966 -20.56067 ## ## Optimised, transformed parameters with symmetric confidence intervals: -## Estimate Std. Error Lower Upper -## parent_0 96.440 1.69900 92.070 100.800 -## log_k_parent_sink -5.030 0.07059 -5.211 -4.848 -## sigma 3.162 0.79050 1.130 5.194 +## Estimate Std. Error Lower Upper +## parent_0 96.440 1.69900 92.070 100.800 +## log_k_parent -5.030 0.07059 -5.211 -4.848 +## sigma 3.162 0.79050 1.130 5.194 ## ## Parameter correlation: -## parent_0 log_k_parent_sink sigma -## parent_0 1.000e+00 5.938e-01 3.387e-07 -## log_k_parent_sink 5.938e-01 1.000e+00 5.830e-07 -## sigma 3.387e-07 5.830e-07 1.000e+00 +## parent_0 log_k_parent sigma +## parent_0 1.000e+00 5.938e-01 3.387e-07 +## log_k_parent 5.938e-01 1.000e+00 5.830e-07 +## sigma 3.387e-07 5.830e-07 1.000e+00 ## ## Backtransformed parameters: ## Confidence intervals for internally transformed parameters are asymmetric. ## t-test (unrealistically) based on the assumption of normal distribution ## for estimators of untransformed parameters. -## Estimate t value Pr(>t) Lower Upper -## parent_0 96.440000 56.77 1.604e-08 92.070000 1.008e+02 -## k_parent_sink 0.006541 14.17 1.578e-05 0.005455 7.842e-03 -## sigma 3.162000 4.00 5.162e-03 1.130000 5.194e+00 +## Estimate t value Pr(>t) Lower Upper +## parent_0 96.440000 56.77 1.604e-08 92.070000 1.008e+02 +## k_parent 0.006541 14.17 1.578e-05 0.005455 7.842e-03 +## sigma 3.162000 4.00 5.162e-03 1.130000 5.194e+00 ## ## FOCUS Chi2 error levels in percent: ## err.min n.optim df @@ -2094,16 +2094,16 @@ plot(mm.L4) ## parent 106 352
    summary(mm.L4[["FOMC", 1]], data = FALSE)
    ## mkin version used for fitting:    0.9.50.3 
    -## R version used for fitting:       4.0.0 
    -## Date of fit:     Tue May 26 17:01:10 2020 
    -## Date of summary: Tue May 26 17:01:10 2020 
    +## R version used for fitting:       4.0.2 
    +## Date of fit:     Thu Oct  8 09:06:22 2020 
    +## Date of summary: Thu Oct  8 09:06:22 2020 
     ## 
     ## Equations:
     ## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent
     ## 
     ## Model predictions using solution type analytical 
     ## 
    -## Fitted using 224 model solutions performed in 0.044 s
    +## Fitted using 224 model solutions performed in 0.046 s
     ## 
     ## Error model: Constant variance 
     ## 
    diff --git a/vignettes/mkin.html b/vignettes/mkin.html
    index e14cb374..8d9989a2 100644
    --- a/vignettes/mkin.html
    +++ b/vignettes/mkin.html
    @@ -11,7 +11,7 @@
     
     
     
    -
    +
     
     Introduction to mkin
     
    @@ -1583,12 +1583,12 @@ div.tocify {
     
     

    Introduction to mkin

    Johannes Ranke

    -

    2020-05-26

    +

    2020-10-08

    -

    Wissenschaftlicher Berater, Kronacher Str. 12, 79639 Grenzach-Wyhlen, Germany
    Privatdozent at the University of Bremen

    +

    Wissenschaftlicher Berater, Kronacher Str. 12, 79639 Grenzach-Wyhlen, Germany
    Privatdozent at the University of Bremen

    Abstract

    In the regulatory evaluation of chemical substances like plant protection products (pesticides), biocides and other chemicals, degradation data play an important role. For the evaluation of pesticide degradation experiments, detailed guidance has been developed, based on nonlinear optimisation. The R add-on package mkin implements fitting some of the models recommended in this guidance from within R and calculates some statistical measures for data series within one or more compartments, for parent and metabolites.

    @@ -1627,7 +1627,7 @@ plot_sep(f_SFO_SFO_SFO, lpos = c("topright", "bottomright",

    Many approaches are possible regarding the evaluation of chemical degradation data.

    The mkin package (Ranke 2019) implements the approach recommended in the kinetics report provided by the FOrum for Co-ordination of pesticide fate models and their USe (FOCUS Work Group on Degradation Kinetics 2006, 2014) for simple decline data series, data series with transformation products, commonly termed metabolites, and for data series for more than one compartment. It is also possible to include back reactions, so equilibrium reactions and equilibrium partitioning can be specified, although this oftentimes leads to an overparameterisation of the model.

    When the first mkin code was published in 2010, the most commonly used tools for fitting more complex kinetic degradation models to experimental data were KinGUI (Schäfer et al. 2007), a MATLAB based tool with a graphical user interface that was specifically tailored to the task and included some output as proposed by the FOCUS Kinetics Workgroup, and ModelMaker, a general purpose compartment based tool providing infrastructure for fitting dynamic simulation models based on differential equations to data.

    -

    The code was first uploaded to the BerliOS platform. When this was taken down, the version control history was imported into the R-Forge site (see e.g. the initial commit on 11 May 2010), where the code is still occasionally updated.

    +

    The code was first uploaded to the BerliOS platform. When this was taken down, the version control history was imported into the R-Forge site (see e.g. the initial commit on 11 May 2010), where the code is still occasionally updated.

    At that time, the R package FME (Flexible Modelling Environment) (Soetaert and Petzoldt 2010) was already available, and provided a good basis for developing a package specifically tailored to the task. The remaining challenge was to make it as easy as possible for the users (including the author of this vignette) to specify the system of differential equations and to include the output requested by the FOCUS guidance, such as the relative standard deviation that has to be assumed for the residuals, such that the \(\chi^2\) goodness-of-fit test as defined by the FOCUS kinetics workgroup would pass using an significance level \(\alpha\) of 0.05. This relative error, expressed as a percentage, is often termed \(\chi^2\) error level or similar.

    Also, mkin introduced using analytical solutions for parent only kinetics for improved optimization speed. Later, Eigenvalue based solutions were introduced to mkin for the case of linear differential equations (i.e. where the FOMC or DFOP models were not used for the parent compound), greatly improving the optimization speed for these cases. This, however, has become somehow obsolete, as the use of compiled code described below gives even smaller execution times.

    The possibility to specify back-reactions and a biphasic model (SFORB) for metabolites were present in mkin from the very beginning.

    @@ -1636,7 +1636,7 @@ plot_sep(f_SFO_SFO_SFO, lpos = c("topright", "bottomright",

    Soon after the publication of mkin, two derived tools were published, namely KinGUII (available from Bayer Crop Science) and CAKE (commissioned to Tessella by Syngenta), which added a graphical user interface (GUI), and added fitting by iteratively reweighted least squares (IRLS) and characterisation of likely parameter distributions by Markov Chain Monte Carlo (MCMC) sampling.

    CAKE focuses on a smooth use experience, sacrificing some flexibility in the model definition, originally allowing only two primary metabolites in parallel. The current version 3.3 of CAKE release in March 2016 uses a basic scheme for up to six metabolites in a flexible arrangement, but does not support back-reactions (non-instantaneous equilibria) or biphasic kinetics for metabolites.

    KinGUI offers an even more flexible widget for specifying complex kinetic models. Back-reactions (non-instantaneous equilibria) were supported early on, but until 2014, only simple first-order models could be specified for transformation products. Starting with KinGUII version 2.1, biphasic modelling of metabolites was also available in KinGUII.

    -

    A further graphical user interface (GUI) that has recently been brought to a decent degree of maturity is the browser based GUI named gmkin. Please see its documentation page and manual for further information.

    +

    A further graphical user interface (GUI) that has recently been brought to a decent degree of maturity is the browser based GUI named gmkin. Please see its documentation page and manual for further information.

    A comparison of scope, usability and numerical results obtained with these tools has been recently been published by Ranke, Wöltjen, and Meinecke (2018).

    @@ -1697,7 +1697,7 @@ plot_sep(f_SFO_SFO_SFO, lpos = c("topright", "bottomright",

    Schäfer, D., B. Mikolasch, P. Rainbird, and B. Harvey. 2007. “KinGUI: A New Kinetic Software Tool for Evaluations According to FOCUS Degradation Kinetics.” In Proceedings of the Xiii Symposium Pesticide Chemistry, edited by Del Re A. A. M., Capri E., Fragoulis G., and Trevisan M., 916–23. Piacenza.

    -

    Soetaert, Karline, and Thomas Petzoldt. 2010. “Inverse Modelling, Sensitivity and Monte Carlo Analysis in R Using Package FME.” Journal of Statistical Software 33 (3): 1–28. http://www.jstatsoft.org/v33/i03/.

    +

    Soetaert, Karline, and Thomas Petzoldt. 2010. “Inverse Modelling, Sensitivity and Monte Carlo Analysis in R Using Package FME.” Journal of Statistical Software 33 (3): 1–28. https://www.jstatsoft.org/v33/i03/.

    diff --git a/vignettes/mkin.rmd b/vignettes/mkin.rmd index acca0e44..a672f2a6 100644 --- a/vignettes/mkin.rmd +++ b/vignettes/mkin.rmd @@ -15,8 +15,8 @@ vignette: > %\VignetteEncoding{UTF-8} --- -[Wissenschaftlicher Berater, Kronacher Str. 12, 79639 Grenzach-Wyhlen, Germany](http://www.jrwb.de)
    -[Privatdozent at the University of Bremen](http://chem.uft.uni-bremen.de/ranke) +[Wissenschaftlicher Berater, Kronacher Str. 12, 79639 Grenzach-Wyhlen, Germany](https://www.jrwb.de)
    +[Privatdozent at the University of Bremen](http://chem.uft.uni-bremen.de/ranke/) ```{r, include = FALSE} require(knitr) @@ -88,7 +88,7 @@ models based on differential equations to data. The code was first uploaded to the BerliOS platform. When this was taken down, the version control history was imported into the R-Forge site (see *e.g.* -[the initial commit on 11 May 2010](http://cgit.jrwb.de/mkin/commit/?id=30cbb4092f6d2d3beff5800603374a0d009ad770)), +[the initial commit on 11 May 2010](https://cgit.jrwb.de/mkin/commit/?id=30cbb4092f6d2d3beff5800603374a0d009ad770)), where the code is still occasionally updated. At that time, the R package `FME` (Flexible Modelling Environment) @@ -135,7 +135,7 @@ of metabolites was also available in KinGUII. A further graphical user interface (GUI) that has recently been brought to a decent degree of maturity is the browser based GUI named `gmkin`. Please see its -[documentation page](https://pkgdown.jrwb.de/gmkin) and +[documentation page](https://pkgdown.jrwb.de/gmkin/) and [manual](https://pkgdown.jrwb.de/gmkin/articles/gmkin_manual.html) for further information. diff --git a/vignettes/references.bib b/vignettes/references.bib index a18922c9..69ef74a7 100644 --- a/vignettes/references.bib +++ b/vignettes/references.bib @@ -76,7 +76,7 @@ volume = {33}, pages = {1--28}, number = {3}, - url = {http://www.jstatsoft.org/v33/i03/} + url = {https://www.jstatsoft.org/v33/i03/} } @Inproceedings{ ranke2012, diff --git a/vignettes/twa.html b/vignettes/twa.html index 80272eef..663625bf 100644 --- a/vignettes/twa.html +++ b/vignettes/twa.html @@ -12,7 +12,7 @@ - + Calculation of time weighted average concentrations with mkin @@ -215,7 +215,7 @@ code > span.er { color: #a61717; background-color: #e3d2d2; }

    Calculation of time weighted average concentrations with mkin

    Johannes Ranke

    -

    2020-05-26

    +

    2020-10-08

    diff --git a/vignettes/web_only/NAFTA_examples.html b/vignettes/web_only/NAFTA_examples.html index f1b3fa03..dda93242 100644 --- a/vignettes/web_only/NAFTA_examples.html +++ b/vignettes/web_only/NAFTA_examples.html @@ -1,17 +1,17 @@ - + - + - + Evaluation of example datasets from Attachment 1 to the US EPA SOP for the NAFTA guidance @@ -69,8 +69,6 @@ overflow: auto; margin-left: 2%; position: fixed; border: 1px solid #ccc; -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; } @@ -98,10 +96,15 @@ font-size: 12px; .tocify-subheader .tocify-subheader { text-indent: 30px; } - .tocify-subheader .tocify-subheader .tocify-subheader { text-indent: 40px; } +.tocify-subheader .tocify-subheader .tocify-subheader .tocify-subheader { +text-indent: 50px; +} +.tocify-subheader .tocify-subheader .tocify-subheader .tocify-subheader .tocify-subheader { +text-indent: 60px; +} .tocify .tocify-item > a, .tocify .nav-list .nav-header { margin: 0px; @@ -504,13 +507,13 @@ float: none; item.append($("", { - "text": self.text() + "html": self.html() })); } else { - item.text(self.text()); + item.html(self.html()); } @@ -1327,9 +1330,7 @@ h6 { - - - - - - + + + + + + + +
    + +
    @@ -1543,8 +1517,8 @@ div.tocify {

    Evaluation of example datasets from Attachment 1 to the US EPA SOP for the NAFTA guidance

    -

    Johannes Ranke

    -

    2019-04-10

    +

    Johannes Ranke

    +

    2020-10-08

    @@ -1563,7 +1537,7 @@ div.tocify {
    ## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
    ## The half-life obtained from the IORE model may be used
    plot(p5a)
    -

    +

    print(p5a)
    ## Sums of squares:
     ##       SFO      IORE      DFOP 
    @@ -1574,23 +1548,23 @@ div.tocify {
     ## 
     ## Parameters:
     ## $SFO
    -##               Estimate   Pr(>t)  Lower   Upper
    -## parent_0       95.8401 4.67e-21 92.245 99.4357
    -## k_parent_sink   0.0102 3.92e-12  0.009  0.0117
    -## sigma           4.8230 3.81e-06  3.214  6.4318
    +##          Estimate   Pr(>t)  Lower   Upper
    +## parent_0  95.8401 4.67e-21 92.245 99.4357
    +## k_parent   0.0102 3.92e-12  0.009  0.0117
    +## sigma      4.8230 3.81e-06  3.214  6.4318
     ## 
     ## $IORE
    -##                     Estimate Pr(>t)    Lower    Upper
    -## parent_0            1.01e+02     NA 9.91e+01 1.02e+02
    -## k__iore_parent_sink 1.54e-05     NA 4.08e-06 5.84e-05
    -## N_parent            2.57e+00     NA 2.25e+00 2.89e+00
    -## sigma               1.68e+00     NA 1.12e+00 2.24e+00
    +##                Estimate Pr(>t)    Lower    Upper
    +## parent_0       1.01e+02     NA 9.91e+01 1.02e+02
    +## k__iore_parent 1.54e-05     NA 4.08e-06 5.84e-05
    +## N_parent       2.57e+00     NA 2.25e+00 2.89e+00
    +## sigma          1.68e+00     NA 1.12e+00 2.24e+00
     ## 
     ## $DFOP
     ##          Estimate   Pr(>t)   Lower    Upper
     ## parent_0 9.99e+01 1.41e-26 98.8116 101.0810
     ## k1       2.67e-02 5.05e-06  0.0243   0.0295
    -## k2       3.41e-12 5.00e-01  0.0000      Inf
    +## k2       2.17e-12 5.00e-01  0.0000      Inf
     ## g        6.47e-01 3.67e-06  0.6248   0.6677
     ## sigma    1.27e+00 8.91e-06  0.8395   1.6929
     ## 
    @@ -1599,10 +1573,10 @@ div.tocify {
     ##      DT50     DT90 DT50_rep
     ## SFO  67.7 2.25e+02 6.77e+01
     ## IORE 58.2 1.07e+03 3.22e+02
    -## DFOP 55.5 3.70e+11 2.03e+11
    +## DFOP 55.5 5.83e+11 3.20e+11
     ## 
     ## Representative half-life:
    -## [1] 321.5119
    +## [1] 321.51

    Example on page 5, lower panel

    @@ -1610,7 +1584,7 @@ div.tocify {
    ## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
    ## The half-life obtained from the IORE model may be used
    plot(p5b)
    -

    +

    print(p5b)
    ## Sums of squares:
     ##      SFO     IORE     DFOP 
    @@ -1621,23 +1595,23 @@ div.tocify {
     ## 
     ## Parameters:
     ## $SFO
    -##               Estimate   Pr(>t)    Lower    Upper
    -## parent_0        96.497 2.32e-24 94.85271 98.14155
    -## k_parent_sink    0.008 3.42e-14  0.00737  0.00869
    -## sigma            2.295 1.22e-05  1.47976  3.11036
    +##          Estimate   Pr(>t)    Lower    Upper
    +## parent_0   96.497 2.32e-24 94.85271 98.14155
    +## k_parent    0.008 3.42e-14  0.00737  0.00869
    +## sigma       2.295 1.22e-05  1.47976  3.11036
     ## 
     ## $IORE
    -##                     Estimate   Pr(>t)    Lower    Upper
    -## parent_0            9.85e+01 1.17e-28 9.79e+01 9.92e+01
    -## k__iore_parent_sink 1.53e-04 6.50e-03 7.21e-05 3.26e-04
    -## N_parent            1.94e+00 5.88e-13 1.76e+00 2.12e+00
    -## sigma               7.49e-01 1.63e-05 4.82e-01 1.02e+00
    +##                Estimate   Pr(>t)    Lower    Upper
    +## parent_0       9.85e+01 1.17e-28 9.79e+01 9.92e+01
    +## k__iore_parent 1.53e-04 6.50e-03 7.21e-05 3.26e-04
    +## N_parent       1.94e+00 5.88e-13 1.76e+00 2.12e+00
    +## sigma          7.49e-01 1.63e-05 4.82e-01 1.02e+00
     ## 
     ## $DFOP
     ##          Estimate   Pr(>t)   Lower   Upper
     ## parent_0 9.84e+01 1.24e-27 97.8078 98.9187
     ## k1       1.55e-02 4.10e-04  0.0143  0.0167
    -## k2       1.09e-11 5.00e-01  0.0000     Inf
    +## k2       1.04e-11 5.00e-01  0.0000     Inf
     ## g        6.89e-01 2.92e-03  0.6626  0.7142
     ## sigma    6.48e-01 2.38e-05  0.4147  0.8813
     ## 
    @@ -1646,10 +1620,10 @@ div.tocify {
     ##      DT50     DT90 DT50_rep
     ## SFO  86.6 2.88e+02 8.66e+01
     ## IORE 85.5 7.17e+02 2.16e+02
    -## DFOP 83.6 1.04e+11 6.34e+10
    +## DFOP 83.6 1.09e+11 6.67e+10
     ## 
     ## Representative half-life:
    -## [1] 215.8655
    +## [1] 215.87

    Example on page 6

    @@ -1657,7 +1631,7 @@ div.tocify {
    ## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
    ## The half-life obtained from the IORE model may be used
    plot(p6)
    -

    +

    print(p6)
    ## Sums of squares:
     ##       SFO      IORE      DFOP 
    @@ -1668,17 +1642,17 @@ div.tocify {
     ## 
     ## Parameters:
     ## $SFO
    -##               Estimate   Pr(>t)   Lower   Upper
    -## parent_0       94.7759 7.29e-24 92.3479 97.2039
    -## k_parent_sink   0.0179 8.02e-16  0.0166  0.0194
    -## sigma           3.0696 3.81e-06  2.0456  4.0936
    +##          Estimate   Pr(>t)   Lower   Upper
    +## parent_0  94.7759 7.29e-24 92.3478 97.2039
    +## k_parent   0.0179 8.02e-16  0.0166  0.0194
    +## sigma      3.0696 3.81e-06  2.0456  4.0936
     ## 
     ## $IORE
    -##                     Estimate   Pr(>t)    Lower    Upper
    -## parent_0            97.12446 2.63e-26 95.62461 98.62431
    -## k__iore_parent_sink  0.00252 1.95e-03  0.00134  0.00472
    -## N_parent             1.49587 4.07e-13  1.33896  1.65279
    -## sigma                1.59698 5.05e-06  1.06169  2.13227
    +##                Estimate   Pr(>t)    Lower    Upper
    +## parent_0       97.12446 2.63e-26 95.62461 98.62431
    +## k__iore_parent  0.00252 1.95e-03  0.00134  0.00472
    +## N_parent        1.49587 4.07e-13  1.33896  1.65279
    +## sigma           1.59698 5.05e-06  1.06169  2.13227
     ## 
     ## $DFOP
     ##          Estimate   Pr(>t)   Lower   Upper
    @@ -1696,7 +1670,7 @@ div.tocify {
     ## DFOP 34.1 8.42e+09 1.79e+10
     ## 
     ## Representative half-life:
    -## [1] 53.16582
    +## [1] 53.17

    Example on page 7

    @@ -1704,7 +1678,7 @@ div.tocify {
    ## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
    ## The half-life obtained from the IORE model may be used
    plot(p7)
    -

    +

    print(p7)
    ## Sums of squares:
     ##      SFO     IORE     DFOP 
    @@ -1715,23 +1689,23 @@ div.tocify {
     ## 
     ## Parameters:
     ## $SFO
    -##               Estimate   Pr(>t)    Lower    Upper
    -## parent_0      96.41796 4.80e-53 93.32245 99.51347
    -## k_parent_sink  0.00735 7.64e-21  0.00641  0.00843
    -## sigma          7.94557 1.83e-15  6.46713  9.42401
    +##          Estimate   Pr(>t)    Lower    Upper
    +## parent_0 96.41796 4.80e-53 93.32245 99.51347
    +## k_parent  0.00735 7.64e-21  0.00641  0.00843
    +## sigma     7.94557 1.83e-15  6.46713  9.42401
     ## 
     ## $IORE
    -##                     Estimate Pr(>t)    Lower    Upper
    -## parent_0            9.92e+01     NA 9.55e+01 1.03e+02
    -## k__iore_parent_sink 1.60e-05     NA 1.45e-07 1.77e-03
    -## N_parent            2.45e+00     NA 1.35e+00 3.54e+00
    -## sigma               7.42e+00     NA 6.04e+00 8.80e+00
    +##                Estimate Pr(>t)    Lower    Upper
    +## parent_0       9.92e+01     NA 9.55e+01 1.03e+02
    +## k__iore_parent 1.60e-05     NA 1.45e-07 1.77e-03
    +## N_parent       2.45e+00     NA 1.35e+00 3.54e+00
    +## sigma          7.42e+00     NA 6.04e+00 8.80e+00
     ## 
     ## $DFOP
     ##          Estimate   Pr(>t)   Lower    Upper
     ## parent_0 9.89e+01 9.44e-49 95.4640 102.2573
     ## k1       1.81e-02 1.75e-01  0.0116   0.0281
    -## k2       2.57e-10 5.00e-01  0.0000      Inf
    +## k2       2.30e-10 5.00e-01  0.0000      Inf
     ## g        6.06e-01 2.19e-01  0.4826   0.7178
     ## sigma    7.40e+00 2.97e-15  6.0201   8.7754
     ## 
    @@ -1740,10 +1714,10 @@ div.tocify {
     ##      DT50     DT90 DT50_rep
     ## SFO  94.3 3.13e+02 9.43e+01
     ## IORE 96.7 1.51e+03 4.55e+02
    -## DFOP 96.4 5.32e+09 2.69e+09
    +## DFOP 96.4 5.95e+09 3.01e+09
     ## 
     ## Representative half-life:
    -## [1] 454.5528
    +## [1] 454.55
    @@ -1751,16 +1725,11 @@ div.tocify {

    Example on page 8

    For this dataset, the IORE fit does not converge when the default starting values used by mkin for the IORE model are used. Therefore, a lower value for the rate constant is used here.

    -
    p8 <- nafta(NAFTA_SOP_Attachment[["p8"]], parms.ini = c(k__iore_parent_sink = 1e-3))
    -
    ## Warning in summary.mkinfit(x): Could not estimate covariance matrix;
    -## singular system.
    -
    -## Warning in summary.mkinfit(x): Could not estimate covariance matrix;
    -## singular system.
    +
    p8 <- nafta(NAFTA_SOP_Attachment[["p8"]], parms.ini = c(k__iore_parent = 1e-3))
    ## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
    ## The half-life obtained from the IORE model may be used
    plot(p8)
    -

    +

    print(p8)
    ## Sums of squares:
     ##       SFO      IORE      DFOP 
    @@ -1771,27 +1740,25 @@ div.tocify {
     ## 
     ## Parameters:
     ## $SFO
    -##                     Estimate Pr(>t) Lower Upper
    -## parent_0            88.16549     NA    NA    NA
    -## k__iore_parent_sink  0.00100     NA    NA    NA
    -## k_parent_sink        0.00803     NA    NA    NA
    -## sigma                7.44786     NA    NA    NA
    +##          Estimate   Pr(>t)    Lower    Upper
    +## parent_0 88.16549 6.53e-29 83.37344 92.95754
    +## k_parent  0.00803 1.67e-13  0.00674  0.00957
    +## sigma     7.44786 4.17e-10  5.66209  9.23363
     ## 
     ## $IORE
    -##                     Estimate   Pr(>t)    Lower    Upper
    -## parent_0            9.77e+01 7.03e-35 9.44e+01 1.01e+02
    -## k__iore_parent_sink 6.14e-05 3.20e-02 2.12e-05 1.78e-04
    -## N_parent            2.27e+00 4.23e-18 2.00e+00 2.54e+00
    -## sigma               3.52e+00 5.36e-10 2.67e+00 4.36e+00
    +##                Estimate   Pr(>t)    Lower    Upper
    +## parent_0       9.77e+01 7.03e-35 9.44e+01 1.01e+02
    +## k__iore_parent 6.14e-05 3.20e-02 2.12e-05 1.78e-04
    +## N_parent       2.27e+00 4.23e-18 2.00e+00 2.54e+00
    +## sigma          3.52e+00 5.36e-10 2.67e+00 4.36e+00
     ## 
     ## $DFOP
    -##                     Estimate Pr(>t) Lower Upper
    -## parent_0            95.70619     NA    NA    NA
    -## k__iore_parent_sink  0.00100     NA    NA    NA
    -## k1                   0.02500     NA    NA    NA
    -## k2                   0.00273     NA    NA    NA
    -## g                    0.58835     NA    NA    NA
    -## sigma                3.90001     NA    NA    NA
    +##          Estimate   Pr(>t)    Lower    Upper
    +## parent_0 95.70619 8.99e-32 91.87941 99.53298
    +## k1        0.02500 5.25e-04  0.01422  0.04394
    +## k2        0.00273 6.84e-03  0.00125  0.00597
    +## g         0.58835 2.84e-06  0.36595  0.77970
    +## sigma     3.90001 6.94e-10  2.96260  4.83741
     ## 
     ## 
     ## DTx values:
    @@ -1801,7 +1768,7 @@ div.tocify {
     ## DFOP 55.6  517    253.0
     ## 
     ## Representative half-life:
    -## [1] 201.0316
    +## [1] 201.03
    @@ -1812,7 +1779,7 @@ div.tocify {
    ## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
    ## The half-life obtained from the IORE model may be used
    plot(p9a)
    -

    +

    print(p9a)
    ## Sums of squares:
     ##       SFO      IORE      DFOP 
    @@ -1823,23 +1790,23 @@ div.tocify {
     ## 
     ## Parameters:
     ## $SFO
    -##               Estimate   Pr(>t)   Lower   Upper
    -## parent_0       88.1933 3.06e-12 79.9447 96.4419
    -## k_parent_sink   0.0409 2.07e-07  0.0324  0.0516
    -## sigma           7.2429 3.92e-05  4.4768 10.0090
    +##          Estimate   Pr(>t)   Lower   Upper
    +## parent_0  88.1933 3.06e-12 79.9447 96.4419
    +## k_parent   0.0409 2.07e-07  0.0324  0.0516
    +## sigma      7.2429 3.92e-05  4.4768 10.0090
     ## 
     ## $IORE
    -##                     Estimate   Pr(>t)    Lower    Upper
    -## parent_0            9.89e+01 1.12e-16 9.54e+01 1.02e+02
    -## k__iore_parent_sink 1.93e-05 1.13e-01 3.49e-06 1.06e-04
    -## N_parent            2.91e+00 1.45e-09 2.50e+00 3.32e+00
    -## sigma               2.35e+00 5.31e-05 1.45e+00 3.26e+00
    +##                Estimate   Pr(>t)    Lower    Upper
    +## parent_0       9.89e+01 1.12e-16 9.54e+01 1.02e+02
    +## k__iore_parent 1.93e-05 1.13e-01 3.49e-06 1.06e-04
    +## N_parent       2.91e+00 1.45e-09 2.50e+00 3.32e+00
    +## sigma          2.35e+00 5.31e-05 1.45e+00 3.26e+00
     ## 
     ## $DFOP
     ##          Estimate   Pr(>t)  Lower  Upper
     ## parent_0 9.85e+01 2.54e-20 97.390 99.672
     ## k1       1.38e-01 3.52e-05  0.131  0.146
    -## k2       5.75e-13 5.00e-01  0.000    Inf
    +## k2       6.69e-13 5.00e-01  0.000    Inf
     ## g        6.52e-01 8.13e-06  0.642  0.661
     ## sigma    7.88e-01 6.13e-02  0.481  1.095
     ## 
    @@ -1848,24 +1815,19 @@ div.tocify {
     ##      DT50     DT90 DT50_rep
     ## SFO  16.9 5.63e+01 1.69e+01
     ## IORE 11.6 3.37e+02 1.01e+02
    -## DFOP 10.5 2.17e+12 1.21e+12
    +## DFOP 10.5 1.86e+12 1.04e+12
     ## 
     ## Representative half-life:
    -## [1] 101.4264
    +## [1] 101.43

    In this example, the residuals of the SFO indicate a lack of fit of this model, so even if it was an abiotic experiment, the data do not suggest a simple exponential decline.

    Example on page 9, lower panel

    p9b <- nafta(NAFTA_SOP_Attachment[["p9b"]])
    -
    ## Warning in sqrt(diag(covar)): NaNs wurden erzeugt
    -
    ## Warning in sqrt(diag(covar_notrans)): NaNs wurden erzeugt
    -
    ## Warning in sqrt(1/diag(V)): NaNs wurden erzeugt
    -
    ## Warning in cov2cor(ans$cov.unscaled): diag(.) had 0 or NA entries; non-
    -## finite result is doubtful
    ## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
    ## The half-life obtained from the IORE model may be used
    plot(p9b)
    -

    +

    print(p9b)
    ## Sums of squares:
     ##      SFO     IORE     DFOP 
    @@ -1876,24 +1838,24 @@ div.tocify {
     ## 
     ## Parameters:
     ## $SFO
    -##               Estimate   Pr(>t)  Lower   Upper
    -## parent_0       94.7123 2.15e-19 93.178 96.2464
    -## k_parent_sink   0.0389 4.47e-14  0.037  0.0408
    -## sigma           1.5957 1.28e-04  0.932  2.2595
    +##          Estimate   Pr(>t)  Lower   Upper
    +## parent_0  94.7123 2.15e-19 93.178 96.2464
    +## k_parent   0.0389 4.47e-14  0.037  0.0408
    +## sigma      1.5957 1.28e-04  0.932  2.2595
     ## 
     ## $IORE
    -##                     Estimate   Pr(>t)   Lower  Upper
    -## parent_0              93.863 2.32e-18 92.4565 95.269
    -## k__iore_parent_sink    0.127 1.85e-02  0.0504  0.321
    -## N_parent               0.711 1.88e-05  0.4843  0.937
    -## sigma                  1.288 1.76e-04  0.7456  1.830
    +##                Estimate   Pr(>t)   Lower  Upper
    +## parent_0         93.863 2.32e-18 92.4565 95.269
    +## k__iore_parent    0.127 1.85e-02  0.0504  0.321
    +## N_parent          0.711 1.88e-05  0.4843  0.937
    +## sigma             1.288 1.76e-04  0.7456  1.830
     ## 
     ## $DFOP
     ##          Estimate   Pr(>t)   Lower   Upper
     ## parent_0  94.7123 1.61e-16 93.1355 96.2891
    -## k1         0.0389      NaN  0.0316  0.0478
    -## k2         0.0389 1.13e-08  0.0203  0.0743
    -## g          0.7599      NaN      NA      NA
    +## k1         0.0389 1.43e-06  0.0312  0.0485
    +## k2         0.0389 6.67e-03  0.0186  0.0812
    +## g          0.7742 5.00e-01  0.0000  1.0000
     ## sigma      1.5957 2.50e-04  0.9135  2.2779
     ## 
     ## 
    @@ -1904,7 +1866,7 @@ div.tocify {
     ## DFOP 17.8 59.2     17.8
     ## 
     ## Representative half-life:
    -## [1] 14.80013
    +## [1] 14.8

    Here, mkin gives a longer slow DT50 for the DFOP model (17.8 days) than PestDF (13.5 days). Presumably, this is related to the fact that PestDF gives a negative value for the proportion of the fast degradation which should be between 0 and 1, inclusive. This parameter is called f in PestDF and g in mkin. In mkin, it is restricted to the interval from 0 to 1.

    @@ -1913,7 +1875,7 @@ div.tocify {
    ## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
    ## The half-life obtained from the IORE model may be used
    plot(p10)
    -

    +

    print(p10)
    ## Sums of squares:
     ##      SFO     IORE     DFOP 
    @@ -1924,25 +1886,25 @@ div.tocify {
     ## 
     ## Parameters:
     ## $SFO
    -##               Estimate   Pr(>t)   Lower    Upper
    -## parent_0      101.7315 6.42e-11 91.9259 111.5371
    -## k_parent_sink   0.0495 1.70e-07  0.0404   0.0607
    -## sigma           8.0152 1.28e-04  4.6813  11.3491
    +##          Estimate   Pr(>t)   Lower    Upper
    +## parent_0 101.7315 6.42e-11 91.9259 111.5371
    +## k_parent   0.0495 1.70e-07  0.0404   0.0607
    +## sigma      8.0152 1.28e-04  4.6813  11.3491
     ## 
     ## $IORE
    -##                     Estimate   Pr(>t)  Lower   Upper
    -## parent_0               96.86 3.32e-12 90.848 102.863
    -## k__iore_parent_sink     2.96 7.91e-02  0.687  12.761
    -## N_parent                0.00 5.00e-01 -0.372   0.372
    -## sigma                   4.90 1.77e-04  2.837   6.968
    +##                Estimate   Pr(>t)  Lower   Upper
    +## parent_0          96.86 3.32e-12 90.848 102.863
    +## k__iore_parent     2.96 7.91e-02  0.687  12.761
    +## N_parent           0.00 5.00e-01 -0.372   0.372
    +## sigma              4.90 1.77e-04  2.837   6.968
     ## 
     ## $DFOP
    -##          Estimate   Pr(>t)   Lower    Upper
    -## parent_0 101.7315 1.41e-09 91.6534 111.8097
    -## k1         0.0495 6.41e-04  0.0303   0.0809
    -## k2         0.0495 1.66e-02  0.0201   0.1219
    -## g          0.6634 5.00e-01  0.0000   1.0000
    -## sigma      8.0152 2.50e-04  4.5886  11.4418
    +##          Estimate   Pr(>t)   Lower   Upper
    +## parent_0 101.7315 1.41e-09 91.6534 111.810
    +## k1         0.0495 6.48e-04  0.0303   0.081
    +## k2         0.0495 1.67e-02  0.0201   0.122
    +## g          0.6634 5.00e-01  0.0000   1.000
    +## sigma      8.0152 2.50e-04  4.5886  11.442
     ## 
     ## 
     ## DTx values:
    @@ -1952,7 +1914,7 @@ div.tocify {
     ## DFOP 14.0 46.5    14.00
     ## 
     ## Representative half-life:
    -## [1] 8.862193
    +## [1] 8.86

    Here, a value below N is given for the IORE model, because the data suggests a faster decline towards the end of the experiment, which appears physically rather unlikely in the case of a photolysis study. It seems PestDF does not constrain N to values above zero, thus the slight difference in IORE model parameters between PestDF and mkin.

    @@ -1964,7 +1926,7 @@ div.tocify {
    ## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
    ## The half-life obtained from the IORE model may be used
    plot(p11)
    -

    +

    print(p11)
    ## Sums of squares:
     ##      SFO     IORE     DFOP 
    @@ -1975,23 +1937,23 @@ div.tocify {
     ## 
     ## Parameters:
     ## $SFO
    -##               Estimate   Pr(>t)    Lower    Upper
    -## parent_0      96.15820 4.83e-13 90.24934 1.02e+02
    -## k_parent_sink  0.00321 4.71e-05  0.00222 4.64e-03
    -## sigma          6.43473 1.28e-04  3.75822 9.11e+00
    +##          Estimate   Pr(>t)    Lower    Upper
    +## parent_0 96.15820 4.83e-13 90.24934 1.02e+02
    +## k_parent  0.00321 4.71e-05  0.00222 4.64e-03
    +## sigma     6.43473 1.28e-04  3.75822 9.11e+00
     ## 
     ## $IORE
    -##                     Estimate Pr(>t)    Lower    Upper
    -## parent_0            1.05e+02     NA 9.90e+01 1.10e+02
    -## k__iore_parent_sink 3.11e-17     NA 1.35e-20 7.18e-14
    -## N_parent            8.36e+00     NA 6.62e+00 1.01e+01
    -## sigma               3.82e+00     NA 2.21e+00 5.44e+00
    +##                Estimate Pr(>t)    Lower    Upper
    +## parent_0       1.05e+02     NA 9.90e+01 1.10e+02
    +## k__iore_parent 3.11e-17     NA 1.35e-20 7.18e-14
    +## N_parent       8.36e+00     NA 6.62e+00 1.01e+01
    +## sigma          3.82e+00     NA 2.21e+00 5.44e+00
     ## 
     ## $DFOP
     ##          Estimate   Pr(>t)    Lower    Upper
     ## parent_0 1.05e+02 9.47e-13  99.9990 109.1224
     ## k1       4.41e-02 5.95e-03   0.0296   0.0658
    -## k2       9.20e-13 5.00e-01   0.0000      Inf
    +## k2       7.25e-13 5.00e-01   0.0000      Inf
     ## g        3.22e-01 1.45e-03   0.2814   0.3650
     ## sigma    3.22e+00 3.52e-04   1.8410   4.5906
     ## 
    @@ -2000,10 +1962,10 @@ div.tocify {
     ##          DT50     DT90 DT50_rep
     ## SFO  2.16e+02 7.18e+02 2.16e+02
     ## IORE 9.73e+02 1.37e+08 4.11e+07
    -## DFOP 3.31e+11 2.08e+12 7.53e+11
    +## DFOP 4.21e+11 2.64e+12 9.56e+11
     ## 
     ## Representative half-life:
    -## [1] 41148169
    +## [1] 41148171

    In this case, the DFOP fit reported for PestDF resulted in a negative value for the slower rate constant, which is not possible in mkin. The other results are in agreement.

    @@ -2013,17 +1975,12 @@ div.tocify {

    Example on page 12, upper panel

    p12a <- nafta(NAFTA_SOP_Attachment[["p12a"]])
    -
    ## Warning in summary.mkinfit(x): Could not estimate covariance matrix;
    -## singular system.
    -
    ## Warning in sqrt(diag(covar)): NaNs wurden erzeugt
    -
    ## Warning in sqrt(diag(covar_notrans)): NaNs wurden erzeugt
    -
    ## Warning in sqrt(1/diag(V)): NaNs wurden erzeugt
    -
    ## Warning in cov2cor(ans$cov.unscaled): diag(.) had 0 or NA entries; non-
    -## finite result is doubtful
    +
    ## Warning in summary.mkinfit(x): Could not calculate correlation; no covariance
    +## matrix
    ## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
    ## The half-life obtained from the IORE model may be used
    plot(p12a)
    -

    +

    print(p12a)
    ## Sums of squares:
     ##      SFO     IORE     DFOP 
    @@ -2034,24 +1991,24 @@ div.tocify {
     ## 
     ## Parameters:
     ## $SFO
    -##               Estimate   Pr(>t)  Lower   Upper
    -## parent_0       100.521 8.75e-12 92.461 108.581
    -## k_parent_sink    0.124 3.61e-08  0.104   0.148
    -## sigma            7.048 1.28e-04  4.116   9.980
    +##          Estimate   Pr(>t)  Lower   Upper
    +## parent_0  100.521 8.75e-12 92.461 108.581
    +## k_parent    0.124 3.61e-08  0.104   0.148
    +## sigma       7.048 1.28e-04  4.116   9.980
     ## 
     ## $IORE
    -##                     Estimate Pr(>t) Lower Upper
    -## parent_0              96.823     NA    NA    NA
    -## k__iore_parent_sink    2.436     NA    NA    NA
    -## N_parent               0.263     NA    NA    NA
    -## sigma                  3.965     NA    NA    NA
    +##                Estimate Pr(>t) Lower Upper
    +## parent_0         96.823     NA    NA    NA
    +## k__iore_parent    2.436     NA    NA    NA
    +## N_parent          0.263     NA    NA    NA
    +## sigma             3.965     NA    NA    NA
     ## 
     ## $DFOP
     ##          Estimate   Pr(>t)   Lower   Upper
     ## parent_0  100.521 2.74e-10 92.2366 108.805
    -## k1          0.124 5.43e-06  0.0959   0.161
    -## k2          0.124 6.45e-02  0.0315   0.490
    -## g           0.880      NaN      NA      NA
    +## k1          0.124 5.75e-06  0.0958   0.161
    +## k2          0.124 6.72e-02  0.0319   0.484
    +## g           0.877 5.00e-01  0.0000   1.000
     ## sigma       7.048 2.50e-04  4.0349  10.061
     ## 
     ## 
    @@ -2062,23 +2019,23 @@ div.tocify {
     ## DFOP 5.58 18.5     5.58
     ## 
     ## Representative half-life:
    -## [1] 3.987308
    +## [1] 3.99

    Example on page 12, lower panel

    p12b <- nafta(NAFTA_SOP_Attachment[["p12b"]])
    -
    ## Warning in sqrt(diag(covar)): NaNs wurden erzeugt
    -
    ## Warning in qt(alpha/2, rdf): NaNs wurden erzeugt
    -
    ## Warning in qt(1 - alpha/2, rdf): NaNs wurden erzeugt
    -
    ## Warning in sqrt(diag(covar_notrans)): NaNs wurden erzeugt
    -
    ## Warning in pt(abs(tval), rdf, lower.tail = FALSE): NaNs wurden erzeugt
    -
    ## Warning in sqrt(1/diag(V)): NaNs wurden erzeugt
    -
    ## Warning in cov2cor(ans$cov.unscaled): diag(.) had 0 or NA entries; non-
    -## finite result is doubtful
    +
    ## Warning in sqrt(diag(covar)): NaNs produced
    +
    ## Warning in qt(alpha/2, rdf): NaNs produced
    +
    ## Warning in qt(1 - alpha/2, rdf): NaNs produced
    +
    ## Warning in sqrt(diag(covar_notrans)): NaNs produced
    +
    ## Warning in pt(abs(tval), rdf, lower.tail = FALSE): NaNs produced
    +
    ## Warning in sqrt(1/diag(V)): NaNs produced
    +
    ## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result is
    +## doubtful
    ## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
    ## The half-life obtained from the IORE model may be used
    plot(p12b)
    -

    +

    print(p12b)
    ## Sums of squares:
     ##      SFO     IORE     DFOP 
    @@ -2089,24 +2046,24 @@ div.tocify {
     ## 
     ## Parameters:
     ## $SFO
    -##               Estimate  Pr(>t)   Lower    Upper
    -## parent_0       97.6840 0.00039 85.9388 109.4292
    -## k_parent_sink   0.0589 0.00261  0.0431   0.0805
    -## sigma           3.4323 0.04356 -1.2377   8.1023
    +##          Estimate  Pr(>t)   Lower    Upper
    +## parent_0  97.6840 0.00039 85.9388 109.4292
    +## k_parent   0.0589 0.00261  0.0431   0.0805
    +## sigma      3.4323 0.04356 -1.2377   8.1023
     ## 
     ## $IORE
    -##                     Estimate Pr(>t)     Lower  Upper
    -## parent_0              95.523 0.0055 74.539157 116.51
    -## k__iore_parent_sink    0.333 0.1433  0.000717 154.57
    -## N_parent               0.568 0.0677 -0.989464   2.13
    -## sigma                  1.953 0.0975 -5.893100   9.80
    +##                Estimate Pr(>t)     Lower  Upper
    +## parent_0         95.523 0.0055 74.539157 116.51
    +## k__iore_parent    0.333 0.1433  0.000717 154.57
    +## N_parent          0.568 0.0677 -0.989464   2.13
    +## sigma             1.953 0.0975 -5.893100   9.80
     ## 
     ## $DFOP
     ##          Estimate Pr(>t) Lower Upper
     ## parent_0  97.6840    NaN   NaN   NaN
     ## k1         0.0589    NaN    NA    NA
     ## k2         0.0589    NaN    NA    NA
    -## g          0.8275    NaN    NA    NA
    +## g          0.6902    NaN    NA    NA
     ## sigma      3.4323    NaN   NaN   NaN
     ## 
     ## 
    @@ -2117,7 +2074,7 @@ div.tocify {
     ## DFOP 11.8 39.1    11.80
     ## 
     ## Representative half-life:
    -## [1] 9.461912
    +## [1] 9.46

    Example on page 13

    @@ -2125,7 +2082,7 @@ div.tocify {
    ## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
    ## The half-life obtained from the IORE model may be used
    plot(p13)
    -

    +

    print(p13)
    ## Sums of squares:
     ##      SFO     IORE     DFOP 
    @@ -2136,22 +2093,22 @@ div.tocify {
     ## 
     ## Parameters:
     ## $SFO
    -##               Estimate   Pr(>t)    Lower    Upper
    -## parent_0      92.73500 5.99e-17 89.61936 95.85065
    -## k_parent_sink  0.00258 2.42e-09  0.00223  0.00299
    -## sigma          3.41172 7.07e-05  2.05455  4.76888
    +##          Estimate   Pr(>t)    Lower    Upper
    +## parent_0 92.73500 5.99e-17 89.61936 95.85065
    +## k_parent  0.00258 2.42e-09  0.00223  0.00299
    +## sigma     3.41172 7.07e-05  2.05455  4.76888
     ## 
     ## $IORE
    -##                     Estimate   Pr(>t)    Lower  Upper
    -## parent_0             91.6016 6.34e-16 88.53086 94.672
    -## k__iore_parent_sink   0.0396 2.36e-01  0.00207  0.759
    -## N_parent              0.3541 1.46e-01 -0.35153  1.060
    -## sigma                 3.0811 9.64e-05  1.84296  4.319
    +##                Estimate   Pr(>t)    Lower  Upper
    +## parent_0        91.6016 6.34e-16 88.53086 94.672
    +## k__iore_parent   0.0396 2.36e-01  0.00207  0.759
    +## N_parent         0.3541 1.46e-01 -0.35153  1.060
    +## sigma            3.0811 9.64e-05  1.84296  4.319
     ## 
     ## $DFOP
     ##          Estimate   Pr(>t)    Lower    Upper
     ## parent_0 92.73500 9.25e-15 8.95e+01 9.59e+01
    -## k1        0.00258 4.28e-01 1.38e-08 4.82e+02
    +## k1        0.00258 4.28e-01 1.45e-08 4.61e+02
     ## k2        0.00258 3.69e-08 2.20e-03 3.03e-03
     ## g         0.00442 5.00e-01 0.00e+00 1.00e+00
     ## sigma     3.41172 1.35e-04 2.02e+00 4.80e+00
    @@ -2164,20 +2121,20 @@ div.tocify {
     ## DFOP  269  892      269
     ## 
     ## Representative half-life:
    -## [1] 168.5123
    +## [1] 168.51

    DT50 not observed in the study and DFOP problems in PestDF

    p14 <- nafta(NAFTA_SOP_Attachment[["p14"]])
    -
    ## Warning in sqrt(diag(covar)): NaNs wurden erzeugt
    -
    ## Warning in sqrt(1/diag(V)): NaNs wurden erzeugt
    -
    ## Warning in cov2cor(ans$cov.unscaled): diag(.) had 0 or NA entries; non-
    -## finite result is doubtful
    +
    ## Warning in sqrt(diag(covar)): NaNs produced
    +
    ## Warning in sqrt(1/diag(V)): NaNs produced
    +
    ## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result is
    +## doubtful
    ## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
    ## The half-life obtained from the IORE model may be used
    plot(p14)
    -

    +

    print(p14)
    ## Sums of squares:
     ##      SFO     IORE     DFOP 
    @@ -2188,23 +2145,23 @@ div.tocify {
     ## 
     ## Parameters:
     ## $SFO
    -##               Estimate   Pr(>t)    Lower    Upper
    -## parent_0      99.47124 2.06e-30 98.42254 1.01e+02
    -## k_parent_sink  0.00279 3.75e-15  0.00256 3.04e-03
    -## sigma          1.55616 3.81e-06  1.03704 2.08e+00
    +##          Estimate   Pr(>t)    Lower    Upper
    +## parent_0 99.47124 2.06e-30 98.42254 1.01e+02
    +## k_parent  0.00279 3.75e-15  0.00256 3.04e-03
    +## sigma     1.55616 3.81e-06  1.03704 2.08e+00
     ## 
     ## $IORE
    -##                     Estimate Pr(>t) Lower Upper
    -## parent_0            1.00e+02     NA   NaN   NaN
    -## k__iore_parent_sink 9.44e-08     NA   NaN   NaN
    -## N_parent            3.31e+00     NA   NaN   NaN
    -## sigma               1.20e+00     NA 0.796   1.6
    +##                Estimate Pr(>t) Lower Upper
    +## parent_0       1.00e+02     NA   NaN   NaN
    +## k__iore_parent 9.44e-08     NA   NaN   NaN
    +## N_parent       3.31e+00     NA   NaN   NaN
    +## sigma          1.20e+00     NA 0.796   1.6
     ## 
     ## $DFOP
     ##          Estimate   Pr(>t)    Lower    Upper
     ## parent_0 1.00e+02 2.96e-28 99.40280 101.2768
     ## k1       9.53e-03 1.20e-01  0.00638   0.0143
    -## k2       6.17e-12 5.00e-01  0.00000      Inf
    +## k2       7.70e-12 5.00e-01  0.00000      Inf
     ## g        3.98e-01 2.19e-01  0.30481   0.4998
     ## sigma    1.17e+00 7.68e-06  0.77406   1.5610
     ## 
    @@ -2213,24 +2170,23 @@ div.tocify {
     ##          DT50     DT90 DT50_rep
     ## SFO  2.48e+02 8.25e+02 2.48e+02
     ## IORE 4.34e+02 2.22e+04 6.70e+03
    -## DFOP 3.00e+10 2.91e+11 1.12e+11
    +## DFOP 2.41e+10 2.33e+11 9.00e+10
     ## 
     ## Representative half-life:
    -## [1] 6697.437
    +## [1] 6697.44

    The slower rate constant reported by PestDF is negative, which is not physically realistic, and not possible in mkin. The other fits give the same results in mkin and PestDF.

    N is less than 1 and DFOP fraction parameter is below zero

    p15a <- nafta(NAFTA_SOP_Attachment[["p15a"]])
    -
    ## Warning in sqrt(diag(covar)): NaNs wurden erzeugt
    -
    ## Warning in sqrt(diag(covar_notrans)): NaNs wurden erzeugt
    -
    ## Warning in sqrt(1/diag(V)): NaNs wurden erzeugt
    -
    ## Warning in cov2cor(ans$cov.unscaled): diag(.) had 0 or NA entries; non-
    -## finite result is doubtful
    +
    ## Warning in sqrt(diag(covar)): NaNs produced
    +
    ## Warning in sqrt(1/diag(V)): NaNs produced
    +
    ## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result is
    +## doubtful
    ## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
    ## The half-life obtained from the IORE model may be used
    plot(p15a)
    -

    +

    print(p15a)
    ## Sums of squares:
     ##      SFO     IORE     DFOP 
    @@ -2241,25 +2197,25 @@ div.tocify {
     ## 
     ## Parameters:
     ## $SFO
    -##               Estimate   Pr(>t)    Lower   Upper
    -## parent_0      97.96751 2.00e-15 94.32049 101.615
    -## k_parent_sink  0.00952 4.93e-09  0.00824   0.011
    -## sigma          4.18778 1.28e-04  2.44588   5.930
    +##          Estimate   Pr(>t)    Lower   Upper
    +## parent_0 97.96751 2.00e-15 94.32049 101.615
    +## k_parent  0.00952 4.93e-09  0.00824   0.011
    +## sigma     4.18778 1.28e-04  2.44588   5.930
     ## 
     ## $IORE
    -##                     Estimate   Pr(>t)  Lower  Upper
    -## parent_0              95.874 2.94e-15 92.937 98.811
    -## k__iore_parent_sink    0.629 2.11e-01  0.044  8.982
    -## N_parent               0.000 5.00e-01 -0.642  0.642
    -## sigma                  3.105 1.78e-04  1.795  4.416
    +##                Estimate   Pr(>t)  Lower  Upper
    +## parent_0         95.874 2.94e-15 92.937 98.811
    +## k__iore_parent    0.629 2.11e-01  0.044  8.982
    +## N_parent          0.000 5.00e-01 -0.642  0.642
    +## sigma             3.105 1.78e-04  1.795  4.416
     ## 
     ## $DFOP
    -##          Estimate   Pr(>t)    Lower    Upper
    -## parent_0 97.96751 2.85e-13 94.21913 101.7159
    -## k1        0.00952 5.68e-02  0.00262   0.0347
    -## k2        0.00952 1.52e-04  0.00639   0.0142
    -## g         0.22357      NaN       NA       NA
    -## sigma     4.18778 2.50e-04  2.39747   5.9781
    +##          Estimate Pr(>t)    Lower    Upper
    +## parent_0 97.96752     NA 94.21914 101.7159
    +## k1        0.00952     NA  0.00241   0.0377
    +## k2        0.00952     NA  0.00747   0.0121
    +## g         0.17247     NA       NA       NA
    +## sigma     4.18778     NA  2.39747   5.9781
     ## 
     ## 
     ## DTx values:
    @@ -2269,12 +2225,16 @@ div.tocify {
     ## DFOP 72.8  242     72.8
     ## 
     ## Representative half-life:
    -## [1] 41.32749
    +## [1] 41.33
    p15b <- nafta(NAFTA_SOP_Attachment[["p15b"]])
    +
    ## Warning in sqrt(diag(covar)): NaNs produced
    +
    ## Warning in sqrt(1/diag(V)): NaNs produced
    +
    ## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result is
    +## doubtful
    ## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
    ## The half-life obtained from the IORE model may be used
    plot(p15b)
    -

    +

    print(p15b)
    ## Sums of squares:
     ##       SFO      IORE      DFOP 
    @@ -2285,25 +2245,25 @@ div.tocify {
     ## 
     ## Parameters:
     ## $SFO
    -##               Estimate   Pr(>t)    Lower    Upper
    -## parent_0      1.01e+02 3.06e-17 98.31594 1.03e+02
    -## k_parent_sink 4.86e-03 2.48e-10  0.00435 5.42e-03
    -## sigma         2.76e+00 1.28e-04  1.61402 3.91e+00
    +##          Estimate   Pr(>t)    Lower    Upper
    +## parent_0 1.01e+02 3.06e-17 98.31594 1.03e+02
    +## k_parent 4.86e-03 2.48e-10  0.00435 5.42e-03
    +## sigma    2.76e+00 1.28e-04  1.61402 3.91e+00
     ## 
     ## $IORE
    -##                     Estimate   Pr(>t)    Lower  Upper
    -## parent_0               99.83 1.81e-16 97.51349 102.14
    -## k__iore_parent_sink     0.38 3.22e-01  0.00352  41.05
    -## N_parent                0.00 5.00e-01 -1.07695   1.08
    -## sigma                   2.21 2.57e-04  1.23245   3.19
    +##                Estimate   Pr(>t)    Lower  Upper
    +## parent_0          99.83 1.81e-16 97.51348 102.14
    +## k__iore_parent     0.38 3.22e-01  0.00352  41.05
    +## N_parent           0.00 5.00e-01 -1.07696   1.08
    +## sigma              2.21 2.57e-04  1.23245   3.19
     ## 
     ## $DFOP
     ##          Estimate Pr(>t)    Lower    Upper
    -## parent_0 1.01e+02     NA 9.82e+01 1.04e+02
    -## k1       4.86e-03     NA 6.49e-04 3.64e-02
    -## k2       4.86e-03     NA 3.36e-03 7.03e-03
    -## g        1.50e-01     NA 0.00e+00 1.00e+00
    -## sigma    2.76e+00     NA 1.58e+00 3.94e+00
    +## parent_0 1.01e+02     NA 98.24464 1.04e+02
    +## k1       4.86e-03     NA  0.00068 3.47e-02
    +## k2       4.86e-03     NA  0.00338 6.99e-03
    +## g        1.50e-01     NA       NA       NA
    +## sigma    2.76e+00     NA  1.58208 3.94e+00
     ## 
     ## 
     ## DTx values:
    @@ -2313,7 +2273,7 @@ div.tocify {
     ## DFOP  143  474    143.0
     ## 
     ## Representative half-life:
    -## [1] 71.18014
    +## [1] 71.18

    In mkin, only the IORE fit is affected (deemed unrealistic), as the fraction parameter of the DFOP model is restricted to the interval between 0 and 1 in mkin. The SFO fits give the same results for both mkin and PestDF.

    @@ -2324,7 +2284,7 @@ div.tocify {
    ## to the terminal degradation rate found with the DFOP model.
    ## The representative half-life obtained from the DFOP model may be used
    plot(p16)
    -

    +

    print(p16)
    ## Sums of squares:
     ##      SFO     IORE     DFOP 
    @@ -2335,22 +2295,22 @@ div.tocify {
     ## 
     ## Parameters:
     ## $SFO
    -##               Estimate   Pr(>t)  Lower Upper
    -## parent_0        71.953 2.33e-13 60.509 83.40
    -## k_parent_sink    0.159 4.86e-05  0.102  0.25
    -## sigma           11.302 1.25e-08  8.308 14.30
    +##          Estimate   Pr(>t)  Lower Upper
    +## parent_0   71.953 2.33e-13 60.509 83.40
    +## k_parent    0.159 4.86e-05  0.102  0.25
    +## sigma      11.302 1.25e-08  8.308 14.30
     ## 
     ## $IORE
    -##                     Estimate   Pr(>t)    Lower    Upper
    -## parent_0            8.74e+01 2.48e-16 7.72e+01 97.52972
    -## k__iore_parent_sink 4.55e-04 2.16e-01 3.48e-05  0.00595
    -## N_parent            2.70e+00 1.21e-08 1.99e+00  3.40046
    -## sigma               8.29e+00 1.61e-08 6.09e+00 10.49062
    +##                Estimate   Pr(>t)    Lower    Upper
    +## parent_0       8.74e+01 2.48e-16 7.72e+01 97.52972
    +## k__iore_parent 4.55e-04 2.16e-01 3.48e-05  0.00595
    +## N_parent       2.70e+00 1.21e-08 1.99e+00  3.40046
    +## sigma          8.29e+00 1.61e-08 6.09e+00 10.49062
     ## 
     ## $DFOP
     ##          Estimate   Pr(>t)   Lower  Upper
     ## parent_0  88.5333 7.40e-18 79.9836 97.083
    -## k1        18.6317 5.00e-01  0.0000    Inf
    +## k1        18.5560 5.00e-01  0.0000    Inf
     ## k2         0.0776 1.41e-05  0.0518  0.116
     ## g          0.4733 1.41e-09  0.3674  0.582
     ## sigma      7.1902 2.11e-08  5.2785  9.102
    @@ -2363,7 +2323,7 @@ div.tocify {
     ## DFOP 0.67 21.4     8.93
     ## 
     ## Representative half-life:
    -## [1] 8.932679
    +## [1] 8.93

    In PestDF, the DFOP fit seems to have stuck in a local minimum, as mkin finds a solution with a much lower χ2 error level. As the half-life from the slower rate constant of the DFOP model is larger than the IORE derived half-life, the NAFTA recommendation obtained with mkin is to use the DFOP representative half-life of 8.9 days.

    @@ -2400,6 +2360,49 @@ $(document).ready(function () { + + + + + + + + diff --git a/vignettes/web_only/NAFTA_examples.rmd b/vignettes/web_only/NAFTA_examples.rmd index 26a9240a..d18a3e84 100644 --- a/vignettes/web_only/NAFTA_examples.rmd +++ b/vignettes/web_only/NAFTA_examples.rmd @@ -91,7 +91,7 @@ used by mkin for the IORE model are used. Therefore, a lower value for the rate constant is used here. ```{r p8} -p8 <- nafta(NAFTA_SOP_Attachment[["p8"]], parms.ini = c(k__iore_parent_sink = 1e-3)) +p8 <- nafta(NAFTA_SOP_Attachment[["p8"]], parms.ini = c(k__iore_parent = 1e-3)) plot(p8) print(p8) ``` diff --git a/vignettes/web_only/mkin_benchmarks.rda b/vignettes/web_only/mkin_benchmarks.rda index cc08f7ad..128473e7 100644 Binary files a/vignettes/web_only/mkin_benchmarks.rda and b/vignettes/web_only/mkin_benchmarks.rda differ -- cgit v1.2.1