diff options
author | Johannes Ranke <jranke@uni-bremen.de> | 2023-01-09 06:22:04 +0100 |
---|---|---|
committer | Johannes Ranke <jranke@uni-bremen.de> | 2023-01-09 06:22:04 +0100 |
commit | 24eb77216700cf8b2f2bde3abad84c1f83f9e32a (patch) | |
tree | 1fecd5557499ea0e5d9a651f3a27fc602c0431cc /docs/dev | |
parent | a5903e74d9cf54c764d5bbc48e461cecd5f56e72 (diff) |
Prebuilt PDF vignettes, summary_listing
Diffstat (limited to 'docs/dev')
32 files changed, 2836 insertions, 33 deletions
diff --git a/docs/dev/articles/2022_wp_1.1_dmta_parent.html b/docs/dev/articles/2022_wp_1.1_dmta_parent.html new file mode 100644 index 00000000..61bb81d3 --- /dev/null +++ b/docs/dev/articles/2022_wp_1.1_dmta_parent.html @@ -0,0 +1,2177 @@ +<!DOCTYPE html> +<!-- Generated by pkgdown: do not edit by hand --><html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<title>Work package 1.1: Testing hierarchical parent degradation kinetics with residue data on dimethenamid and dimethenamid-P • mkin</title> +<!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"> +<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"> +<script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"> +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"> +<!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"> +<script src="../pkgdown.js"></script><meta property="og:title" content="Work package 1.1: Testing hierarchical parent degradation kinetics with residue data on dimethenamid and dimethenamid-P"> +<meta property="og:description" content="mkin"> +<meta name="robots" content="noindex"> +<!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--> +</head> +<body data-spy="scroll" data-target="#toc"> + + + <div class="container template-article"> + <header><div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">mkin</a> + <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.2.2</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"> +<li> + <a href="../reference/index.html">Functions and data</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"> +<li> + <a href="../articles/mkin.html">Introduction to mkin</a> + </li> + <li> + <a href="../articles/FOCUS_D.html">Example evaluation of FOCUS Example Dataset D</a> + </li> + <li> + <a href="../articles/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a> + </li> + <li> + <a href="../articles/web_only/dimethenamid_2018.html">Example evaluations of dimethenamid data from 2018 with nonlinear mixed-effects models</a> + </li> + <li> + <a href="../articles/web_only/multistart.html">Short demo of the multistart method</a> + </li> + <li> + <a href="../articles/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a> + </li> + <li> + <a href="../articles/web_only/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</a> + </li> + <li> + <a href="../articles/twa.html">Calculation of time weighted average concentrations with mkin</a> + </li> + <li> + <a href="../articles/web_only/NAFTA_examples.html">Example evaluation of NAFTA SOP Attachment examples</a> + </li> + <li> + <a href="../articles/web_only/benchmarks.html">Benchmark timings for mkin</a> + </li> + <li> + <a href="../articles/web_only/saem_benchmarks.html">Benchmark timings for saem.mmkin</a> + </li> + </ul> +</li> +<li> + <a href="../news/index.html">News</a> +</li> + </ul> +<ul class="nav navbar-nav navbar-right"> +<li> + <a href="https://github.com/jranke/mkin/" class="external-link"> + <span class="fab fa-github fa-lg"></span> + + </a> +</li> + </ul> +</div> +<!--/.nav-collapse --> + </div> +<!--/.container --> +</div> +<!--/.navbar --> + + + + </header><div class="row"> + <div class="col-md-9 contents"> + <div class="page-header toc-ignore"> + <h1 data-toc-skip>Work package 1.1: Testing hierarchical parent +degradation kinetics with residue data on dimethenamid and +dimethenamid-P</h1> + <h4 data-toc-skip class="author">Johannes +Ranke</h4> + + <h4 data-toc-skip class="date">Last change on 5 January +2022, last compiled on 5 Januar 2023</h4> + + <small class="dont-index">Source: <a href="https://github.com/jranke/mkin/blob/HEAD/vignettes/2022_wp_1.1_dmta_parent.rmd" class="external-link"><code>vignettes/2022_wp_1.1_dmta_parent.rmd</code></a></small> + <div class="hidden name"><code>2022_wp_1.1_dmta_parent.rmd</code></div> + + </div> + + + +<div class="section level2"> +<h2 id="introduction">Introduction<a class="anchor" aria-label="anchor" href="#introduction"></a> +</h2> +<p>The purpose of this document is to demonstrate how nonlinear +hierarchical models (NLHM) based on the parent degradation models SFO, +FOMC, DFOP and HS can be fitted with the mkin package.</p> +<p>The mkin package is used in version 1.2.2. It contains the test data +and the functions used in the evaluations. The <code>saemix</code> +package is used as a backend for fitting the NLHM, but is also loaded to +make the convergence plot function available.</p> +<p>This document is processed with the <code>knitr</code> package, which +also provides the <code>kable</code> function that is used to improve +the display of tabular data in R markdown documents. For parallel +processing, the <code>parallel</code> package is used.</p> +<div class="sourceCode" id="cb1"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://pkgdown.jrwb.de/mkin/">mkin</a></span><span class="op">)</span></span> +<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://yihui.org/knitr/" class="external-link">knitr</a></span><span class="op">)</span></span> +<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va">saemix</span><span class="op">)</span></span> +<span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va">parallel</span><span class="op">)</span></span> +<span><span class="va">n_cores</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/parallel/detectCores.html" class="external-link">detectCores</a></span><span class="op">(</span><span class="op">)</span></span> +<span><span class="kw">if</span> <span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/Sys.info.html" class="external-link">Sys.info</a></span><span class="op">(</span><span class="op">)</span><span class="op">[</span><span class="st">"sysname"</span><span class="op">]</span> <span class="op">==</span> <span class="st">"Windows"</span><span class="op">)</span> <span class="op">{</span></span> +<span> <span class="va">cl</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/parallel/makeCluster.html" class="external-link">makePSOCKcluster</a></span><span class="op">(</span><span class="va">n_cores</span><span class="op">)</span></span> +<span><span class="op">}</span> <span class="kw">else</span> <span class="op">{</span></span> +<span> <span class="va">cl</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/parallel/makeCluster.html" class="external-link">makeForkCluster</a></span><span class="op">(</span><span class="va">n_cores</span><span class="op">)</span></span> +<span><span class="op">}</span></span></code></pre></div> +<div class="section level3"> +<h3 id="preprocessing-of-test-data">Preprocessing of test data<a class="anchor" aria-label="anchor" href="#preprocessing-of-test-data"></a> +</h3> +<p>The test data are available in the mkin package as an object of class +<code>mkindsg</code> (mkin dataset group) under the identifier +<code>dimethenamid_2018</code>. The following preprocessing steps are +still necessary:</p> +<ul> +<li>The data available for the enantiomer dimethenamid-P (DMTAP) are +renamed to have the same substance name as the data for the racemic +mixture dimethenamid (DMTA). The reason for this is that no difference +between their degradation behaviour was identified in the EU risk +assessment.</li> +<li>The data for transformation products and unnecessary columns are +discarded</li> +<li>The observation times of each dataset are multiplied with the +corresponding normalisation factor also available in the dataset, in +order to make it possible to describe all datasets with a single set of +parameters that are independent of temperature</li> +<li>Finally, datasets observed in the same soil (<code>Elliot 1</code> +and <code>Elliot 2</code>) are combined, resulting in dimethenamid +(DMTA) data from six soils.</li> +</ul> +<p>The following commented R code performs this preprocessing.</p> +<div class="sourceCode" id="cb2"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="co"># Apply a function to each of the seven datasets in the mkindsg object to create a list</span></span> +<span><span class="va">dmta_ds</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/lapply.html" class="external-link">lapply</a></span><span class="op">(</span><span class="fl">1</span><span class="op">:</span><span class="fl">7</span>, <span class="kw">function</span><span class="op">(</span><span class="va">i</span><span class="op">)</span> <span class="op">{</span></span> +<span> <span class="va">ds_i</span> <span class="op"><-</span> <span class="va">dimethenamid_2018</span><span class="op">$</span><span class="va">ds</span><span class="op">[[</span><span class="va">i</span><span class="op">]</span><span class="op">]</span><span class="op">$</span><span class="va">data</span> <span class="co"># Get a dataset</span></span> +<span> <span class="va">ds_i</span><span class="op">[</span><span class="va">ds_i</span><span class="op">$</span><span class="va">name</span> <span class="op">==</span> <span class="st">"DMTAP"</span>, <span class="st">"name"</span><span class="op">]</span> <span class="op"><-</span> <span class="st">"DMTA"</span> <span class="co"># Rename DMTAP to DMTA</span></span> +<span> <span class="va">ds_i</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/subset.html" class="external-link">subset</a></span><span class="op">(</span><span class="va">ds_i</span>, <span class="va">name</span> <span class="op">==</span> <span class="st">"DMTA"</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"name"</span>, <span class="st">"time"</span>, <span class="st">"value"</span><span class="op">)</span><span class="op">)</span> <span class="co"># Select data</span></span> +<span> <span class="va">ds_i</span><span class="op">$</span><span class="va">time</span> <span class="op"><-</span> <span class="va">ds_i</span><span class="op">$</span><span class="va">time</span> <span class="op">*</span> <span class="va">dimethenamid_2018</span><span class="op">$</span><span class="va">f_time_norm</span><span class="op">[</span><span class="va">i</span><span class="op">]</span> <span class="co"># Normalise time</span></span> +<span> <span class="va">ds_i</span> <span class="co"># Return the dataset</span></span> +<span><span class="op">}</span><span class="op">)</span></span> +<span></span> +<span><span class="co"># Use dataset titles as names for the list elements</span></span> +<span><span class="fu"><a href="https://rdrr.io/r/base/names.html" class="external-link">names</a></span><span class="op">(</span><span class="va">dmta_ds</span><span class="op">)</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/lapply.html" class="external-link">sapply</a></span><span class="op">(</span><span class="va">dimethenamid_2018</span><span class="op">$</span><span class="va">ds</span>, <span class="kw">function</span><span class="op">(</span><span class="va">ds</span><span class="op">)</span> <span class="va">ds</span><span class="op">$</span><span class="va">title</span><span class="op">)</span></span> +<span></span> +<span><span class="co"># Combine data for Elliot soil to obtain a named list with six elements</span></span> +<span><span class="va">dmta_ds</span><span class="op">[[</span><span class="st">"Elliot"</span><span class="op">]</span><span class="op">]</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/cbind.html" class="external-link">rbind</a></span><span class="op">(</span><span class="va">dmta_ds</span><span class="op">[[</span><span class="st">"Elliot 1"</span><span class="op">]</span><span class="op">]</span>, <span class="va">dmta_ds</span><span class="op">[[</span><span class="st">"Elliot 2"</span><span class="op">]</span><span class="op">]</span><span class="op">)</span> <span class="co">#</span></span> +<span><span class="va">dmta_ds</span><span class="op">[[</span><span class="st">"Elliot 1"</span><span class="op">]</span><span class="op">]</span> <span class="op"><-</span> <span class="cn">NULL</span></span> +<span><span class="va">dmta_ds</span><span class="op">[[</span><span class="st">"Elliot 2"</span><span class="op">]</span><span class="op">]</span> <span class="op"><-</span> <span class="cn">NULL</span></span></code></pre></div> +<p>The following tables show the 6 datasets.</p> +<div class="sourceCode" id="cb3"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="kw">for</span> <span class="op">(</span><span class="va">ds_name</span> <span class="kw">in</span> <span class="fu"><a href="https://rdrr.io/r/base/names.html" class="external-link">names</a></span><span class="op">(</span><span class="va">dmta_ds</span><span class="op">)</span><span class="op">)</span> <span class="op">{</span></span> +<span> <span class="fu"><a href="https://rdrr.io/r/base/print.html" class="external-link">print</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/pkg/knitr/man/kable.html" class="external-link">kable</a></span><span class="op">(</span><span class="fu"><a href="../reference/mkin_long_to_wide.html">mkin_long_to_wide</a></span><span class="op">(</span><span class="va">dmta_ds</span><span class="op">[[</span><span class="va">ds_name</span><span class="op">]</span><span class="op">]</span><span class="op">)</span>,</span> +<span> caption <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/paste.html" class="external-link">paste</a></span><span class="op">(</span><span class="st">"Dataset"</span>, <span class="va">ds_name</span><span class="op">)</span>,</span> +<span> label <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/paste.html" class="external-link">paste0</a></span><span class="op">(</span><span class="st">"tab:"</span>, <span class="va">ds_name</span><span class="op">)</span>, booktabs <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span><span class="op">)</span></span> +<span> <span class="fu"><a href="https://rdrr.io/r/base/cat.html" class="external-link">cat</a></span><span class="op">(</span><span class="st">"\n\\clearpage\n"</span><span class="op">)</span></span> +<span><span class="op">}</span></span></code></pre></div> +<table class="table"> +<caption>Dataset Calke</caption> +<thead><tr class="header"> +<th align="right">time</th> +<th align="right">DMTA</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="right">0</td> +<td align="right">95.8</td> +</tr> +<tr class="even"> +<td align="right">0</td> +<td align="right">98.7</td> +</tr> +<tr class="odd"> +<td align="right">14</td> +<td align="right">60.5</td> +</tr> +<tr class="even"> +<td align="right">30</td> +<td align="right">39.1</td> +</tr> +<tr class="odd"> +<td align="right">59</td> +<td align="right">15.2</td> +</tr> +<tr class="even"> +<td align="right">120</td> +<td align="right">4.8</td> +</tr> +<tr class="odd"> +<td align="right">120</td> +<td align="right">4.6</td> +</tr> +</tbody> +</table> +<table class="table"> +<caption>Dataset Borstel</caption> +<thead><tr class="header"> +<th align="right">time</th> +<th align="right">DMTA</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="right">0.000000</td> +<td align="right">100.5</td> +</tr> +<tr class="even"> +<td align="right">0.000000</td> +<td align="right">99.6</td> +</tr> +<tr class="odd"> +<td align="right">1.941295</td> +<td align="right">91.9</td> +</tr> +<tr class="even"> +<td align="right">1.941295</td> +<td align="right">91.3</td> +</tr> +<tr class="odd"> +<td align="right">6.794534</td> +<td align="right">81.8</td> +</tr> +<tr class="even"> +<td align="right">6.794534</td> +<td align="right">82.1</td> +</tr> +<tr class="odd"> +<td align="right">13.589067</td> +<td align="right">69.1</td> +</tr> +<tr class="even"> +<td align="right">13.589067</td> +<td align="right">68.0</td> +</tr> +<tr class="odd"> +<td align="right">27.178135</td> +<td align="right">51.4</td> +</tr> +<tr class="even"> +<td align="right">27.178135</td> +<td align="right">51.4</td> +</tr> +<tr class="odd"> +<td align="right">56.297565</td> +<td align="right">27.6</td> +</tr> +<tr class="even"> +<td align="right">56.297565</td> +<td align="right">26.8</td> +</tr> +<tr class="odd"> +<td align="right">86.387643</td> +<td align="right">15.7</td> +</tr> +<tr class="even"> +<td align="right">86.387643</td> +<td align="right">15.3</td> +</tr> +<tr class="odd"> +<td align="right">115.507073</td> +<td align="right">7.9</td> +</tr> +<tr class="even"> +<td align="right">115.507073</td> +<td align="right">8.1</td> +</tr> +</tbody> +</table> +<table class="table"> +<caption>Dataset Flaach</caption> +<thead><tr class="header"> +<th align="right">time</th> +<th align="right">DMTA</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="right">0.0000000</td> +<td align="right">96.5</td> +</tr> +<tr class="even"> +<td align="right">0.0000000</td> +<td align="right">96.8</td> +</tr> +<tr class="odd"> +<td align="right">0.0000000</td> +<td align="right">97.0</td> +</tr> +<tr class="even"> +<td align="right">0.6233856</td> +<td align="right">82.9</td> +</tr> +<tr class="odd"> +<td align="right">0.6233856</td> +<td align="right">86.7</td> +</tr> +<tr class="even"> +<td align="right">0.6233856</td> +<td align="right">87.4</td> +</tr> +<tr class="odd"> +<td align="right">1.8701567</td> +<td align="right">72.8</td> +</tr> +<tr class="even"> +<td align="right">1.8701567</td> +<td align="right">69.9</td> +</tr> +<tr class="odd"> +<td align="right">1.8701567</td> +<td align="right">71.9</td> +</tr> +<tr class="even"> +<td align="right">4.3636989</td> +<td align="right">51.4</td> +</tr> +<tr class="odd"> +<td align="right">4.3636989</td> +<td align="right">52.9</td> +</tr> +<tr class="even"> +<td align="right">4.3636989</td> +<td align="right">48.6</td> +</tr> +<tr class="odd"> +<td align="right">8.7273979</td> +<td align="right">28.5</td> +</tr> +<tr class="even"> +<td align="right">8.7273979</td> +<td align="right">27.3</td> +</tr> +<tr class="odd"> +<td align="right">8.7273979</td> +<td align="right">27.5</td> +</tr> +<tr class="even"> +<td align="right">13.0910968</td> +<td align="right">14.8</td> +</tr> +<tr class="odd"> +<td align="right">13.0910968</td> +<td align="right">13.4</td> +</tr> +<tr class="even"> +<td align="right">13.0910968</td> +<td align="right">14.4</td> +</tr> +<tr class="odd"> +<td align="right">17.4547957</td> +<td align="right">7.7</td> +</tr> +<tr class="even"> +<td align="right">17.4547957</td> +<td align="right">7.3</td> +</tr> +<tr class="odd"> +<td align="right">17.4547957</td> +<td align="right">8.1</td> +</tr> +<tr class="even"> +<td align="right">26.1821936</td> +<td align="right">2.0</td> +</tr> +<tr class="odd"> +<td align="right">26.1821936</td> +<td align="right">1.5</td> +</tr> +<tr class="even"> +<td align="right">26.1821936</td> +<td align="right">1.9</td> +</tr> +<tr class="odd"> +<td align="right">34.9095915</td> +<td align="right">1.3</td> +</tr> +<tr class="even"> +<td align="right">34.9095915</td> +<td align="right">1.0</td> +</tr> +<tr class="odd"> +<td align="right">34.9095915</td> +<td align="right">1.1</td> +</tr> +<tr class="even"> +<td align="right">43.6369893</td> +<td align="right">0.9</td> +</tr> +<tr class="odd"> +<td align="right">43.6369893</td> +<td align="right">0.7</td> +</tr> +<tr class="even"> +<td align="right">43.6369893</td> +<td align="right">0.7</td> +</tr> +<tr class="odd"> +<td align="right">52.3643872</td> +<td align="right">0.6</td> +</tr> +<tr class="even"> +<td align="right">52.3643872</td> +<td align="right">0.4</td> +</tr> +<tr class="odd"> +<td align="right">52.3643872</td> +<td align="right">0.5</td> +</tr> +<tr class="even"> +<td align="right">74.8062674</td> +<td align="right">0.4</td> +</tr> +<tr class="odd"> +<td align="right">74.8062674</td> +<td align="right">0.3</td> +</tr> +<tr class="even"> +<td align="right">74.8062674</td> +<td align="right">0.3</td> +</tr> +</tbody> +</table> +<table class="table"> +<caption>Dataset BBA 2.2</caption> +<thead><tr class="header"> +<th align="right">time</th> +<th align="right">DMTA</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="right">0.0000000</td> +<td align="right">98.09</td> +</tr> +<tr class="even"> +<td align="right">0.0000000</td> +<td align="right">98.77</td> +</tr> +<tr class="odd"> +<td align="right">0.7678922</td> +<td align="right">93.52</td> +</tr> +<tr class="even"> +<td align="right">0.7678922</td> +<td align="right">92.03</td> +</tr> +<tr class="odd"> +<td align="right">2.3036765</td> +<td align="right">88.39</td> +</tr> +<tr class="even"> +<td align="right">2.3036765</td> +<td align="right">87.18</td> +</tr> +<tr class="odd"> +<td align="right">5.3752452</td> +<td align="right">69.38</td> +</tr> +<tr class="even"> +<td align="right">5.3752452</td> +<td align="right">71.06</td> +</tr> +<tr class="odd"> +<td align="right">10.7504904</td> +<td align="right">45.21</td> +</tr> +<tr class="even"> +<td align="right">10.7504904</td> +<td align="right">46.81</td> +</tr> +<tr class="odd"> +<td align="right">16.1257355</td> +<td align="right">30.54</td> +</tr> +<tr class="even"> +<td align="right">16.1257355</td> +<td align="right">30.07</td> +</tr> +<tr class="odd"> +<td align="right">21.5009807</td> +<td align="right">21.60</td> +</tr> +<tr class="even"> +<td align="right">21.5009807</td> +<td align="right">20.41</td> +</tr> +<tr class="odd"> +<td align="right">32.2514711</td> +<td align="right">9.10</td> +</tr> +<tr class="even"> +<td align="right">32.2514711</td> +<td align="right">9.70</td> +</tr> +<tr class="odd"> +<td align="right">43.0019614</td> +<td align="right">6.58</td> +</tr> +<tr class="even"> +<td align="right">43.0019614</td> +<td align="right">6.31</td> +</tr> +<tr class="odd"> +<td align="right">53.7524518</td> +<td align="right">3.47</td> +</tr> +<tr class="even"> +<td align="right">53.7524518</td> +<td align="right">3.52</td> +</tr> +<tr class="odd"> +<td align="right">64.5029421</td> +<td align="right">3.40</td> +</tr> +<tr class="even"> +<td align="right">64.5029421</td> +<td align="right">3.67</td> +</tr> +<tr class="odd"> +<td align="right">91.3791680</td> +<td align="right">1.62</td> +</tr> +<tr class="even"> +<td align="right">91.3791680</td> +<td align="right">1.62</td> +</tr> +</tbody> +</table> +<table class="table"> +<caption>Dataset BBA 2.3</caption> +<thead><tr class="header"> +<th align="right">time</th> +<th align="right">DMTA</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="right">0.0000000</td> +<td align="right">99.33</td> +</tr> +<tr class="even"> +<td align="right">0.0000000</td> +<td align="right">97.44</td> +</tr> +<tr class="odd"> +<td align="right">0.6733938</td> +<td align="right">93.73</td> +</tr> +<tr class="even"> +<td align="right">0.6733938</td> +<td align="right">93.77</td> +</tr> +<tr class="odd"> +<td align="right">2.0201814</td> +<td align="right">87.84</td> +</tr> +<tr class="even"> +<td align="right">2.0201814</td> +<td align="right">89.82</td> +</tr> +<tr class="odd"> +<td align="right">4.7137565</td> +<td align="right">71.61</td> +</tr> +<tr class="even"> +<td align="right">4.7137565</td> +<td align="right">71.42</td> +</tr> +<tr class="odd"> +<td align="right">9.4275131</td> +<td align="right">45.60</td> +</tr> +<tr class="even"> +<td align="right">9.4275131</td> +<td align="right">45.42</td> +</tr> +<tr class="odd"> +<td align="right">14.1412696</td> +<td align="right">31.12</td> +</tr> +<tr class="even"> +<td align="right">14.1412696</td> +<td align="right">31.68</td> +</tr> +<tr class="odd"> +<td align="right">18.8550262</td> +<td align="right">23.20</td> +</tr> +<tr class="even"> +<td align="right">18.8550262</td> +<td align="right">24.13</td> +</tr> +<tr class="odd"> +<td align="right">28.2825393</td> +<td align="right">9.43</td> +</tr> +<tr class="even"> +<td align="right">28.2825393</td> +<td align="right">9.82</td> +</tr> +<tr class="odd"> +<td align="right">37.7100523</td> +<td align="right">7.08</td> +</tr> +<tr class="even"> +<td align="right">37.7100523</td> +<td align="right">8.64</td> +</tr> +<tr class="odd"> +<td align="right">47.1375654</td> +<td align="right">4.41</td> +</tr> +<tr class="even"> +<td align="right">47.1375654</td> +<td align="right">4.78</td> +</tr> +<tr class="odd"> +<td align="right">56.5650785</td> +<td align="right">4.92</td> +</tr> +<tr class="even"> +<td align="right">56.5650785</td> +<td align="right">5.08</td> +</tr> +<tr class="odd"> +<td align="right">80.1338612</td> +<td align="right">2.13</td> +</tr> +<tr class="even"> +<td align="right">80.1338612</td> +<td align="right">2.23</td> +</tr> +</tbody> +</table> +<table class="table"> +<caption>Dataset Elliot</caption> +<thead><tr class="header"> +<th align="right">time</th> +<th align="right">DMTA</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="right">0.000000</td> +<td align="right">97.5</td> +</tr> +<tr class="even"> +<td align="right">0.000000</td> +<td align="right">100.7</td> +</tr> +<tr class="odd"> +<td align="right">1.228478</td> +<td align="right">86.4</td> +</tr> +<tr class="even"> +<td align="right">1.228478</td> +<td align="right">88.5</td> +</tr> +<tr class="odd"> +<td align="right">3.685435</td> +<td align="right">69.8</td> +</tr> +<tr class="even"> +<td align="right">3.685435</td> +<td align="right">77.1</td> +</tr> +<tr class="odd"> +<td align="right">8.599349</td> +<td align="right">59.0</td> +</tr> +<tr class="even"> +<td align="right">8.599349</td> +<td align="right">54.2</td> +</tr> +<tr class="odd"> +<td align="right">17.198697</td> +<td align="right">31.3</td> +</tr> +<tr class="even"> +<td align="right">17.198697</td> +<td align="right">33.5</td> +</tr> +<tr class="odd"> +<td align="right">25.798046</td> +<td align="right">19.6</td> +</tr> +<tr class="even"> +<td align="right">25.798046</td> +<td align="right">20.9</td> +</tr> +<tr class="odd"> +<td align="right">34.397395</td> +<td align="right">13.3</td> +</tr> +<tr class="even"> +<td align="right">34.397395</td> +<td align="right">15.8</td> +</tr> +<tr class="odd"> +<td align="right">51.596092</td> +<td align="right">6.7</td> +</tr> +<tr class="even"> +<td align="right">51.596092</td> +<td align="right">8.7</td> +</tr> +<tr class="odd"> +<td align="right">68.794789</td> +<td align="right">8.8</td> +</tr> +<tr class="even"> +<td align="right">68.794789</td> +<td align="right">8.7</td> +</tr> +<tr class="odd"> +<td align="right">103.192184</td> +<td align="right">6.0</td> +</tr> +<tr class="even"> +<td align="right">103.192184</td> +<td align="right">4.4</td> +</tr> +<tr class="odd"> +<td align="right">146.188928</td> +<td align="right">3.3</td> +</tr> +<tr class="even"> +<td align="right">146.188928</td> +<td align="right">2.8</td> +</tr> +<tr class="odd"> +<td align="right">223.583066</td> +<td align="right">1.4</td> +</tr> +<tr class="even"> +<td align="right">223.583066</td> +<td align="right">1.8</td> +</tr> +<tr class="odd"> +<td align="right">0.000000</td> +<td align="right">93.4</td> +</tr> +<tr class="even"> +<td align="right">0.000000</td> +<td align="right">103.2</td> +</tr> +<tr class="odd"> +<td align="right">1.228478</td> +<td align="right">89.2</td> +</tr> +<tr class="even"> +<td align="right">1.228478</td> +<td align="right">86.6</td> +</tr> +<tr class="odd"> +<td align="right">3.685435</td> +<td align="right">78.2</td> +</tr> +<tr class="even"> +<td align="right">3.685435</td> +<td align="right">78.1</td> +</tr> +<tr class="odd"> +<td align="right">8.599349</td> +<td align="right">55.6</td> +</tr> +<tr class="even"> +<td align="right">8.599349</td> +<td align="right">53.0</td> +</tr> +<tr class="odd"> +<td align="right">17.198697</td> +<td align="right">33.7</td> +</tr> +<tr class="even"> +<td align="right">17.198697</td> +<td align="right">33.2</td> +</tr> +<tr class="odd"> +<td align="right">25.798046</td> +<td align="right">20.9</td> +</tr> +<tr class="even"> +<td align="right">25.798046</td> +<td align="right">19.9</td> +</tr> +<tr class="odd"> +<td align="right">34.397395</td> +<td align="right">18.2</td> +</tr> +<tr class="even"> +<td align="right">34.397395</td> +<td align="right">12.7</td> +</tr> +<tr class="odd"> +<td align="right">51.596092</td> +<td align="right">7.8</td> +</tr> +<tr class="even"> +<td align="right">51.596092</td> +<td align="right">9.0</td> +</tr> +<tr class="odd"> +<td align="right">68.794789</td> +<td align="right">11.4</td> +</tr> +<tr class="even"> +<td align="right">68.794789</td> +<td align="right">9.0</td> +</tr> +<tr class="odd"> +<td align="right">103.192184</td> +<td align="right">3.9</td> +</tr> +<tr class="even"> +<td align="right">103.192184</td> +<td align="right">4.4</td> +</tr> +<tr class="odd"> +<td align="right">146.188928</td> +<td align="right">2.6</td> +</tr> +<tr class="even"> +<td align="right">146.188928</td> +<td align="right">3.4</td> +</tr> +<tr class="odd"> +<td align="right">223.583066</td> +<td align="right">2.0</td> +</tr> +<tr class="even"> +<td align="right">223.583066</td> +<td align="right">1.7</td> +</tr> +</tbody> +</table> +</div> +</div> +<div class="section level2"> +<h2 id="separate-evaluations">Separate evaluations<a class="anchor" aria-label="anchor" href="#separate-evaluations"></a> +</h2> +<p>In order to obtain suitable starting parameters for the NLHM fits, +separate fits of the four models to the data for each soil are generated +using the <code>mmkin</code> function from the <code>mkin</code> +package. In a first step, constant variance is assumed. Convergence is +checked with the <code>status</code> function.</p> +<div class="sourceCode" id="cb4"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="va">deg_mods</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"FOMC"</span>, <span class="st">"DFOP"</span>, <span class="st">"HS"</span><span class="op">)</span></span> +<span><span class="va">f_sep_const</span> <span class="op"><-</span> <span class="fu"><a href="../reference/mmkin.html">mmkin</a></span><span class="op">(</span></span> +<span> <span class="va">deg_mods</span>,</span> +<span> <span class="va">dmta_ds</span>,</span> +<span> error_model <span class="op">=</span> <span class="st">"const"</span>,</span> +<span> quiet <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span> +<span></span> +<span><span class="fu"><a href="../reference/status.html">status</a></span><span class="op">(</span><span class="va">f_sep_const</span><span class="op">)</span> <span class="op">|></span> <span class="fu"><a href="https://rdrr.io/pkg/knitr/man/kable.html" class="external-link">kable</a></span><span class="op">(</span><span class="op">)</span></span></code></pre></div> +<table class="table"> +<thead><tr class="header"> +<th align="left"></th> +<th align="left">Calke</th> +<th align="left">Borstel</th> +<th align="left">Flaach</th> +<th align="left">BBA 2.2</th> +<th align="left">BBA 2.3</th> +<th align="left">Elliot</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="left">SFO</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +<tr class="even"> +<td align="left">FOMC</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +<tr class="odd"> +<td align="left">DFOP</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +<tr class="even"> +<td align="left">HS</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">C</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +</tbody> +</table> +<p>In the table above, OK indicates convergence, and C indicates failure +to converge. All separate fits with constant variance converged, with +the sole exception of the HS fit to the BBA 2.2 data. To prepare for +fitting NLHM using the two-component error model, the separate fits are +updated assuming two-component error.</p> +<div class="sourceCode" id="cb5"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="va">f_sep_tc</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/stats/update.html" class="external-link">update</a></span><span class="op">(</span><span class="va">f_sep_const</span>, error_model <span class="op">=</span> <span class="st">"tc"</span><span class="op">)</span></span> +<span><span class="fu"><a href="../reference/status.html">status</a></span><span class="op">(</span><span class="va">f_sep_tc</span><span class="op">)</span> <span class="op">|></span> <span class="fu"><a href="https://rdrr.io/pkg/knitr/man/kable.html" class="external-link">kable</a></span><span class="op">(</span><span class="op">)</span></span></code></pre></div> +<table class="table"> +<thead><tr class="header"> +<th align="left"></th> +<th align="left">Calke</th> +<th align="left">Borstel</th> +<th align="left">Flaach</th> +<th align="left">BBA 2.2</th> +<th align="left">BBA 2.3</th> +<th align="left">Elliot</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="left">SFO</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +<tr class="even"> +<td align="left">FOMC</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">C</td> +<td align="left">OK</td> +</tr> +<tr class="odd"> +<td align="left">DFOP</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">C</td> +<td align="left">OK</td> +<td align="left">C</td> +<td align="left">OK</td> +</tr> +<tr class="even"> +<td align="left">HS</td> +<td align="left">OK</td> +<td align="left">C</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +</tbody> +</table> +<p>Using the two-component error model, the one fit that did not +converge with constant variance did converge, but other non-SFO fits +failed to converge.</p> +</div> +<div class="section level2"> +<h2 id="hierarchichal-model-fits">Hierarchichal model fits<a class="anchor" aria-label="anchor" href="#hierarchichal-model-fits"></a> +</h2> +<p>The following code fits eight versions of hierarchical models to the +data, using SFO, FOMC, DFOP and HS for the parent compound, and using +either constant variance or two-component error for the error model. The +default parameter distribution model in mkin allows for variation of all +degradation parameters across the assumed population of soils. In other +words, each degradation parameter is associated with a random effect as +a first step. The <code>mhmkin</code> function makes it possible to fit +all eight versions in parallel (given a sufficient number of computing +cores being available) to save execution time.</p> +<p>Convergence plots and summaries for these fits are shown in the +appendix.</p> +<div class="sourceCode" id="cb6"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="va">f_saem</span> <span class="op"><-</span> <span class="fu"><a href="../reference/mhmkin.html">mhmkin</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/list.html" class="external-link">list</a></span><span class="op">(</span><span class="va">f_sep_const</span>, <span class="va">f_sep_tc</span><span class="op">)</span>, transformations <span class="op">=</span> <span class="st">"saemix"</span><span class="op">)</span></span></code></pre></div> +<p>The output of the <code>status</code> function shows that all fits +terminated successfully.</p> +<div class="sourceCode" id="cb7"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="../reference/status.html">status</a></span><span class="op">(</span><span class="va">f_saem</span><span class="op">)</span> <span class="op">|></span> <span class="fu"><a href="https://rdrr.io/pkg/knitr/man/kable.html" class="external-link">kable</a></span><span class="op">(</span><span class="op">)</span></span></code></pre></div> +<table class="table"> +<thead><tr class="header"> +<th align="left"></th> +<th align="left">const</th> +<th align="left">tc</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="left">SFO</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +<tr class="even"> +<td align="left">FOMC</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +<tr class="odd"> +<td align="left">DFOP</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +<tr class="even"> +<td align="left">HS</td> +<td align="left">OK</td> +<td align="left">OK</td> +</tr> +</tbody> +</table> +<p>The AIC and BIC values show that the biphasic models DFOP and HS give +the best fits.</p> +<div class="sourceCode" id="cb8"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/stats/anova.html" class="external-link">anova</a></span><span class="op">(</span><span class="va">f_saem</span><span class="op">)</span> <span class="op">|></span> <span class="fu"><a href="https://rdrr.io/pkg/knitr/man/kable.html" class="external-link">kable</a></span><span class="op">(</span>digits <span class="op">=</span> <span class="fl">1</span><span class="op">)</span></span></code></pre></div> +<table class="table"> +<thead><tr class="header"> +<th align="left"></th> +<th align="right">npar</th> +<th align="right">AIC</th> +<th align="right">BIC</th> +<th align="right">Lik</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="left">SFO const</td> +<td align="right">5</td> +<td align="right">796.3</td> +<td align="right">795.3</td> +<td align="right">-393.2</td> +</tr> +<tr class="even"> +<td align="left">SFO tc</td> +<td align="right">6</td> +<td align="right">798.3</td> +<td align="right">797.1</td> +<td align="right">-393.2</td> +</tr> +<tr class="odd"> +<td align="left">FOMC const</td> +<td align="right">7</td> +<td align="right">734.2</td> +<td align="right">732.7</td> +<td align="right">-360.1</td> +</tr> +<tr class="even"> +<td align="left">FOMC tc</td> +<td align="right">8</td> +<td align="right">720.4</td> +<td align="right">718.8</td> +<td align="right">-352.2</td> +</tr> +<tr class="odd"> +<td align="left">DFOP const</td> +<td align="right">9</td> +<td align="right">711.8</td> +<td align="right">710.0</td> +<td align="right">-346.9</td> +</tr> +<tr class="even"> +<td align="left">HS const</td> +<td align="right">9</td> +<td align="right">714.0</td> +<td align="right">712.1</td> +<td align="right">-348.0</td> +</tr> +<tr class="odd"> +<td align="left">DFOP tc</td> +<td align="right">10</td> +<td align="right">665.5</td> +<td align="right">663.4</td> +<td align="right">-322.8</td> +</tr> +<tr class="even"> +<td align="left">HS tc</td> +<td align="right">10</td> +<td align="right">667.1</td> +<td align="right">665.0</td> +<td align="right">-323.6</td> +</tr> +</tbody> +</table> +<p>The DFOP model is preferred here, as it has a better mechanistic +basis for batch experiments with constant incubation conditions. Also, +it shows the lowest AIC and BIC values in the first set of fits when +combined with the two-component error model. Therefore, the DFOP model +was selected for further refinements of the fits with the aim to make +the model fully identifiable.</p> +<div class="section level3"> +<h3 id="parameter-identifiability-based-on-the-fisher-information-matrix">Parameter identifiability based on the Fisher Information +Matrix<a class="anchor" aria-label="anchor" href="#parameter-identifiability-based-on-the-fisher-information-matrix"></a> +</h3> +<p>Using the <code>illparms</code> function, ill-defined statistical +model parameters such as standard deviations of the degradation +parameters in the population and error model parameters can be +found.</p> +<div class="sourceCode" id="cb9"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="../reference/illparms.html">illparms</a></span><span class="op">(</span><span class="va">f_saem</span><span class="op">)</span> <span class="op">|></span> <span class="fu"><a href="https://rdrr.io/pkg/knitr/man/kable.html" class="external-link">kable</a></span><span class="op">(</span><span class="op">)</span></span></code></pre></div> +<table class="table"> +<thead><tr class="header"> +<th align="left"></th> +<th align="left">const</th> +<th align="left">tc</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="left">SFO</td> +<td align="left"></td> +<td align="left">b.1</td> +</tr> +<tr class="even"> +<td align="left">FOMC</td> +<td align="left"></td> +<td align="left">sd(DMTA_0)</td> +</tr> +<tr class="odd"> +<td align="left">DFOP</td> +<td align="left">sd(k2)</td> +<td align="left">sd(k2)</td> +</tr> +<tr class="even"> +<td align="left">HS</td> +<td align="left"></td> +<td align="left">sd(tb)</td> +</tr> +</tbody> +</table> +<p>According to the <code>illparms</code> function, the fitted standard +deviation of the second kinetic rate constant <code>k2</code> is +ill-defined in both DFOP fits. This suggests that different values would +be obtained for this standard deviation when using different starting +values.</p> +<p>The thus identified overparameterisation is addressed by removing the +random effect for <code>k2</code> from the parameter model.</p> +<div class="sourceCode" id="cb10"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="va">f_saem_dfop_tc_no_ranef_k2</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/stats/update.html" class="external-link">update</a></span><span class="op">(</span><span class="va">f_saem</span><span class="op">[[</span><span class="st">"DFOP"</span>, <span class="st">"tc"</span><span class="op">]</span><span class="op">]</span>,</span> +<span> no_random_effect <span class="op">=</span> <span class="st">"k2"</span><span class="op">)</span></span></code></pre></div> +<p>For the resulting fit, it is checked whether there are still +ill-defined parameters,</p> +<div class="sourceCode" id="cb11"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="../reference/illparms.html">illparms</a></span><span class="op">(</span><span class="va">f_saem_dfop_tc_no_ranef_k2</span><span class="op">)</span></span></code></pre></div> +<p>which is not the case. Below, the refined model is compared with the +previous best model. The model without random effect for <code>k2</code> +is a reduced version of the previous model. Therefore, the models are +nested and can be compared using the likelihood ratio test. This is +achieved with the argument <code>test = TRUE</code> to the +<code>anova</code> function.</p> +<div class="sourceCode" id="cb12"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/stats/anova.html" class="external-link">anova</a></span><span class="op">(</span><span class="va">f_saem</span><span class="op">[[</span><span class="st">"DFOP"</span>, <span class="st">"tc"</span><span class="op">]</span><span class="op">]</span>, <span class="va">f_saem_dfop_tc_no_ranef_k2</span>, test <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span> <span class="op">|></span></span> +<span> <span class="fu"><a href="https://rdrr.io/pkg/knitr/man/kable.html" class="external-link">kable</a></span><span class="op">(</span>format.args <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/list.html" class="external-link">list</a></span><span class="op">(</span>digits <span class="op">=</span> <span class="fl">4</span><span class="op">)</span><span class="op">)</span></span></code></pre></div> +<table class="table"> +<colgroup> +<col width="37%"> +<col width="6%"> +<col width="8%"> +<col width="8%"> +<col width="9%"> +<col width="9%"> +<col width="4%"> +<col width="15%"> +</colgroup> +<thead><tr class="header"> +<th align="left"></th> +<th align="right">npar</th> +<th align="right">AIC</th> +<th align="right">BIC</th> +<th align="right">Lik</th> +<th align="right">Chisq</th> +<th align="right">Df</th> +<th align="right">Pr(>Chisq)</th> +</tr></thead> +<tbody> +<tr class="odd"> +<td align="left">f_saem_dfop_tc_no_ranef_k2</td> +<td align="right">9</td> +<td align="right">663.8</td> +<td align="right">661.9</td> +<td align="right">-322.9</td> +<td align="right">NA</td> +<td align="right">NA</td> +<td align="right">NA</td> +</tr> +<tr class="even"> +<td align="left">f_saem[[“DFOP”, “tc”]]</td> +<td align="right">10</td> +<td align="right">665.5</td> +<td align="right">663.4</td> +<td align="right">-322.8</td> +<td align="right">0.2809</td> +<td align="right">1</td> +<td align="right">0.5961</td> +</tr> +</tbody> +</table> +<p>The AIC and BIC criteria are lower after removal of the ill-defined +random effect for <code>k2</code>. The p value of the likelihood ratio +test is much greater than 0.05, indicating that the model with the +higher likelihood (here the model with random effects for all +degradation parameters <code>f_saem[["DFOP", "tc"]]</code>) does not fit +significantly better than the model with the lower likelihood (the +reduced model <code>f_saem_dfop_tc_no_ranef_k2</code>).</p> +<p>Therefore, AIC, BIC and likelihood ratio test suggest the use of the +reduced model.</p> +<p>The convergence of the fit is checked visually.</p> +<div class="figure" style="text-align: center"> +<img src="2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-dfop-tc-no-ranef-k2-1.png" alt="Convergence plot for the NLHM DFOP fit with two-component error and without a random effect on 'k2'" width="864"><p class="caption"> +Convergence plot for the NLHM DFOP fit with two-component error and +without a random effect on ‘k2’ +</p> +</div> +<p>All parameters appear to have converged to a satisfactory degree. The +final fit is plotted using the plot method from the mkin package.</p> +<div class="sourceCode" id="cb13"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/base/plot.html" class="external-link">plot</a></span><span class="op">(</span><span class="va">f_saem_dfop_tc_no_ranef_k2</span><span class="op">)</span></span></code></pre></div> +<div class="figure" style="text-align: center"> +<img src="2022_wp_1.1_dmta_parent_files/figure-html/plot-saem-dfop-tc-no-ranef-k2-1.png" alt="Plot of the final NLHM DFOP fit" width="864"><p class="caption"> +Plot of the final NLHM DFOP fit +</p> +</div> +<p>Finally, a summary report of the fit is produced.</p> +<div class="sourceCode" id="cb14"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/pkg/saemix/man/summary-methods.html" class="external-link">summary</a></span><span class="op">(</span><span class="va">f_saem_dfop_tc_no_ranef_k2</span><span class="op">)</span></span></code></pre></div> +<pre><code>saemix version used for fitting: 3.2 +mkin version used for pre-fitting: 1.2.2 +R version used for fitting: 4.2.2 +Date of fit: Thu Jan 5 08:19:13 2023 +Date of summary: Thu Jan 5 08:19:13 2023 + +Equations: +d_DMTA/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 * + time)) / (g * exp(-k1 * time) + (1 - g) * exp(-k2 * time))) + * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 4.075 s +Using 300, 100 iterations and 9 chains + +Variance model: Two-component variance function + +Starting values for degradation parameters: + DMTA_0 k1 k2 g +98.759266 0.087034 0.009933 0.930827 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 k1 k2 g +DMTA_0 98.76 0 0 0 +k1 0.00 1 0 0 +k2 0.00 0 1 0 +g 0.00 0 0 1 + +Starting values for error model parameters: +a.1 b.1 + 1 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 663.8 661.9 -322.9 + +Optimised parameters: + est. lower upper +DMTA_0 98.228939 96.285869 100.17201 +k1 0.064063 0.033477 0.09465 +k2 0.008297 0.005824 0.01077 +g 0.953821 0.914328 0.99331 +a.1 1.068479 0.869538 1.26742 +b.1 0.029424 0.022406 0.03644 +SD.DMTA_0 2.030437 0.404824 3.65605 +SD.k1 0.594692 0.256660 0.93272 +SD.g 1.006754 0.361327 1.65218 + +Correlation: + DMTA_0 k1 k2 +k1 0.0218 +k2 0.0556 0.0355 +g -0.0516 -0.0284 -0.2800 + +Random effects: + est. lower upper +SD.DMTA_0 2.0304 0.4048 3.6560 +SD.k1 0.5947 0.2567 0.9327 +SD.g 1.0068 0.3613 1.6522 + +Variance model: + est. lower upper +a.1 1.06848 0.86954 1.26742 +b.1 0.02942 0.02241 0.03644 + +Estimated disappearance times: + DT50 DT90 DT50back DT50_k1 DT50_k2 +DMTA 11.45 41.4 12.46 10.82 83.54</code></pre> +</div> +<div class="section level3"> +<h3 id="alternative-check-of-parameter-identifiability">Alternative check of parameter identifiability<a class="anchor" aria-label="anchor" href="#alternative-check-of-parameter-identifiability"></a> +</h3> +<p>The parameter check used in the <code>illparms</code> function is +based on a quadratic approximation of the likelihood surface near its +optimum, which is calculated using the Fisher Information Matrix (FIM). +An alternative way to check parameter identifiability based on a +multistart approach has recently been implemented in mkin.</p> +<p>The graph below shows boxplots of the parameters obtained in 50 runs +of the saem algorithm with different parameter combinations, sampled +from the range of the parameters obtained for the individual datasets +fitted separately using nonlinear regression.</p> +<div class="sourceCode" id="cb16"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="va">f_saem_dfop_tc_multi</span> <span class="op"><-</span> <span class="fu"><a href="../reference/multistart.html">multistart</a></span><span class="op">(</span><span class="va">f_saem</span><span class="op">[[</span><span class="st">"DFOP"</span>, <span class="st">"tc"</span><span class="op">]</span><span class="op">]</span>, n <span class="op">=</span> <span class="fl">50</span>, cores <span class="op">=</span> <span class="fl">15</span><span class="op">)</span></span></code></pre></div> +<div class="sourceCode" id="cb17"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/graphics/par.html" class="external-link">par</a></span><span class="op">(</span>mar <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">6.1</span>, <span class="fl">4.1</span>, <span class="fl">2.1</span>, <span class="fl">2.1</span><span class="op">)</span><span class="op">)</span></span> +<span><span class="fu"><a href="../reference/parplot.html">parplot</a></span><span class="op">(</span><span class="va">f_saem_dfop_tc_multi</span>, lpos <span class="op">=</span> <span class="st">"bottomright"</span>, ylim <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">0.3</span>, <span class="fl">10</span><span class="op">)</span>, las <span class="op">=</span> <span class="fl">2</span><span class="op">)</span></span></code></pre></div> +<div class="figure" style="text-align: center"> +<img src="2022_wp_1.1_dmta_parent_files/figure-html/multistart-full-par-1.png" alt="Scaled parameters from the multistart runs, full model" width="960"><p class="caption"> +Scaled parameters from the multistart runs, full model +</p> +</div> +<p>The graph clearly confirms the lack of identifiability of the +variance of <code>k2</code> in the full model. The overparameterisation +of the model also indicates a lack of identifiability of the variance of +parameter <code>g</code>.</p> +<p>The parameter boxplots of the multistart runs with the reduced model +shown below indicate that all runs give similar results, regardless of +the starting parameters.</p> +<div class="sourceCode" id="cb18"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="va">f_saem_dfop_tc_no_ranef_k2_multi</span> <span class="op"><-</span> <span class="fu"><a href="../reference/multistart.html">multistart</a></span><span class="op">(</span><span class="va">f_saem_dfop_tc_no_ranef_k2</span>,</span> +<span> n <span class="op">=</span> <span class="fl">50</span>, cores <span class="op">=</span> <span class="fl">15</span><span class="op">)</span></span></code></pre></div> +<div class="sourceCode" id="cb19"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/graphics/par.html" class="external-link">par</a></span><span class="op">(</span>mar <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">6.1</span>, <span class="fl">4.1</span>, <span class="fl">2.1</span>, <span class="fl">2.1</span><span class="op">)</span><span class="op">)</span></span> +<span><span class="fu"><a href="../reference/parplot.html">parplot</a></span><span class="op">(</span><span class="va">f_saem_dfop_tc_no_ranef_k2_multi</span>, ylim <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">0.5</span>, <span class="fl">2</span><span class="op">)</span>, las <span class="op">=</span> <span class="fl">2</span>,</span> +<span> lpos <span class="op">=</span> <span class="st">"bottomright"</span><span class="op">)</span></span></code></pre></div> +<div class="figure" style="text-align: center"> +<img src="2022_wp_1.1_dmta_parent_files/figure-html/multistart-reduced-par-1.png" alt="Scaled parameters from the multistart runs, reduced model" width="960"><p class="caption"> +Scaled parameters from the multistart runs, reduced model +</p> +</div> +<p>When only the parameters of the top 25% of the fits are shown (based +on a feature introduced in mkin 1.2.2 currently under development), the +scatter is even less as shown below.</p> +<div class="sourceCode" id="cb20"><pre class="downlit sourceCode r"> +<code class="sourceCode R"><span><span class="fu"><a href="https://rdrr.io/r/graphics/par.html" class="external-link">par</a></span><span class="op">(</span>mar <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">6.1</span>, <span class="fl">4.1</span>, <span class="fl">2.1</span>, <span class="fl">2.1</span><span class="op">)</span><span class="op">)</span></span> +<span><span class="fu"><a href="../reference/parplot.html">parplot</a></span><span class="op">(</span><span class="va">f_saem_dfop_tc_no_ranef_k2_multi</span>, ylim <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">0.5</span>, <span class="fl">2</span><span class="op">)</span>, las <span class="op">=</span> <span class="fl">2</span>, llquant <span class="op">=</span> <span class="fl">0.25</span>,</span> +<span> lpos <span class="op">=</span> <span class="st">"bottomright"</span><span class="op">)</span></span></code></pre></div> +<div class="figure" style="text-align: center"> +<img src="2022_wp_1.1_dmta_parent_files/figure-html/multistart-reduced-par-llquant-1.png" alt="Scaled parameters from the multistart runs, reduced model, fits with the top 25\% likelihood values" width="960"><p class="caption"> +Scaled parameters from the multistart runs, reduced model, fits with the +top 25% likelihood values +</p> +</div> +</div> +</div> +<div class="section level2"> +<h2 id="conclusions">Conclusions<a class="anchor" aria-label="anchor" href="#conclusions"></a> +</h2> +<p>Fitting the four parent degradation models SFO, FOMC, DFOP and HS as +part of hierarchical model fits with two different error models and +normal distributions of the transformed degradation parameters works +without technical problems. The biphasic models DFOP and HS gave the +best fit to the data, but the default parameter distribution model was +not fully identifiable. Removing the random effect for the second +kinetic rate constant of the DFOP model resulted in a reduced model that +was fully identifiable and showed the lowest values for the model +selection criteria AIC and BIC. The reliability of the identification of +all model parameters was confirmed using multiple starting values.</p> +</div> +<div class="section level2"> +<h2 id="appendix">Appendix<a class="anchor" aria-label="anchor" href="#appendix"></a> +</h2> +<div class="section level3"> +<h3 id="hierarchical-model-fit-listings">Hierarchical model fit listings<a class="anchor" aria-label="anchor" href="#hierarchical-model-fit-listings"></a> +</h3> +<caption> +Hierarchical mkin fit of the SFO model with error model const +</caption> +<pre><code> +saemix version used for fitting: 3.2 +mkin version used for pre-fitting: 1.2.2 +R version used for fitting: 4.2.2 +Date of fit: Thu Jan 5 08:19:06 2023 +Date of summary: Thu Jan 5 08:20:11 2023 + +Equations: +d_DMTA/dt = - k_DMTA * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 1.09 s +Using 300, 100 iterations and 9 chains + +Variance model: Constant variance + +Starting values for degradation parameters: + DMTA_0 k_DMTA +97.2953 0.0566 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 k_DMTA +DMTA_0 97.3 0 +k_DMTA 0.0 1 + +Starting values for error model parameters: +a.1 + 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 796.3 795.3 -393.2 + +Optimised parameters: + est. lower upper +DMTA_0 97.28130 95.71113 98.8515 +k_DMTA 0.05665 0.02909 0.0842 +a.1 2.66442 2.35579 2.9731 +SD.DMTA_0 1.54776 0.15447 2.9411 +SD.k_DMTA 0.60690 0.26248 0.9513 + +Correlation: + DMTA_0 +k_DMTA 0.0168 + +Random effects: + est. lower upper +SD.DMTA_0 1.5478 0.1545 2.9411 +SD.k_DMTA 0.6069 0.2625 0.9513 + +Variance model: + est. lower upper +a.1 2.664 2.356 2.973 + +Estimated disappearance times: + DT50 DT90 +DMTA 12.24 40.65 + +</code></pre> +<p></p> +<caption> +Hierarchical mkin fit of the SFO model with error model tc +</caption> +<pre><code> +saemix version used for fitting: 3.2 +mkin version used for pre-fitting: 1.2.2 +R version used for fitting: 4.2.2 +Date of fit: Thu Jan 5 08:19:07 2023 +Date of summary: Thu Jan 5 08:20:11 2023 + +Equations: +d_DMTA/dt = - k_DMTA * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 2.441 s +Using 300, 100 iterations and 9 chains + +Variance model: Two-component variance function + +Starting values for degradation parameters: + DMTA_0 k_DMTA +96.99175 0.05603 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 k_DMTA +DMTA_0 96.99 0 +k_DMTA 0.00 1 + +Starting values for error model parameters: +a.1 b.1 + 1 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 798.3 797.1 -393.2 + +Optimised parameters: + est. lower upper +DMTA_0 97.271822 95.703157 98.84049 +k_DMTA 0.056638 0.029110 0.08417 +a.1 2.660081 2.230398 3.08976 +b.1 0.001665 -0.006911 0.01024 +SD.DMTA_0 1.545520 0.145035 2.94601 +SD.k_DMTA 0.606422 0.262274 0.95057 + +Correlation: + DMTA_0 +k_DMTA 0.0169 + +Random effects: + est. lower upper +SD.DMTA_0 1.5455 0.1450 2.9460 +SD.k_DMTA 0.6064 0.2623 0.9506 + +Variance model: + est. lower upper +a.1 2.660081 2.230398 3.08976 +b.1 0.001665 -0.006911 0.01024 + +Estimated disappearance times: + DT50 DT90 +DMTA 12.24 40.65 + +</code></pre> +<p></p> +<caption> +Hierarchical mkin fit of the FOMC model with error model const +</caption> +<pre><code> +saemix version used for fitting: 3.2 +mkin version used for pre-fitting: 1.2.2 +R version used for fitting: 4.2.2 +Date of fit: Thu Jan 5 08:19:06 2023 +Date of summary: Thu Jan 5 08:20:11 2023 + +Equations: +d_DMTA/dt = - (alpha/beta) * 1/((time/beta) + 1) * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 1.156 s +Using 300, 100 iterations and 9 chains + +Variance model: Constant variance + +Starting values for degradation parameters: + DMTA_0 alpha beta + 98.292 9.909 156.341 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 alpha beta +DMTA_0 98.29 0 0 +alpha 0.00 1 0 +beta 0.00 0 1 + +Starting values for error model parameters: +a.1 + 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 734.2 732.7 -360.1 + +Optimised parameters: + est. lower upper +DMTA_0 98.3435 96.9033 99.784 +alpha 7.2007 2.5889 11.812 +beta 112.8746 34.8816 190.868 +a.1 2.0459 1.8054 2.286 +SD.DMTA_0 1.4795 0.2717 2.687 +SD.alpha 0.6396 0.1509 1.128 +SD.beta 0.6874 0.1587 1.216 + +Correlation: + DMTA_0 alpha +alpha -0.1125 +beta -0.1227 0.3632 + +Random effects: + est. lower upper +SD.DMTA_0 1.4795 0.2717 2.687 +SD.alpha 0.6396 0.1509 1.128 +SD.beta 0.6874 0.1587 1.216 + +Variance model: + est. lower upper +a.1 2.046 1.805 2.286 + +Estimated disappearance times: + DT50 DT90 DT50back +DMTA 11.41 42.53 12.8 + +</code></pre> +<p></p> +<caption> +Hierarchical mkin fit of the FOMC model with error model tc +</caption> +<pre><code> +saemix version used for fitting: 3.2 +mkin version used for pre-fitting: 1.2.2 +R version used for fitting: 4.2.2 +Date of fit: Thu Jan 5 08:19:07 2023 +Date of summary: Thu Jan 5 08:20:11 2023 + +Equations: +d_DMTA/dt = - (alpha/beta) * 1/((time/beta) + 1) * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 2.729 s +Using 300, 100 iterations and 9 chains + +Variance model: Two-component variance function + +Starting values for degradation parameters: +DMTA_0 alpha beta +98.772 4.663 92.597 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 alpha beta +DMTA_0 98.77 0 0 +alpha 0.00 1 0 +beta 0.00 0 1 + +Starting values for error model parameters: +a.1 b.1 + 1 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 720.4 718.8 -352.2 + +Optimised parameters: + est. lower upper +DMTA_0 98.99136 97.26011 100.72261 +alpha 5.86312 2.57485 9.15138 +beta 88.55571 29.20889 147.90254 +a.1 1.51063 1.24384 1.77741 +b.1 0.02824 0.02040 0.03609 +SD.DMTA_0 1.57436 -0.04867 3.19739 +SD.alpha 0.59871 0.17132 1.02611 +SD.beta 0.72994 0.22849 1.23139 + +Correlation: + DMTA_0 alpha +alpha -0.1363 +beta -0.1414 0.2542 + +Random effects: + est. lower upper +SD.DMTA_0 1.5744 -0.04867 3.197 +SD.alpha 0.5987 0.17132 1.026 +SD.beta 0.7299 0.22849 1.231 + +Variance model: + est. lower upper +a.1 1.51063 1.2438 1.77741 +b.1 0.02824 0.0204 0.03609 + +Estimated disappearance times: + DT50 DT90 DT50back +DMTA 11.11 42.6 12.82 + +</code></pre> +<p></p> +<caption> +Hierarchical mkin fit of the DFOP model with error model const +</caption> +<pre><code> +saemix version used for fitting: 3.2 +mkin version used for pre-fitting: 1.2.2 +R version used for fitting: 4.2.2 +Date of fit: Thu Jan 5 08:19:07 2023 +Date of summary: Thu Jan 5 08:20:11 2023 + +Equations: +d_DMTA/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 * + time)) / (g * exp(-k1 * time) + (1 - g) * exp(-k2 * time))) + * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 2.007 s +Using 300, 100 iterations and 9 chains + +Variance model: Constant variance + +Starting values for degradation parameters: + DMTA_0 k1 k2 g +98.64383 0.09211 0.02999 0.76814 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 k1 k2 g +DMTA_0 98.64 0 0 0 +k1 0.00 1 0 0 +k2 0.00 0 1 0 +g 0.00 0 0 1 + +Starting values for error model parameters: +a.1 + 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 711.8 710 -346.9 + +Optimised parameters: + est. lower upper +DMTA_0 98.092481 96.573898 99.61106 +k1 0.062499 0.030336 0.09466 +k2 0.009065 -0.005133 0.02326 +g 0.948967 0.862079 1.03586 +a.1 1.821671 1.604774 2.03857 +SD.DMTA_0 1.677785 0.472066 2.88350 +SD.k1 0.634962 0.270788 0.99914 +SD.k2 1.033498 -0.205994 2.27299 +SD.g 1.710046 0.428642 2.99145 + +Correlation: + DMTA_0 k1 k2 +k1 0.0246 +k2 0.0491 0.0953 +g -0.0552 -0.0889 -0.4795 + +Random effects: + est. lower upper +SD.DMTA_0 1.678 0.4721 2.8835 +SD.k1 0.635 0.2708 0.9991 +SD.k2 1.033 -0.2060 2.2730 +SD.g 1.710 0.4286 2.9914 + +Variance model: + est. lower upper +a.1 1.822 1.605 2.039 + +Estimated disappearance times: + DT50 DT90 DT50back DT50_k1 DT50_k2 +DMTA 11.79 42.8 12.88 11.09 76.46 + +</code></pre> +<p></p> +<caption> +Hierarchical mkin fit of the DFOP model with error model tc +</caption> +<pre><code> +saemix version used for fitting: 3.2 +mkin version used for pre-fitting: 1.2.2 +R version used for fitting: 4.2.2 +Date of fit: Thu Jan 5 08:19:08 2023 +Date of summary: Thu Jan 5 08:20:11 2023 + +Equations: +d_DMTA/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 * + time)) / (g * exp(-k1 * time) + (1 - g) * exp(-k2 * time))) + * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 3.033 s +Using 300, 100 iterations and 9 chains + +Variance model: Two-component variance function + +Starting values for degradation parameters: + DMTA_0 k1 k2 g +98.759266 0.087034 0.009933 0.930827 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 k1 k2 g +DMTA_0 98.76 0 0 0 +k1 0.00 1 0 0 +k2 0.00 0 1 0 +g 0.00 0 0 1 + +Starting values for error model parameters: +a.1 b.1 + 1 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 665.5 663.4 -322.8 + +Optimised parameters: + est. lower upper +DMTA_0 98.377019 96.447952 100.30609 +k1 0.064843 0.034607 0.09508 +k2 0.008895 0.006368 0.01142 +g 0.949696 0.903815 0.99558 +a.1 1.065241 0.865754 1.26473 +b.1 0.029340 0.022336 0.03634 +SD.DMTA_0 2.007754 0.387982 3.62753 +SD.k1 0.580473 0.250286 0.91066 +SD.k2 0.006105 -4.920337 4.93255 +SD.g 1.097149 0.412779 1.78152 + +Correlation: + DMTA_0 k1 k2 +k1 0.0235 +k2 0.0595 0.0424 +g -0.0470 -0.0278 -0.2731 + +Random effects: + est. lower upper +SD.DMTA_0 2.007754 0.3880 3.6275 +SD.k1 0.580473 0.2503 0.9107 +SD.k2 0.006105 -4.9203 4.9325 +SD.g 1.097149 0.4128 1.7815 + +Variance model: + est. lower upper +a.1 1.06524 0.86575 1.26473 +b.1 0.02934 0.02234 0.03634 + +Estimated disappearance times: + DT50 DT90 DT50back DT50_k1 DT50_k2 +DMTA 11.36 41.32 12.44 10.69 77.92 + +</code></pre> +<p></p> +<caption> +Hierarchical mkin fit of the HS model with error model const +</caption> +<pre><code> +saemix version used for fitting: 3.2 +mkin version used for pre-fitting: 1.2.2 +R version used for fitting: 4.2.2 +Date of fit: Thu Jan 5 08:19:07 2023 +Date of summary: Thu Jan 5 08:20:11 2023 + +Equations: +d_DMTA/dt = - ifelse(time <= tb, k1, k2) * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 2.004 s +Using 300, 100 iterations and 9 chains + +Variance model: Constant variance + +Starting values for degradation parameters: + DMTA_0 k1 k2 tb +97.82176 0.06931 0.02997 11.13945 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 k1 k2 tb +DMTA_0 97.82 0 0 0 +k1 0.00 1 0 0 +k2 0.00 0 1 0 +tb 0.00 0 0 1 + +Starting values for error model parameters: +a.1 + 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 714 712.1 -348 + +Optimised parameters: + est. lower upper +DMTA_0 98.16102 96.47747 99.84456 +k1 0.07876 0.05261 0.10491 +k2 0.02227 0.01706 0.02747 +tb 13.99089 -7.40049 35.38228 +a.1 1.82305 1.60700 2.03910 +SD.DMTA_0 1.88413 0.56204 3.20622 +SD.k1 0.34292 0.10482 0.58102 +SD.k2 0.19851 0.01718 0.37985 +SD.tb 1.68168 0.58064 2.78272 + +Correlation: + DMTA_0 k1 k2 +k1 0.0142 +k2 0.0001 -0.0025 +tb 0.0165 -0.1256 -0.0301 + +Random effects: + est. lower upper +SD.DMTA_0 1.8841 0.56204 3.2062 +SD.k1 0.3429 0.10482 0.5810 +SD.k2 0.1985 0.01718 0.3798 +SD.tb 1.6817 0.58064 2.7827 + +Variance model: + est. lower upper +a.1 1.823 1.607 2.039 + +Estimated disappearance times: + DT50 DT90 DT50back DT50_k1 DT50_k2 +DMTA 8.801 67.91 20.44 8.801 31.13 + +</code></pre> +<p></p> +<caption> +Hierarchical mkin fit of the HS model with error model tc +</caption> +<pre><code> +saemix version used for fitting: 3.2 +mkin version used for pre-fitting: 1.2.2 +R version used for fitting: 4.2.2 +Date of fit: Thu Jan 5 08:19:08 2023 +Date of summary: Thu Jan 5 08:20:11 2023 + +Equations: +d_DMTA/dt = - ifelse(time <= tb, k1, k2) * DMTA + +Data: +155 observations of 1 variable(s) grouped in 6 datasets + +Model predictions using solution type analytical + +Fitted in 3.287 s +Using 300, 100 iterations and 9 chains + +Variance model: Two-component variance function + +Starting values for degradation parameters: + DMTA_0 k1 k2 tb +98.45190 0.07525 0.02576 19.19375 + +Fixed degradation parameter values: +None + +Starting values for random effects (square root of initial entries in omega): + DMTA_0 k1 k2 tb +DMTA_0 98.45 0 0 0 +k1 0.00 1 0 0 +k2 0.00 0 1 0 +tb 0.00 0 0 1 + +Starting values for error model parameters: +a.1 b.1 + 1 1 + +Results: + +Likelihood computed by importance sampling + AIC BIC logLik + 667.1 665 -323.6 + +Optimised parameters: + est. lower upper +DMTA_0 97.76570 95.81350 99.71791 +k1 0.05855 0.03080 0.08630 +k2 0.02337 0.01664 0.03010 +tb 31.09638 29.38289 32.80987 +a.1 1.08835 0.88590 1.29080 +b.1 0.02964 0.02257 0.03671 +SD.DMTA_0 2.04877 0.42607 3.67147 +SD.k1 0.59166 0.25621 0.92711 +SD.k2 0.30698 0.09561 0.51835 +SD.tb 0.01274 -0.10914 0.13462 + +Correlation: + DMTA_0 k1 k2 +k1 0.0160 +k2 -0.0070 -0.0024 +tb -0.0668 -0.0103 -0.2013 + +Random effects: + est. lower upper +SD.DMTA_0 2.04877 0.42607 3.6715 +SD.k1 0.59166 0.25621 0.9271 +SD.k2 0.30698 0.09561 0.5183 +SD.tb 0.01274 -0.10914 0.1346 + +Variance model: + est. lower upper +a.1 1.08835 0.88590 1.29080 +b.1 0.02964 0.02257 0.03671 + +Estimated disappearance times: + DT50 DT90 DT50back DT50_k1 DT50_k2 +DMTA 11.84 51.71 15.57 11.84 29.66 + +</code></pre> +<p></p> +</div> +<div class="section level3"> +<h3 id="hierarchical-model-convergence-plots">Hierarchical model convergence plots<a class="anchor" aria-label="anchor" href="#hierarchical-model-convergence-plots"></a> +</h3> +<div class="figure" style="text-align: center"> +<img src="2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-sfo-const-1.png" alt="Convergence plot for the NLHM SFO fit with constant variance" width="864"><p class="caption"> +Convergence plot for the NLHM SFO fit with constant variance +</p> +</div> +<div class="figure" style="text-align: center"> +<img src="2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-sfo-tc-1.png" alt="Convergence plot for the NLHM SFO fit with two-component error" width="864"><p class="caption"> +Convergence plot for the NLHM SFO fit with two-component error +</p> +</div> +<div class="figure" style="text-align: center"> +<img src="2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-fomc-const-1.png" alt="Convergence plot for the NLHM FOMC fit with constant variance" width="864"><p class="caption"> +Convergence plot for the NLHM FOMC fit with constant variance +</p> +</div> +<div class="figure" style="text-align: center"> +<img src="2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-fomc-tc-1.png" alt="Convergence plot for the NLHM FOMC fit with two-component error" width="864"><p class="caption"> +Convergence plot for the NLHM FOMC fit with two-component error +</p> +</div> +<div class="figure" style="text-align: center"> +<img src="2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-dfop-const-1.png" alt="Convergence plot for the NLHM DFOP fit with constant variance" width="864"><p class="caption"> +Convergence plot for the NLHM DFOP fit with constant variance +</p> +</div> +<div class="figure" style="text-align: center"> +<img src="2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-dfop-tc-1.png" alt="Convergence plot for the NLHM DFOP fit with two-component error" width="864"><p class="caption"> +Convergence plot for the NLHM DFOP fit with two-component error +</p> +</div> +<div class="figure" style="text-align: center"> +<img src="2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-hs-const-1.png" alt="Convergence plot for the NLHM HS fit with constant variance" width="864"><p class="caption"> +Convergence plot for the NLHM HS fit with constant variance +</p> +</div> +<div class="figure" style="text-align: center"> +<img src="2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-hs-tc-1.png" alt="Convergence plot for the NLHM HS fit with two-component error" width="864"><p class="caption"> +Convergence plot for the NLHM HS fit with two-component error +</p> +</div> +</div> +<div class="section level3"> +<h3 id="session-info">Session info<a class="anchor" aria-label="anchor" href="#session-info"></a> +</h3> +<pre><code>R version 4.2.2 Patched (2022-11-10 r83330) +Platform: x86_64-pc-linux-gnu (64-bit) +Running under: Debian GNU/Linux bookworm/sid + +Matrix products: default +BLAS: /usr/lib/x86_64-linux-gnu/openblas-serial/libblas.so.3 +LAPACK: /usr/lib/x86_64-linux-gnu/openblas-serial/libopenblas-r0.3.21.so + +locale: + [1] LC_CTYPE=de_DE.UTF-8 LC_NUMERIC=C + [3] LC_TIME=de_DE.UTF-8 LC_COLLATE=de_DE.UTF-8 + [5] LC_MONETARY=de_DE.UTF-8 LC_MESSAGES=de_DE.UTF-8 + [7] LC_PAPER=de_DE.UTF-8 LC_NAME=C + [9] LC_ADDRESS=C LC_TELEPHONE=C +[11] LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=C + +attached base packages: +[1] parallel stats graphics grDevices utils datasets methods +[8] base + +other attached packages: +[1] saemix_3.2 npde_3.3 knitr_1.41 mkin_1.2.2 + +loaded via a namespace (and not attached): + [1] deSolve_1.34 zoo_1.8-11 tidyselect_1.2.0 xfun_0.35 + [5] bslib_0.4.2 purrr_1.0.0 lattice_0.20-45 colorspace_2.0-3 + [9] vctrs_0.5.1 generics_0.1.3 htmltools_0.5.4 yaml_2.3.6 +[13] utf8_1.2.2 rlang_1.0.6 pkgdown_2.0.7 jquerylib_0.1.4 +[17] pillar_1.8.1 glue_1.6.2 DBI_1.1.3 lifecycle_1.0.3 +[21] stringr_1.5.0 munsell_0.5.0 gtable_0.3.1 ragg_1.2.4 +[25] codetools_0.2-18 memoise_2.0.1 evaluate_0.19 fastmap_1.1.0 +[29] lmtest_0.9-40 fansi_1.0.3 highr_0.9 scales_1.2.1 +[33] cachem_1.0.6 desc_1.4.2 jsonlite_1.8.4 systemfonts_1.0.4 +[37] fs_1.5.2 textshaping_0.3.6 gridExtra_2.3 ggplot2_3.4.0 +[41] digest_0.6.31 stringi_1.7.8 dplyr_1.0.10 grid_4.2.2 +[45] rprojroot_2.0.3 cli_3.5.0 tools_4.2.2 magrittr_2.0.3 +[49] sass_0.4.4 tibble_3.1.8 pkgconfig_2.0.3 assertthat_0.2.1 +[53] rmarkdown_2.19 R6_2.5.1 mclust_6.0.0 nlme_3.1-161 +[57] compiler_4.2.2 </code></pre> +</div> +</div> + </div> + + <div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar"> + + <nav id="toc" data-toggle="toc"><h2 data-toc-skip>Contents</h2> + </nav> +</div> + +</div> + + + + <footer><div class="copyright"> + <p></p> +<p>Developed by Johannes Ranke.</p> +</div> + +<div class="pkgdown"> + <p></p> +<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> +</div> + + </footer> +</div> + + + + + + + </body> +</html> diff --git a/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-dfop-const-1.png b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-dfop-const-1.png Binary files differnew file mode 100644 index 00000000..4f87b956 --- /dev/null +++ b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-dfop-const-1.png diff --git a/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-dfop-tc-1.png b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-dfop-tc-1.png Binary files differnew file mode 100644 index 00000000..58825300 --- /dev/null +++ b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-dfop-tc-1.png diff --git a/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-dfop-tc-no-ranef-k2-1.png b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-dfop-tc-no-ranef-k2-1.png Binary files differnew file mode 100644 index 00000000..17defde1 --- /dev/null +++ b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-dfop-tc-no-ranef-k2-1.png diff --git a/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-fomc-const-1.png b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-fomc-const-1.png Binary files differnew file mode 100644 index 00000000..b802acc6 --- /dev/null +++ b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-fomc-const-1.png diff --git a/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-fomc-tc-1.png b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-fomc-tc-1.png Binary files differnew file mode 100644 index 00000000..2d6427d5 --- /dev/null +++ b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-fomc-tc-1.png diff --git a/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-hs-const-1.png b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-hs-const-1.png Binary files differnew file mode 100644 index 00000000..f15137d0 --- /dev/null +++ b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-hs-const-1.png diff --git a/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-hs-tc-1.png b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-hs-tc-1.png Binary files differnew file mode 100644 index 00000000..322668f0 --- /dev/null +++ b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-hs-tc-1.png diff --git a/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-sfo-const-1.png b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-sfo-const-1.png Binary files differnew file mode 100644 index 00000000..4ceb281f --- /dev/null +++ b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-sfo-const-1.png diff --git a/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-sfo-tc-1.png b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-sfo-tc-1.png Binary files differnew file mode 100644 index 00000000..07383871 --- /dev/null +++ b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/convergence-saem-sfo-tc-1.png diff --git a/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/multistart-full-par-1.png b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/multistart-full-par-1.png Binary files differnew file mode 100644 index 00000000..cf4b058e --- /dev/null +++ b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/multistart-full-par-1.png diff --git a/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/multistart-reduced-par-1.png b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/multistart-reduced-par-1.png Binary files differnew file mode 100644 index 00000000..d9ed8685 --- /dev/null +++ b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/multistart-reduced-par-1.png diff --git a/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/multistart-reduced-par-llquant-1.png b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/multistart-reduced-par-llquant-1.png Binary files differnew file mode 100644 index 00000000..45dd7eb4 --- /dev/null +++ b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/multistart-reduced-par-llquant-1.png diff --git a/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/plot-saem-dfop-tc-no-ranef-k2-1.png b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/plot-saem-dfop-tc-no-ranef-k2-1.png Binary files differnew file mode 100644 index 00000000..5a3bd434 --- /dev/null +++ b/docs/dev/articles/2022_wp_1.1_dmta_parent_files/figure-html/plot-saem-dfop-tc-no-ranef-k2-1.png diff --git a/docs/dev/articles/index.html b/docs/dev/articles/index.html index e04302ef..cd0e315f 100644 --- a/docs/dev/articles/index.html +++ b/docs/dev/articles/index.html @@ -90,7 +90,9 @@ <h3>All vignettes</h3> <p class="section-desc"></p> - <dl><dt><a href="FOCUS_D.html">Example evaluation of FOCUS Example Dataset D</a></dt> + <dl><dt><a href="2022_wp_1.1_dmta_parent.html">Work package 1.1: Testing hierarchical parent degradation kinetics with residue data on dimethenamid and dimethenamid-P</a></dt> + <dd> + </dd><dt><a href="FOCUS_D.html">Example evaluation of FOCUS Example Dataset D</a></dt> <dd> </dd><dt><a href="FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a></dt> <dd> @@ -122,7 +124,7 @@ </div> <div class="pkgdown"> - <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.6.</p> + <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> </div> </footer></div> diff --git a/docs/dev/authors.html b/docs/dev/authors.html index bd58bc3d..165e2400 100644 --- a/docs/dev/authors.html +++ b/docs/dev/authors.html @@ -113,14 +113,14 @@ </div> - <p>Ranke J (2022). + <p>Ranke J (2023). <em>mkin: Kinetic Evaluation of Chemical Degradation Data</em>. R package version 1.2.2, <a href="https://pkgdown.jrwb.de/mkin/">https://pkgdown.jrwb.de/mkin/</a>. </p> <pre>@Manual{, title = {mkin: Kinetic Evaluation of Chemical Degradation Data}, author = {Johannes Ranke}, - year = {2022}, + year = {2023}, note = {R package version 1.2.2}, url = {https://pkgdown.jrwb.de/mkin/}, }</pre> @@ -136,7 +136,7 @@ R package version 1.2.2, <a href="https://pkgdown.jrwb.de/mkin/">https://pkgdown </div> <div class="pkgdown"> - <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.6.</p> + <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> </div> </footer></div> diff --git a/docs/dev/index.html b/docs/dev/index.html index 4723879e..993b8eea 100644 --- a/docs/dev/index.html +++ b/docs/dev/index.html @@ -19,11 +19,11 @@ equation models are solved using automatically generated C functions. Heteroscedasticity can be taken into account using variance by variable or two-component error models as described by Ranke and Meinecke (2018) - <doi:10.3390/environments6120124>. Interfaces to several nonlinear - mixed-effects model packages are available, some of which are described by - Ranke et al. (2021) <doi:10.3390/environments8080071>. Please note that no - warranty is implied for correctness of results or fitness for a particular - purpose."> + <doi:10.3390/environments6120124>. Hierarchical degradation models can + be fitted using nonlinear mixed-effects model packages as a backend as + described by Ranke et al. (2021) <doi:10.3390/environments8080071>. Please + note that no warranty is implied for correctness of results or fitness for a + particular purpose."> <meta name="robots" content="noindex"> <!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> @@ -122,7 +122,7 @@ <div class="section level1"> <div class="page-header"><h1 id="mkin">mkin<a class="anchor" aria-label="anchor" href="#mkin"></a> </h1></div> - +<p><a href="https://cran.r-project.org/package=mkin" class="external-link"><img src="https://www.r-pkg.org/badges/version/mkin"></a> <a href="https://jranke.r-universe.dev/ui#package:mkin" class="external-link"><img src="https://jranke.r-universe.dev/badges/mkin" alt="mkin status badge"></a> <a href="https://app.travis-ci.com/github/jranke/mkin" class="external-link"><img src="https://travis-ci.com/jranke/mkin.svg?branch=main" alt="Build Status"></a> <a href="https://codecov.io/github/jranke/mkin" class="external-link"><img src="https://codecov.io/github/jranke/mkin/branch/main/graphs/badge.svg" alt="codecov"></a></p> <p>The R package <strong>mkin</strong> provides calculation routines for the analysis of chemical degradation data, including <b>m</b>ulticompartment <b>kin</b>etics as needed for modelling the formation and decline of transformation products, or if several degradation compartments are involved.</p> <div class="section level2"> <h2 id="installation">Installation<a class="anchor" aria-label="anchor" href="#installation"></a> @@ -280,15 +280,7 @@ Ranke J, Wöltjen J, Meinecke S (2018) Comparison of software tools for kinetic </ul> </div> -<div class="dev-status"> -<h2 data-toc-skip>Dev status</h2> -<ul class="list-unstyled"> -<li><a href="https://cran.r-project.org/package=mkin" class="external-link"><img src="https://www.r-pkg.org/badges/version/mkin"></a></li> -<li><a href="https://jranke.r-universe.dev/ui#package:mkin" class="external-link"><img src="https://jranke.r-universe.dev/badges/mkin" alt="mkin status badge"></a></li> -<li><a href="https://app.travis-ci.com/github/jranke/mkin" class="external-link"><img src="https://travis-ci.com/jranke/mkin.svg?branch=main" alt="Build Status"></a></li> -<li><a href="https://codecov.io/github/jranke/mkin" class="external-link"><img src="https://codecov.io/github/jranke/mkin/branch/main/graphs/badge.svg" alt="codecov"></a></li> -</ul> -</div> + </div> </div> @@ -301,7 +293,7 @@ Ranke J, Wöltjen J, Meinecke S (2018) Comparison of software tools for kinetic <div class="pkgdown"> <p></p> -<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.6.</p> +<p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> </div> </footer> diff --git a/docs/dev/news/index.html b/docs/dev/news/index.html index 6127ebc6..060135bf 100644 --- a/docs/dev/news/index.html +++ b/docs/dev/news/index.html @@ -89,7 +89,9 @@ <div class="section level2"> <h2 class="page-header" data-toc-text="1.2.2" id="mkin-122">mkin 1.2.2<a class="anchor" aria-label="anchor" href="#mkin-122"></a></h2> -<ul><li><p>‘R/mhmkin.R’: Allow an ‘illparms.mhmkin’ object or a list with suitable dimensions as value of the argument ‘no_random_effects’, making it possible to exclude random effects that were ill-defined in simpler variants of the set of degradation models. Remove the possibility to exclude random effects based on separate fits, as it did not work well.</p></li> +<ul><li><p>‘inst/rmarkdown/templates/hier’: R markdown template to facilitate the application of hierarchical kinetic models.</p></li> +<li><p>‘inst/testdata/lambda-cyhalothrin_soil_efsa_2014.xlsx’: Example spreadsheet for use with ‘read_spreadsheet()’.</p></li> +<li><p>‘R/mhmkin.R’: Allow an ‘illparms.mhmkin’ object or a list with suitable dimensions as value of the argument ‘no_random_effects’, making it possible to exclude random effects that were ill-defined in simpler variants of the set of degradation models. Remove the possibility to exclude random effects based on separate fits, as it did not work well.</p></li> <li><p>‘R/summary.saem.mmkin.R’: List all initial parameter values in the summary, including random effects and error model parameters. Avoid redundant warnings that occurred in the calculation of correlations of the fixed effects in the case that the Fisher information matrix could not be inverted. List correlations of random effects if specified by the user in the covariance model.</p></li> <li><p>‘R/parplot.R’: Possibility to select the top ‘llquant’ fraction of the fits for the parameter plots, and improved legend text.</p></li> <li><p>‘R/illparms.R’: Also check if confidence intervals for slope parameters in covariate models include zero. Only implemented for fits obtained with the saemix backend.</p></li> @@ -649,7 +651,7 @@ </div> <div class="pkgdown"> - <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.6.</p> + <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> </div> </footer></div> diff --git a/docs/dev/pkgdown.yml b/docs/dev/pkgdown.yml index 642efcde..760148d3 100644 --- a/docs/dev/pkgdown.yml +++ b/docs/dev/pkgdown.yml @@ -1,7 +1,8 @@ pandoc: 2.17.1.1 -pkgdown: 2.0.6 +pkgdown: 2.0.7 pkgdown_sha: ~ articles: + 2022_wp_1.1_dmta_parent: 2022_wp_1.1_dmta_parent.html FOCUS_D: FOCUS_D.html FOCUS_L: FOCUS_L.html mkin: mkin.html @@ -13,7 +14,7 @@ articles: dimethenamid_2018: web_only/dimethenamid_2018.html multistart: web_only/multistart.html saem_benchmarks: web_only/saem_benchmarks.html -last_built: 2022-12-15T13:46Z +last_built: 2023-01-05T07:18Z urls: reference: https://pkgdown.jrwb.de/mkin/reference article: https://pkgdown.jrwb.de/mkin/articles diff --git a/docs/dev/reference/example_analysis/dlls/sforb_sfo2.so b/docs/dev/reference/example_analysis/dlls/sforb_sfo2.so Binary files differnew file mode 100755 index 00000000..a692256d --- /dev/null +++ b/docs/dev/reference/example_analysis/dlls/sforb_sfo2.so diff --git a/docs/dev/reference/example_analysis/example_analysis.Rmd b/docs/dev/reference/example_analysis/example_analysis.Rmd new file mode 100644 index 00000000..38a6bd20 --- /dev/null +++ b/docs/dev/reference/example_analysis/example_analysis.Rmd @@ -0,0 +1,314 @@ +--- +title: "Hierarchical kinetic modelling of degradation data" +author: +date: +output: mkin::hierarchical_kinetics +geometry: margin=2cm +--- + +\clearpage + +# Setup + +```{r packages, cache = FALSE, message = FALSE} +library(mkin) +library(knitr) +library(saemix) +library(parallel) +library(readxl) +``` + +```{r n_cores, cache = FALSE} +n_cores <- detectCores() + +if (Sys.info()["sysname"] == "Windows") { + cl <- makePSOCKcluster(n_cores) +} else { + cl <- makeForkCluster(n_cores) +} +``` + +\clearpage + +# Introduction + +This report shows hierarchical kinetic modelling for ... +The data were obtained from ... + +```{r ds} +data_path <- system.file( + "testdata", "lambda-cyhalothrin_soil_efsa_2014.xlsx", + package = "mkin") +ds <- read_spreadsheet(data_path, valid_datasets = c(1:4, 7:13)) +covariates <- attr(ds, "covariates") +``` + +The covariate data are shown below. + +```{r results = "asis", dependson = "ds", echo = FALSE} +kable(covariates, caption = "Covariate data for all datasets") +``` + +\clearpage + +The datasets with the residue time series are shown in the tables below. Please +refer to the spreadsheet for details like data sources, treatment of values +below reporting limits and time step normalisation factors. + +```{r results = "asis", dependson = "ds", echo = FALSE} +for (ds_name in names(ds)) { + print( + kable(mkin_long_to_wide(ds[[ds_name]]), + caption = paste("Dataset", ds_name), + booktabs = TRUE, row.names = FALSE)) + cat("\n\\clearpage\n") +} +``` + +# Parent only evaluations + +The following code performs separate fits of the candidate degradation models +to all datasets using constant variance and the two-component error model. + +```{r parent-sep, dependson = "ds"} +parent_deg_mods <- c("SFO", "FOMC", "DFOP", "SFORB") +errmods <- c(const = "constant variance", tc = "two-component error") +parent_sep_const <- mmkin( + parent_deg_mods, ds, + error_model = "const", + cluster = cl, quiet = TRUE) +parent_sep_tc <- update(parent_sep_const, error_model = "tc") +``` + +To select the parent model, the corresponding hierarchical fits are performed below. + +```{r parent-mhmkin, dependson = "parent-sep"} +parent_mhmkin <- mhmkin(list(parent_sep_const, parent_sep_tc), cluster = cl) +status(parent_mhmkin) |> kable() +``` + +All fits terminate without errors (status OK). The check for ill-defined +parameters shows that not all random effect parameters can be robustly +quantified. + +```{r dependson = "parent_mhmkin"} +illparms(parent_mhmkin) |> kable() +``` + +Therefore, the fits are updated, excluding random effects that were +ill-defined according to the `illparms` function. The status of the fits +is checked. + +```{r parent-mhmkin-refined} +parent_mhmkin_refined <- update(parent_mhmkin, + no_random_effect = illparms(parent_mhmkin)) +status(parent_mhmkin_refined) |> kable() +``` + +Also, it is checked if the AIC values of the refined fits are actually smaller +than the AIC values of the original fits. + +```{r dependson = "parent-mhmkin-refined"} +(AIC(parent_mhmkin_refined) < AIC(parent_mhmkin)) |> kable() +``` + +From the refined fits, the most suitable model is selected using the AIC. + +```{r parent-best, dependson = "parent-mhmkin"} +aic_parent <- AIC(parent_mhmkin_refined) +min_aic <- which(aic_parent == min(aic_parent), arr.ind = TRUE) +best_degmod_parent <- rownames(aic_parent)[min_aic[1]] +best_errmod_parent <- colnames(aic_parent)[min_aic[2]] +anova(parent_mhmkin_refined) |> kable(digits = 1) +parent_best <- parent_mhmkin_refined[[best_degmod_parent, best_errmod_parent]] +``` + +Based on the AIC, the combination of the `r best_degmod_parent` degradation +model with the error model `r errmods[best_errmod_parent]` is identified to +be most suitable for the degradation of the parent. The check below +confirms that no ill-defined parameters remain for this combined model. + +```{r dependson = "parent-best"} +illparms(parent_best) +``` + +The corresponding fit is plotted below. + +```{r dependson = "parent-best"} +plot(parent_best) +``` +The fitted parameters, together with approximate confidence +intervals are listed below. + +```{r dependson = "parent-best"} +parms(parent_best, ci = TRUE) |> kable(digits = 3) +``` + +To investigate a potential covariate influence on degradation parameters, a +covariate model is added to the hierarchical model for each of the degradation +parameters with well-defined random effects. Also, a version with covariate +models for both of them is fitted. + +```{r parent-best-pH} +parent_best_pH_1 <- update(parent_best, covariates = covariates, + covariate_models = list(log_k_lambda_free ~ pH)) +parent_best_pH_2 <- update(parent_best, covariates = covariates, + covariate_models = list(log_k_lambda_bound_free ~ pH)) +parent_best_pH_3 <- update(parent_best, covariates = covariates, + covariate_models = list(log_k_lambda_free ~ pH, log_k_lambda_bound_free ~ pH)) +``` + +The resulting models are compared. + +```{r dependson = "parent-best-pH"} +anova(parent_best, parent_best_pH_1, parent_best_pH_2, parent_best_pH_3) |> + kable(digits = 1) +``` + +The model fit with the lowest AIC is the one with a pH correlation of the +desorption rate constant `k_lambda_bound_free`. Plot and parameter listing +of this fit are shown below. Also, it is confirmed that no ill-defined +variance parameters are found. + +```{r dependson = "parent-best-pH"} +plot(parent_best_pH_2) +``` + +```{r dependson = "parent-best-pH"} +illparms(parent_best_pH_2) +parms(parent_best_pH_2, ci = TRUE) |> kable(digits = 3) +``` + +\clearpage + +# Pathway fits + +As an example of a pathway fit, a model with SFORB for the parent compound and +parallel formation of two metabolites is set up. + +```{r path-1-degmod} +if (!dir.exists("dlls")) dir.create("dlls") + +m_sforb_sfo2 = mkinmod( + lambda = mkinsub("SFORB", to = c("c_V", "c_XV")), + c_V = mkinsub("SFO"), + c_XV = mkinsub("SFO"), + name = "sforb_sfo2", + dll_dir = "dlls", + overwrite = TRUE, quiet = TRUE +) +``` + +Separate evaluations of all datasets are performed with constant variance +and using two-component error. + +```{r path-1-sep, dependson = c("path-1-degmod", "ds")} +sforb_sep_const <- mmkin(list(sforb_path = m_sforb_sfo2), ds, + cluster = cl, quiet = TRUE) +sforb_sep_tc <- update(sforb_sep_const, error_model = "tc") +``` + +The separate fits with constant variance are plotted. + +```{r dependson = "path-1-sep", fig.height = 9} +plot(mixed(sforb_sep_const)) +``` + +The two corresponding hierarchical fits, with the random effects for the parent +degradation parameters excluded as discussed above, and including the covariate +model that was identified for the parent degradation, are attempted below. + +```{r path-1, dependson = "path-1-sep"} +path_1 <- mhmkin(list(sforb_sep_const, sforb_sep_tc), + no_random_effect = c("lambda_free_0", "log_k_lambda_free_bound"), + covariates = covariates, covariate_models = list(log_k_lambda_bound_free ~ pH), + cluster = cl) +``` + +```{r dependson = "path-1"} +status(path_1) |> kable() +``` + +The status information shows that both fits were successfully completed. + +```{r dependson = "path-1"} +anova(path_1) |> kable(digits = 1) +``` +Model comparison shows that the two-component error model provides a much +better fit. + +```{r dependson = "path-1"} +illparms(path_1[["sforb_path", "tc"]]) +``` + +Two ill-defined variance components are found. Therefore, the fit is +repeated with the corresponding random effects removed. + +```{r path-1-refined, dependson = "path-1"} +path_1_refined <- update(path_1[["sforb_path", "tc"]], + no_random_effect = c("lambda_free_0", "log_k_lambda_free_bound", + "log_k_c_XV", "f_lambda_ilr_2")) +``` + +The empty output of the illparms function indicates that there are no +ill-defined parameters remaining in the refined fit. + +```{r dependson = "path-1-refined"} +illparms(path_1_refined) +``` + +Below, the refined fit is plotted and the fitted parameters are shown together +with their 95% confidence intervals. + +```{r dependson = "path-1-refined", fig.height = 9} +plot(path_1_refined) +``` + +```{r dependson = "path-1-refined", fig.height = 9} +parms(path_1_refined, ci = TRUE) |> kable(digits = 3) +``` + +\clearpage + +# Appendix + +## Listings of initial parent fits + +```{r listings-parent, results = "asis", echo = FALSE, dependson = "parent_mhmkin"} +for (deg_mod in parent_deg_mods) { + for (err_mod in c("const", "tc")) { + caption <- paste("Hierarchical", deg_mod, "fit with", errmods[err_mod]) + tex_listing(parent_mhmkin[[deg_mod, err_mod]], caption) + } +} +``` + +## Listings of refined parent fits + +```{r listings-parent-refined, results = "asis", echo = FALSE, dependson = "parent_mhmkin_refined"} +for (deg_mod in parent_deg_mods) { + for (err_mod in c("const", "tc")) { + caption <- paste("Refined hierarchical", deg_mod, "fit with", errmods[err_mod]) + tex_listing(parent_mhmkin_refined[[deg_mod, err_mod]], caption) + } +} +``` + +## Listings of pathway fits + +```{r listings-path-1, results = "asis", echo = FALSE, dependson = "path-1-refined"} +tex_listing(path_1[["sforb_path", "const"]], + caption = "Hierarchical fit of SFORB-SFO2 with constant variance") +tex_listing(path_1[["sforb_path", "tc"]], + caption = "Hierarchical fit of SFORB-SFO2 with two-component error") +tex_listing(path_1_refined, + caption = "Refined hierarchical fit of SFORB-SFO2 with two-component error") +``` + +## Session info + +```{r echo = FALSE, cache = FALSE} +parallel::stopCluster(cl) +sessionInfo() +``` + diff --git a/docs/dev/reference/example_analysis/header.tex b/docs/dev/reference/example_analysis/header.tex new file mode 100644 index 00000000..a2b7ce83 --- /dev/null +++ b/docs/dev/reference/example_analysis/header.tex @@ -0,0 +1 @@ +\definecolor{shadecolor}{RGB}{248,248,248} diff --git a/docs/dev/reference/example_analysis/skeleton.pdf b/docs/dev/reference/example_analysis/skeleton.pdf Binary files differnew file mode 100644 index 00000000..53c5fb31 --- /dev/null +++ b/docs/dev/reference/example_analysis/skeleton.pdf diff --git a/docs/dev/reference/example_analysis/skeleton_files/figure-latex/unnamed-chunk-11-1.pdf b/docs/dev/reference/example_analysis/skeleton_files/figure-latex/unnamed-chunk-11-1.pdf Binary files differnew file mode 100644 index 00000000..ab685d92 --- /dev/null +++ b/docs/dev/reference/example_analysis/skeleton_files/figure-latex/unnamed-chunk-11-1.pdf diff --git a/docs/dev/reference/example_analysis/skeleton_files/figure-latex/unnamed-chunk-16-1.pdf b/docs/dev/reference/example_analysis/skeleton_files/figure-latex/unnamed-chunk-16-1.pdf Binary files differnew file mode 100644 index 00000000..5d88063b --- /dev/null +++ b/docs/dev/reference/example_analysis/skeleton_files/figure-latex/unnamed-chunk-16-1.pdf diff --git a/docs/dev/reference/example_analysis/skeleton_files/figure-latex/unnamed-chunk-6-1.pdf b/docs/dev/reference/example_analysis/skeleton_files/figure-latex/unnamed-chunk-6-1.pdf Binary files differnew file mode 100644 index 00000000..5e0d7b6f --- /dev/null +++ b/docs/dev/reference/example_analysis/skeleton_files/figure-latex/unnamed-chunk-6-1.pdf diff --git a/docs/dev/reference/example_analysis/skeleton_files/figure-latex/unnamed-chunk-9-1.pdf b/docs/dev/reference/example_analysis/skeleton_files/figure-latex/unnamed-chunk-9-1.pdf Binary files differnew file mode 100644 index 00000000..eecd06a8 --- /dev/null +++ b/docs/dev/reference/example_analysis/skeleton_files/figure-latex/unnamed-chunk-9-1.pdf diff --git a/docs/dev/reference/hierarchical_kinetics.html b/docs/dev/reference/hierarchical_kinetics.html new file mode 100644 index 00000000..bedb8753 --- /dev/null +++ b/docs/dev/reference/hierarchical_kinetics.html @@ -0,0 +1,154 @@ +<!DOCTYPE html> +<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Hierarchical kinetics template — hierarchical_kinetics • mkin</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"><script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"><script src="../pkgdown.js"></script><meta property="og:title" content="Hierarchical kinetics template — hierarchical_kinetics"><meta property="og:description" content="R markdown format for setting up hierarchical kinetics based on a template +provided with the mkin package."><meta name="robots" content="noindex"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--></head><body data-spy="scroll" data-target="#toc"> + + + <div class="container template-reference-topic"> + <header><div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">mkin</a> + <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.2.2</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"><li> + <a href="../reference/index.html">Functions and data</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"><li> + <a href="../articles/mkin.html">Introduction to mkin</a> + </li> + <li> + <a href="../articles/FOCUS_D.html">Example evaluation of FOCUS Example Dataset D</a> + </li> + <li> + <a href="../articles/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a> + </li> + <li> + <a href="../articles/web_only/dimethenamid_2018.html">Example evaluations of dimethenamid data from 2018 with nonlinear mixed-effects models</a> + </li> + <li> + <a href="../articles/web_only/multistart.html">Short demo of the multistart method</a> + </li> + <li> + <a href="../articles/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a> + </li> + <li> + <a href="../articles/web_only/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</a> + </li> + <li> + <a href="../articles/twa.html">Calculation of time weighted average concentrations with mkin</a> + </li> + <li> + <a href="../articles/web_only/NAFTA_examples.html">Example evaluation of NAFTA SOP Attachment examples</a> + </li> + <li> + <a href="../articles/web_only/benchmarks.html">Benchmark timings for mkin</a> + </li> + <li> + <a href="../articles/web_only/saem_benchmarks.html">Benchmark timings for saem.mmkin</a> + </li> + </ul></li> +<li> + <a href="../news/index.html">News</a> +</li> + </ul><ul class="nav navbar-nav navbar-right"><li> + <a href="https://github.com/jranke/mkin/" class="external-link"> + <span class="fab fa-github fa-lg"></span> + + </a> +</li> + </ul></div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header><div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Hierarchical kinetics template</h1> + <small class="dont-index">Source: <a href="https://github.com/jranke/mkin/blob/HEAD/R/hierarchical_kinetics.R" class="external-link"><code>R/hierarchical_kinetics.R</code></a></small> + <div class="hidden name"><code>hierarchical_kinetics.Rd</code></div> + </div> + + <div class="ref-description"> + <p>R markdown format for setting up hierarchical kinetics based on a template +provided with the mkin package.</p> + </div> + + <div id="ref-usage"> + <div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">hierarchical_kinetics</span><span class="op">(</span><span class="va">...</span>, keep_tex <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span></span></code></pre></div> + </div> + + <div id="arguments"> + <h2>Arguments</h2> + <dl><dt>...</dt> +<dd><p>Arguments to <code><a href="https://pkgs.rstudio.com/rmarkdown/reference/pdf_document.html" class="external-link">rmarkdown::pdf_document</a></code></p></dd> + + +<dt>keep_tex</dt> +<dd><p>Keep the intermediate tex file used in the conversion to PDF</p></dd> + +</dl></div> + <div id="value"> + <h2>Value</h2> + + +<p>R Markdown output format to pass to +<code><a href="https://pkgs.rstudio.com/rmarkdown/reference/render.html" class="external-link">render</a></code></p> + + + </div> + + <div id="ref-examples"> + <h2>Examples</h2> + <div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span></span></span> +<span class="r-in"><span><span class="co"># \dontrun{</span></span></span> +<span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://github.com/rstudio/rmarkdown" class="external-link">rmarkdown</a></span><span class="op">)</span></span></span> +<span class="r-in"><span><span class="fu"><a href="https://pkgs.rstudio.com/rmarkdown/reference/draft.html" class="external-link">draft</a></span><span class="op">(</span><span class="st">"example_analysis.rmd"</span>, template <span class="op">=</span> <span class="st">"hierarchical_kinetics"</span>, package <span class="op">=</span> <span class="st">"mkin"</span><span class="op">)</span></span></span> +<span class="r-in"><span><span class="co"># }</span></span></span> +<span class="r-in"><span></span></span> +</code></pre></div> + </div> + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar"> + <nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2> + </nav></div> +</div> + + + <footer><div class="copyright"> + <p></p><p>Developed by Johannes Ranke.</p> +</div> + +<div class="pkgdown"> + <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> +</div> + + </footer></div> + + + + + + + </body></html> + diff --git a/docs/dev/reference/index.html b/docs/dev/reference/index.html index 794126cf..525551fd 100644 --- a/docs/dev/reference/index.html +++ b/docs/dev/reference/index.html @@ -195,6 +195,10 @@ of an mmkin object</p></td> <p class="section-desc"></p><p>Create and work with nonlinear hierarchical models</p> </th> </tr></tbody><tbody><tr><td> + <p><code><a href="hierarchical_kinetics.html">hierarchical_kinetics()</a></code> </p> + </td> + <td><p>Hierarchical kinetics template</p></td> + </tr><tr><td> <p><code><a href="read_spreadsheet.html">read_spreadsheet()</a></code> </p> </td> <td><p>Read datasets and relevant meta information from a spreadsheet file</p></td> @@ -356,9 +360,9 @@ degradation models and one or more error models</p></td> <p class="section-desc"></p> </th> </tr></tbody><tbody><tr><td> - <p><code><a href="tex_listing.html">tex_listing()</a></code> </p> + <p><code><a href="summary_listing.html">summary_listing()</a></code> <code><a href="summary_listing.html">tex_listing()</a></code> <code><a href="summary_listing.html">html_listing()</a></code> </p> </td> - <td><p>Wrap the output of a summary function in tex listing environment</p></td> + <td><p>Display the output of a summary function according to the output format</p></td> </tr><tr><td> <p><code><a href="f_time_norm_focus.html">f_time_norm_focus()</a></code> </p> </td> @@ -493,7 +497,7 @@ kinetic models fitted with mkinfit</p></td> </div> <div class="pkgdown"> - <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.6.</p> + <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> </div> </footer></div> diff --git a/docs/dev/reference/mkinmod.html b/docs/dev/reference/mkinmod.html index 251215a7..145dee83 100644 --- a/docs/dev/reference/mkinmod.html +++ b/docs/dev/reference/mkinmod.html @@ -132,7 +132,7 @@ the source compartment. Additionally, <code>mkinsub()</code> has an argument <code>to</code>, specifying names of variables to which a transfer is to be assumed in the model. If the argument <code>use_of_ff</code> is set to "min" -(default) and the model for the compartment is "SFO" or "SFORB", an +and the model for the compartment is "SFO" or "SFORB", an additional <code>mkinsub()</code> argument can be <code>sink = FALSE</code>, effectively fixing the flux to sink to zero. In print.mkinmod, this argument is currently not used.</p></dd> @@ -247,7 +247,7 @@ in the FOCUS and NAFTA guidance documents are used.</p> <p>For kinetic models with more than one observed variable, a symbolic solution of the system of differential equations is included in the resulting mkinmod object in some cases, speeding up the solution.</p> -<p>If a C compiler is found by <code><a href="https://rdrr.io/pkg/pkgbuild/man/has_compiler.html" class="external-link">pkgbuild::has_compiler()</a></code> and there +<p>If a C compiler is found by <code><a href="https://r-lib.github.io/pkgbuild/reference/has_compiler.html" class="external-link">pkgbuild::has_compiler()</a></code> and there is more than one observed variable in the specification, C code is generated for evaluating the differential equations, compiled using <code><a href="https://rdrr.io/pkg/inline/man/cfunction.html" class="external-link">inline::cfunction()</a></code> and added to the resulting mkinmod object.</p> @@ -310,7 +310,7 @@ Evaluating and Calculating Degradation Kinetics in Environmental Media</p> <span class="r-in"><span> parent <span class="op">=</span> <span class="fu">mkinsub</span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"m1"</span>, full_name <span class="op">=</span> <span class="st">"Test compound"</span><span class="op">)</span>,</span></span> <span class="r-in"><span> m1 <span class="op">=</span> <span class="fu">mkinsub</span><span class="op">(</span><span class="st">"SFO"</span>, full_name <span class="op">=</span> <span class="st">"Metabolite M1"</span><span class="op">)</span>,</span></span> <span class="r-in"><span> name <span class="op">=</span> <span class="st">"SFO_SFO"</span>, dll_dir <span class="op">=</span> <span class="va">DLL_dir</span>, unload <span class="op">=</span> <span class="cn">TRUE</span>, overwrite <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></span> -<span class="r-msg co"><span class="r-pr">#></span> Copied DLL from /tmp/RtmpbZbZ8Y/file8c6a9f402f42.so to /home/jranke/.local/share/mkin/SFO_SFO.so</span> +<span class="r-msg co"><span class="r-pr">#></span> Copied DLL from /tmp/RtmpelWAOB/fileb43c31a25a86.so to /home/jranke/.local/share/mkin/SFO_SFO.so</span> <span class="r-in"><span><span class="co"># Now we can save the model and restore it in a new session</span></span></span> <span class="r-in"><span><span class="fu"><a href="https://rdrr.io/r/base/readRDS.html" class="external-link">saveRDS</a></span><span class="op">(</span><span class="va">SFO_SFO.2</span>, file <span class="op">=</span> <span class="st">"~/SFO_SFO.rds"</span><span class="op">)</span></span></span> <span class="r-in"><span><span class="co"># Terminate the R session here if you would like to check, and then do</span></span></span> @@ -363,7 +363,7 @@ Evaluating and Calculating Degradation Kinetics in Environmental Media</p> <span class="r-out co"><span class="r-pr">#></span> })</span> <span class="r-out co"><span class="r-pr">#></span> return(predicted)</span> <span class="r-out co"><span class="r-pr">#></span> }</span> -<span class="r-out co"><span class="r-pr">#></span> <environment: 0x55556029f678></span> +<span class="r-out co"><span class="r-pr">#></span> <environment: 0x55555f013820></span> <span class="r-in"><span></span></span> <span class="r-in"><span><span class="co"># If we have several parallel metabolites</span></span></span> <span class="r-in"><span><span class="co"># (compare tests/testthat/test_synthetic_data_for_UBA_2014.R)</span></span></span> @@ -392,7 +392,7 @@ Evaluating and Calculating Degradation Kinetics in Environmental Media</p> </div> <div class="pkgdown"> - <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.6.</p> + <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> </div> </footer></div> diff --git a/docs/dev/reference/summary_listing.html b/docs/dev/reference/summary_listing.html new file mode 100644 index 00000000..876412cc --- /dev/null +++ b/docs/dev/reference/summary_listing.html @@ -0,0 +1,147 @@ +<!DOCTYPE html> +<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Display the output of a summary function according to the output format — summary_listing • mkin</title><!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" crossorigin="anonymous"><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="../bootstrap-toc.css"><script src="../bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous"><!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="../pkgdown.css" rel="stylesheet"><script src="../pkgdown.js"></script><meta property="og:title" content="Display the output of a summary function according to the output format — summary_listing"><meta property="og:description" content='This function is intended for use in a R markdown code chunk with the chunk +option results = "asis".'><meta name="robots" content="noindex"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]> +<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> +<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> +<![endif]--></head><body data-spy="scroll" data-target="#toc"> + + + <div class="container template-reference-topic"> + <header><div class="navbar navbar-default navbar-fixed-top" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <span class="navbar-brand"> + <a class="navbar-link" href="../index.html">mkin</a> + <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.2.2</span> + </span> + </div> + + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav"><li> + <a href="../reference/index.html">Functions and data</a> +</li> +<li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false"> + Articles + + <span class="caret"></span> + </a> + <ul class="dropdown-menu" role="menu"><li> + <a href="../articles/mkin.html">Introduction to mkin</a> + </li> + <li> + <a href="../articles/FOCUS_D.html">Example evaluation of FOCUS Example Dataset D</a> + </li> + <li> + <a href="../articles/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a> + </li> + <li> + <a href="../articles/web_only/dimethenamid_2018.html">Example evaluations of dimethenamid data from 2018 with nonlinear mixed-effects models</a> + </li> + <li> + <a href="../articles/web_only/multistart.html">Short demo of the multistart method</a> + </li> + <li> + <a href="../articles/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a> + </li> + <li> + <a href="../articles/web_only/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</a> + </li> + <li> + <a href="../articles/twa.html">Calculation of time weighted average concentrations with mkin</a> + </li> + <li> + <a href="../articles/web_only/NAFTA_examples.html">Example evaluation of NAFTA SOP Attachment examples</a> + </li> + <li> + <a href="../articles/web_only/benchmarks.html">Benchmark timings for mkin</a> + </li> + <li> + <a href="../articles/web_only/saem_benchmarks.html">Benchmark timings for saem.mmkin</a> + </li> + </ul></li> +<li> + <a href="../news/index.html">News</a> +</li> + </ul><ul class="nav navbar-nav navbar-right"><li> + <a href="https://github.com/jranke/mkin/" class="external-link"> + <span class="fab fa-github fa-lg"></span> + + </a> +</li> + </ul></div><!--/.nav-collapse --> + </div><!--/.container --> +</div><!--/.navbar --> + + + + </header><div class="row"> + <div class="col-md-9 contents"> + <div class="page-header"> + <h1>Display the output of a summary function according to the output format</h1> + <small class="dont-index">Source: <a href="https://github.com/jranke/mkin/blob/HEAD/R/summary_listing.R" class="external-link"><code>R/summary_listing.R</code></a></small> + <div class="hidden name"><code>summary_listing.Rd</code></div> + </div> + + <div class="ref-description"> + <p>This function is intended for use in a R markdown code chunk with the chunk +option <code>results = "asis"</code>.</p> + </div> + + <div id="ref-usage"> + <div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">summary_listing</span><span class="op">(</span><span class="va">object</span>, caption <span class="op">=</span> <span class="cn">NULL</span>, label <span class="op">=</span> <span class="cn">NULL</span>, clearpage <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span> +<span></span> +<span><span class="fu">tex_listing</span><span class="op">(</span><span class="va">object</span>, caption <span class="op">=</span> <span class="cn">NULL</span>, label <span class="op">=</span> <span class="cn">NULL</span>, clearpage <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span> +<span></span> +<span><span class="fu">html_listing</span><span class="op">(</span><span class="va">object</span>, caption <span class="op">=</span> <span class="cn">NULL</span><span class="op">)</span></span></code></pre></div> + </div> + + <div id="arguments"> + <h2>Arguments</h2> + <dl><dt>object</dt> +<dd><p>The object for which the summary is to be listed</p></dd> + + +<dt>caption</dt> +<dd><p>An optional caption</p></dd> + + +<dt>label</dt> +<dd><p>An optional label, ignored in html output</p></dd> + + +<dt>clearpage</dt> +<dd><p>Should a new page be started after the listing? Ignored in html output</p></dd> + +</dl></div> + + </div> + <div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar"> + <nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2> + </nav></div> +</div> + + + <footer><div class="copyright"> + <p></p><p>Developed by Johannes Ranke.</p> +</div> + +<div class="pkgdown"> + <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p> +</div> + + </footer></div> + + + + + + + </body></html> + diff --git a/docs/dev/sitemap.xml b/docs/dev/sitemap.xml index 06f56c5d..6e51371c 100644 --- a/docs/dev/sitemap.xml +++ b/docs/dev/sitemap.xml @@ -4,6 +4,9 @@ <loc>https://pkgdown.jrwb.de/mkin/404.html</loc> </url> <url> + <loc>https://pkgdown.jrwb.de/mkin/articles/2022_wp_1.1_dmta_parent.html</loc> + </url> + <url> <loc>https://pkgdown.jrwb.de/mkin/articles/FOCUS_D.html</loc> </url> <url> @@ -139,6 +142,9 @@ <loc>https://pkgdown.jrwb.de/mkin/reference/get_deg_func.html</loc> </url> <url> + <loc>https://pkgdown.jrwb.de/mkin/reference/hierarchical_kinetics.html</loc> + </url> + <url> <loc>https://pkgdown.jrwb.de/mkin/reference/illparms.html</loc> </url> <url> @@ -307,6 +313,9 @@ <loc>https://pkgdown.jrwb.de/mkin/reference/summary.saem.mmkin.html</loc> </url> <url> + <loc>https://pkgdown.jrwb.de/mkin/reference/summary_listing.html</loc> + </url> + <url> <loc>https://pkgdown.jrwb.de/mkin/reference/synthetic_data_for_UBA_2014.html</loc> </url> <url> |