aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Ranke <jranke@uni-bremen.de>2021-07-27 18:22:01 +0200
committerJohannes Ranke <jranke@uni-bremen.de>2021-07-27 18:22:01 +0200
commit0b754ffa91b9496bdd2f892cf3ca2bd887028dea (patch)
tree7d9926c53f6f6a5d09ce69f6e2dfaeacceb70475
parentdf716686122872fc148977e7ec4b51f6dc8332bd (diff)
Fix dimethenamid vignette problems and update docs
-rw-r--r--docs/dev/404.html2
-rw-r--r--docs/dev/articles/index.html4
-rw-r--r--docs/dev/articles/web_only/dimethenamid_2018.html420
-rw-r--r--docs/dev/articles/web_only/dimethenamid_2018_files/accessible-code-block-0.0.1/empty-anchor.js15
-rw-r--r--docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const-1.pngbin0 -> 145534 bytes
-rw-r--r--docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const_test-1.pngbin0 -> 146181 bytes
-rw-r--r--docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_tc_test-1.pngbin0 -> 150274 bytes
-rw-r--r--docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_sfo_const-1.pngbin0 -> 141499 bytes
-rw-r--r--docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_const-1.pngbin0 -> 180061 bytes
-rw-r--r--docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_tc-1.pngbin0 -> 151832 bytes
-rw-r--r--docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_const-1.pngbin0 -> 124946 bytes
-rw-r--r--docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_tc-1.pngbin0 -> 140491 bytes
-rw-r--r--docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_const-1.pngbin0 -> 58759 bytes
-rw-r--r--docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_moreiter-1.pngbin0 -> 45420 bytes
-rw-r--r--docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_const-1.pngbin0 -> 59913 bytes
-rw-r--r--docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_tc-1.pngbin0 -> 53550 bytes
-rw-r--r--docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/plot_parent_nlme-1.pngbin0 -> 147409 bytes
-rw-r--r--docs/dev/articles/web_only/dimethenamid_2018_files/header-attrs-2.9/header-attrs.js12
-rw-r--r--docs/dev/authors.html2
-rw-r--r--docs/dev/index.html2
-rw-r--r--docs/dev/news/index.html2
-rw-r--r--docs/dev/pkgdown.yml3
-rw-r--r--docs/dev/reference/Rplot005.pngbin59049 -> 59600 bytes
-rw-r--r--docs/dev/reference/dimethenamid_2018-2.pngbin0 -> 245108 bytes
-rw-r--r--docs/dev/reference/dimethenamid_2018.html217
-rw-r--r--docs/dev/reference/endpoints.html2
-rw-r--r--docs/dev/reference/index.html2
-rw-r--r--docs/dev/reference/mean_degparms.html2
-rw-r--r--docs/dev/reference/mkinmod.html12
-rw-r--r--docs/dev/reference/nlme-1.pngbin68943 -> 69667 bytes
-rw-r--r--docs/dev/reference/nlme-2.pngbin94409 -> 93394 bytes
-rw-r--r--docs/dev/reference/nlme.html18
-rw-r--r--docs/dev/reference/nlme.mmkin.html9
-rw-r--r--docs/dev/reference/nlmixr.mmkin.html28
-rw-r--r--docs/dev/reference/plot.mixed.mmkin-3.pngbin173260 -> 173794 bytes
-rw-r--r--docs/dev/reference/plot.mixed.mmkin-4.pngbin176346 -> 176972 bytes
-rw-r--r--docs/dev/reference/plot.mixed.mmkin.html6
-rw-r--r--docs/dev/reference/reexports.html2
-rw-r--r--docs/dev/reference/saem-5.pngbin174406 -> 174405 bytes
-rw-r--r--docs/dev/reference/saem.html480
-rw-r--r--docs/dev/reference/summary.nlmixr.mmkin.html792
-rw-r--r--docs/dev/reference/tffm0.html2
-rw-r--r--docs/dev/sitemap.xml3
-rw-r--r--vignettes/web_only/dimethenamid_2018.html109
-rw-r--r--vignettes/web_only/dimethenamid_2018.rmd57
45 files changed, 1131 insertions, 1072 deletions
diff --git a/docs/dev/404.html b/docs/dev/404.html
index 98c0b1e0..38898979 100644
--- a/docs/dev/404.html
+++ b/docs/dev/404.html
@@ -71,7 +71,7 @@
</button>
<span class="navbar-brand">
<a class="navbar-link" href="https://pkgdown.jrwb.de/mkin/index.html">mkin</a>
- <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.0.5</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
diff --git a/docs/dev/articles/index.html b/docs/dev/articles/index.html
index 3896120a..c0338df8 100644
--- a/docs/dev/articles/index.html
+++ b/docs/dev/articles/index.html
@@ -71,7 +71,7 @@
</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.0.5</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
@@ -161,6 +161,8 @@
<dd></dt>
<dt><a href="web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a></dt>
<dd></dt>
+ <dt><a href="web_only/dimethenamid_2018.html">Example evaluations of the dimethenamid data from 2018</a></dt>
+ <dd></dt>
</dl>
</div>
</div>
diff --git a/docs/dev/articles/web_only/dimethenamid_2018.html b/docs/dev/articles/web_only/dimethenamid_2018.html
new file mode 100644
index 00000000..7648f75a
--- /dev/null
+++ b/docs/dev/articles/web_only/dimethenamid_2018.html
@@ -0,0 +1,420 @@
+<!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>Example evaluations of the dimethenamid data from 2018 • 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="Example evaluations of the dimethenamid data from 2018">
+<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.1.0</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" 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/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</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/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">Some benchmark timings</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/">
+ <span class="fab fa-github fa-lg"></span>
+
+ </a>
+</li>
+ </ul>
+</div>
+<!--/.nav-collapse -->
+ </div>
+<!--/.container -->
+</div>
+<!--/.navbar -->
+
+
+
+ </header><script src="dimethenamid_2018_files/header-attrs-2.9/header-attrs.js"></script><script src="dimethenamid_2018_files/accessible-code-block-0.0.1/empty-anchor.js"></script><div class="row">
+ <div class="col-md-9 contents">
+ <div class="page-header toc-ignore">
+ <h1 data-toc-skip>Example evaluations of the dimethenamid data from 2018</h1>
+ <h4 class="author">Johannes Ranke</h4>
+
+ <h4 class="date">Last change 27 July 2021, built on 27 Jul 2021</h4>
+
+ <small class="dont-index">Source: <a href="https://github.com/jranke/mkin/blob/master/vignettes/web_only/dimethenamid_2018.rmd"><code>vignettes/web_only/dimethenamid_2018.rmd</code></a></small>
+ <div class="hidden name"><code>dimethenamid_2018.rmd</code></div>
+
+ </div>
+
+
+
+<p><a href="http://www.jrwb.de">Wissenschaftlicher Berater, Kronacher Str. 12, 79639 Grenzach-Wyhlen, Germany</a><br><a href="http://chem.uft.uni-bremen.de/ranke">Privatdozent at the University of Bremen</a></p>
+<div id="introduction" class="section level1">
+<h1 class="hasAnchor">
+<a href="#introduction" class="anchor"></a>Introduction</h1>
+<p>During the preparation of the journal article on nonlinear mixed-effects models in degradation kinetics (submitted) and the analysis of the dimethenamid degradation data analysed therein, a need for a more detailed analysis using not only nlme and saemix, but also nlmixr for fitting the mixed-effects models was identified.</p>
+<p>This vignette is an attempt to satisfy this need.</p>
+</div>
+<div id="data" class="section level1">
+<h1 class="hasAnchor">
+<a href="#data" class="anchor"></a>Data</h1>
+<p>Residue data forming the basis for the endpoints derived in the conclusion on the peer review of the pesticide risk assessment of dimethenamid-P published by the European Food Safety Authority (EFSA) in 2018 <span class="citation">(EFSA 2018)</span> were transcribed from the risk assessment report <span class="citation">(Rapporteur Member State Germany, Co-Rapporteur Member State Bulgaria 2018)</span> which can be downloaded from the <a href="https://open.efsa.europa.eu/study-inventory/EFSA-Q-2014-00716">EFSA register of questions</a>.</p>
+<p>The data are <a href="https://pkgdown.jrwb.de/mkin/reference/dimethenamid_2018.html">available in the mkin package</a>. The following code (hidden by default, please use the button to the right to show it) treats the data available for the racemic mixture dimethenamid (DMTA) and its enantiomer dimethenamid-P (DMTAP) in the same way, as no difference between their degradation behaviour was identified in the EU risk assessment. 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.</p>
+<p>Also, datasets observed in the same soil are merged, resulting in dimethenamid (DMTA) data from six soils.</p>
+<div class="sourceCode" id="cb1"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="kw"><a href="https://rdrr.io/r/base/library.html">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 class="va">dmta_ds</span> <span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/r/base/lapply.html">lapply</a></span><span class="op">(</span><span class="fl">1</span><span class="op">:</span><span class="fl">8</span>, <span class="kw">function</span><span class="op">(</span><span class="va">i</span><span class="op">)</span> <span class="op">{</span>
+ <span class="va">ds_i</span> <span class="op">&lt;-</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="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">&lt;-</span> <span class="st">"DMTA"</span>
+ <span class="va">ds_i</span><span class="op">$</span><span class="va">time</span> <span class="op">&lt;-</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="va">ds_i</span>
+<span class="op">}</span><span class="op">)</span>
+<span class="fu"><a href="https://rdrr.io/r/base/names.html">names</a></span><span class="op">(</span><span class="va">dmta_ds</span><span class="op">)</span> <span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/r/base/lapply.html">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 class="va">dmta_ds</span><span class="op">[[</span><span class="st">"Borstel"</span><span class="op">]</span><span class="op">]</span> <span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/r/base/cbind.html">rbind</a></span><span class="op">(</span><span class="va">dmta_ds</span><span class="op">[[</span><span class="st">"Borstel 1"</span><span class="op">]</span><span class="op">]</span>, <span class="va">dmta_ds</span><span class="op">[[</span><span class="st">"Borstel 2"</span><span class="op">]</span><span class="op">]</span><span class="op">)</span>
+<span class="va">dmta_ds</span><span class="op">[[</span><span class="st">"Borstel 1"</span><span class="op">]</span><span class="op">]</span> <span class="op">&lt;-</span> <span class="cn">NULL</span>
+<span class="va">dmta_ds</span><span class="op">[[</span><span class="st">"Borstel 2"</span><span class="op">]</span><span class="op">]</span> <span class="op">&lt;-</span> <span class="cn">NULL</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">&lt;-</span> <span class="fu"><a href="https://rdrr.io/r/base/cbind.html">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="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">&lt;-</span> <span class="cn">NULL</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">&lt;-</span> <span class="cn">NULL</span></code></pre></div>
+</div>
+<div id="parent-degradation" class="section level1">
+<h1 class="hasAnchor">
+<a href="#parent-degradation" class="anchor"></a>Parent degradation</h1>
+<p>We evaluate the observed degradation of the parent compound using simple exponential decline (SFO) and biexponential decline (DFOP), using constant variance (const) and a two-component variance (tc) as error models.</p>
+<div id="separate-evaluations" class="section level2">
+<h2 class="hasAnchor">
+<a href="#separate-evaluations" class="anchor"></a>Separate evaluations</h2>
+<p>As a first step, to get a visual impression of the fit of the different models, we do separate evaluations for each soil using the mmkin function from the mkin package:</p>
+<div class="sourceCode" id="cb2"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="va">f_parent_mkin_const</span> <span class="op">&lt;-</span> <span class="fu"><a href="../../reference/mmkin.html">mmkin</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"DFOP"</span><span class="op">)</span>, <span class="va">dmta_ds</span>,
+ error_model <span class="op">=</span> <span class="st">"const"</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span>
+<span class="va">f_parent_mkin_tc</span> <span class="op">&lt;-</span> <span class="fu"><a href="../../reference/mmkin.html">mmkin</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="st">"SFO"</span>, <span class="st">"DFOP"</span><span class="op">)</span>, <span class="va">dmta_ds</span>,
+ error_model <span class="op">=</span> <span class="st">"tc"</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></code></pre></div>
+<p>The plot of the individual SFO fits shown below suggests that at least in some datasets the degradation slows down towards later time points, and that the scatter of the residuals error is smaller for smaller values (panel to the right):</p>
+<div class="sourceCode" id="cb3"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/graphics/plot.default.html">plot</a></span><span class="op">(</span><span class="fu"><a href="../../reference/mixed.html">mixed</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"SFO"</span>, <span class="op">]</span><span class="op">)</span><span class="op">)</span></code></pre></div>
+<p><img src="dimethenamid_2018_files/figure-html/f_parent_mkin_sfo_const-1.png" width="700"></p>
+<p>Using biexponential decline (DFOP) results in a slightly more random scatter of the residuals:</p>
+<div class="sourceCode" id="cb4"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/graphics/plot.default.html">plot</a></span><span class="op">(</span><span class="fu"><a href="../../reference/mixed.html">mixed</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span><span class="op">)</span><span class="op">)</span></code></pre></div>
+<p><img src="dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const-1.png" width="700"></p>
+<p>The population curve (bold line) in the above plot results from taking the mean of the individual transformed parameters, i.e. of log k1 and log k2, as well as of the logit of the g parameter of the DFOP model). Here, this procedure does not result in parameters that represent the degradation well, because in some datasets the fitted value for k2 is extremely close to zero, leading to a log k2 value that dominates the average. This is alleviated if only rate constants that pass the t-test for significant difference from zero (on the untransformed scale) are considered in the averaging:</p>
+<div class="sourceCode" id="cb5"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/graphics/plot.default.html">plot</a></span><span class="op">(</span><span class="fu"><a href="../../reference/mixed.html">mixed</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span><span class="op">)</span>, test_log_parms <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></code></pre></div>
+<p><img src="dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const_test-1.png" width="700"></p>
+<p>While this is visually much more satisfactory, such an average procedure could introduce a bias, as not all results from the individual fits enter the population curve with the same weight. This is where nonlinear mixed-effects models can help out by treating all datasets with equally by fitting a parameter distribution model together with the degradation model and the error model (see below).</p>
+<p>The remaining trend of the residuals to be higher for higher predicted residues is reduced by using the two-component error model:</p>
+<div class="sourceCode" id="cb6"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/graphics/plot.default.html">plot</a></span><span class="op">(</span><span class="fu"><a href="../../reference/mixed.html">mixed</a></span><span class="op">(</span><span class="va">f_parent_mkin_tc</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span><span class="op">)</span>, test_log_parms <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></code></pre></div>
+<p><img src="dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_tc_test-1.png" width="700"></p>
+</div>
+<div id="nonlinear-mixed-effects-models" class="section level2">
+<h2 class="hasAnchor">
+<a href="#nonlinear-mixed-effects-models" class="anchor"></a>Nonlinear mixed-effects models</h2>
+<p>Instead of taking a model selection decision for each of the individual fits, we fit nonlinear mixed-effects models (using different fitting algorithms as implemented in different packages) and do model selection using all available data at the same time. In order to make sure that these decisions are not unduly influenced by the type of algorithm used, by implementation details or by the use of wrong control parameters, we compare the model selection results obtained with different R packages, with different algorithms and checking control parameters.</p>
+<div id="nlme" class="section level3">
+<h3 class="hasAnchor">
+<a href="#nlme" class="anchor"></a>nlme</h3>
+<p>The nlme package was the first R extension providing facilities to fit nonlinear mixed-effects models. We use would like to do model selection from all four combinations of degradation models and error models based on the AIC. However, fitting the DFOP model with constant variance and using default control parameters results in an error, signalling that the maximum number of 50 iterations was reached, potentially indicating overparameterisation. However, the algorithm converges when the two-component error model is used in combination with the DFOP model. This can be explained by the fact that the smaller residues observed at later sampling times get more weight when using the two-component error model which will counteract the tendency of the algorithm to try parameter combinations unsuitable for fitting these data.</p>
+<div class="sourceCode" id="cb7"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="kw"><a href="https://rdrr.io/r/base/library.html">library</a></span><span class="op">(</span><span class="va"><a href="https://svn.r-project.org/R-packages/trunk/nlme/">nlme</a></span><span class="op">)</span>
+<span class="va">f_parent_nlme_sfo_const</span> <span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/pkg/nlme/man/nlme.html">nlme</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"SFO"</span>, <span class="op">]</span><span class="op">)</span>
+<span class="co">#f_parent_nlme_dfop_const &lt;- nlme(f_parent_mkin_const["DFOP", ])</span>
+<span class="co"># maxIter = 50 reached</span>
+<span class="va">f_parent_nlme_sfo_tc</span> <span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/pkg/nlme/man/nlme.html">nlme</a></span><span class="op">(</span><span class="va">f_parent_mkin_tc</span><span class="op">[</span><span class="st">"SFO"</span>, <span class="op">]</span><span class="op">)</span>
+<span class="va">f_parent_nlme_dfop_tc</span> <span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/pkg/nlme/man/nlme.html">nlme</a></span><span class="op">(</span><span class="va">f_parent_mkin_tc</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span><span class="op">)</span></code></pre></div>
+<p>Note that overparameterisation is also indicated by warnings obtained when fitting SFO or DFOP with the two-component error model (‘false convergence’ in the ‘LME step’ in some iterations). In addition to these fits, attempts were also made to include correlations between random effects by using the log Cholesky parameterisation of the matrix specifying them. The code used for these attempts can be made visible below.</p>
+<div class="sourceCode" id="cb8"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="va">f_parent_nlme_sfo_const_logchol</span> <span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/pkg/nlme/man/nlme.html">nlme</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"SFO"</span>, <span class="op">]</span>,
+ random <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/pkg/nlme/man/pdLogChol.html">pdLogChol</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/list.html">list</a></span><span class="op">(</span><span class="va">DMTA_0</span> <span class="op">~</span> <span class="fl">1</span>, <span class="va">log_k_DMTA</span> <span class="op">~</span> <span class="fl">1</span><span class="op">)</span><span class="op">)</span><span class="op">)</span>
+<span class="fu"><a href="https://rdrr.io/r/stats/anova.html">anova</a></span><span class="op">(</span><span class="va">f_parent_nlme_sfo_const</span>, <span class="va">f_parent_nlme_sfo_const_logchol</span><span class="op">)</span> <span class="co"># not better</span>
+<span class="co">#f_parent_nlme_dfop_tc_logchol &lt;- update(f_parent_nlme_dfop_tc,</span>
+<span class="co"># random = pdLogChol(list(DMTA_0 ~ 1, log_k1 ~ 1, log_k2 ~ 1, g_qlogis ~ 1)))</span>
+<span class="co"># using log Cholesky parameterisation for random effects (nlme default) does</span>
+<span class="co"># not converge here and gives lots of warnings about the LME step not converging</span></code></pre></div>
+<p>The model comparison function of the nlme package can directly be applied to these fits showing a similar goodness-of-fit of the SFO model, but a much lower AIC for the DFOP model fitted with the two-component error model. Also, the likelihood ratio test indicates that this difference is significant. as the p-value is below 0.0001.</p>
+<div class="sourceCode" id="cb9"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/stats/anova.html">anova</a></span><span class="op">(</span>
+ <span class="va">f_parent_nlme_sfo_const</span>, <span class="va">f_parent_nlme_sfo_tc</span>, <span class="va">f_parent_nlme_dfop_tc</span>
+<span class="op">)</span></code></pre></div>
+<pre><code> Model df AIC BIC logLik Test L.Ratio p-value
+f_parent_nlme_sfo_const 1 5 818.63 834.00 -404.31
+f_parent_nlme_sfo_tc 2 6 820.61 839.06 -404.31 1 vs 2 0.014 0.9049
+f_parent_nlme_dfop_tc 3 10 687.84 718.59 -333.92 2 vs 3 140.771 &lt;.0001</code></pre>
+<p>The selected model (DFOP with two-component error) fitted to the data assuming no correlations between random effects is shown below.</p>
+<div class="sourceCode" id="cb11"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/graphics/plot.default.html">plot</a></span><span class="op">(</span><span class="va">f_parent_nlme_dfop_tc</span><span class="op">)</span></code></pre></div>
+<p><img src="dimethenamid_2018_files/figure-html/plot_parent_nlme-1.png" width="700"></p>
+</div>
+<div id="saemix" class="section level3">
+<h3 class="hasAnchor">
+<a href="#saemix" class="anchor"></a>saemix</h3>
+<p>The saemix package provided the first Open Source implementation of the Stochastic Approximation to the Expectation Maximisation (SAEM) algorithm. SAEM fits of degradation models can be performed using an interface to the saemix package available in current development versions of the mkin package.</p>
+<p>The corresponding SAEM fits of the four combinations of degradation and error models are fitted below. As there is no convergence criterion implemented in the saemix package, the convergence plots need to be manually checked for every fit.</p>
+<p>The convergence plot for the SFO model using constant variance is shown below.</p>
+<div class="sourceCode" id="cb12"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="kw"><a href="https://rdrr.io/r/base/library.html">library</a></span><span class="op">(</span><span class="va">saemix</span><span class="op">)</span>
+<span class="va">f_parent_saemix_sfo_const</span> <span class="op">&lt;-</span> <span class="fu">mkin</span><span class="fu">::</span><span class="fu"><a href="../../reference/saem.html">saem</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"SFO"</span>, <span class="op">]</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span>,
+ transformations <span class="op">=</span> <span class="st">"saemix"</span><span class="op">)</span>
+<span class="fu"><a href="https://rdrr.io/pkg/saemix/man/plot-SaemixObject-method.html">plot</a></span><span class="op">(</span><span class="va">f_parent_saemix_sfo_const</span><span class="op">$</span><span class="va">so</span>, plot.type <span class="op">=</span> <span class="st">"convergence"</span><span class="op">)</span></code></pre></div>
+<p><img src="dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_const-1.png" width="700"></p>
+<p>Obviously the default number of iterations is sufficient to reach convergence. This can also be said for the SFO fit using the two-component error model.</p>
+<div class="sourceCode" id="cb13"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="va">f_parent_saemix_sfo_tc</span> <span class="op">&lt;-</span> <span class="fu">mkin</span><span class="fu">::</span><span class="fu"><a href="../../reference/saem.html">saem</a></span><span class="op">(</span><span class="va">f_parent_mkin_tc</span><span class="op">[</span><span class="st">"SFO"</span>, <span class="op">]</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span>,
+ transformations <span class="op">=</span> <span class="st">"saemix"</span><span class="op">)</span>
+<span class="fu"><a href="https://rdrr.io/pkg/saemix/man/plot-SaemixObject-method.html">plot</a></span><span class="op">(</span><span class="va">f_parent_saemix_sfo_tc</span><span class="op">$</span><span class="va">so</span>, plot.type <span class="op">=</span> <span class="st">"convergence"</span><span class="op">)</span></code></pre></div>
+<p><img src="dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_tc-1.png" width="700"></p>
+<p>When fitting the DFOP model with constant variance, parameter convergence is not as unambiguous (see the failure of nlme with the default number of iterations above). Therefore, the number of iterations in the first phase of the algorithm was increased, leading to visually satisfying convergence.</p>
+<div class="sourceCode" id="cb14"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="va">f_parent_saemix_dfop_const</span> <span class="op">&lt;-</span> <span class="fu">mkin</span><span class="fu">::</span><span class="fu"><a href="../../reference/saem.html">saem</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span>,
+ control <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/pkg/saemix/man/saemixControl.html">saemixControl</a></span><span class="op">(</span>nbiter.saemix <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="fl">800</span>, <span class="fl">200</span><span class="op">)</span>, print <span class="op">=</span> <span class="cn">FALSE</span>,
+ save <span class="op">=</span> <span class="cn">FALSE</span>, save.graphs <span class="op">=</span> <span class="cn">FALSE</span>, displayProgress <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span>,
+ transformations <span class="op">=</span> <span class="st">"saemix"</span><span class="op">)</span>
+<span class="fu"><a href="https://rdrr.io/pkg/saemix/man/plot-SaemixObject-method.html">plot</a></span><span class="op">(</span><span class="va">f_parent_saemix_dfop_const</span><span class="op">$</span><span class="va">so</span>, plot.type <span class="op">=</span> <span class="st">"convergence"</span><span class="op">)</span></code></pre></div>
+<p><img src="dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_const-1.png" width="700"></p>
+<p>The same applies to the case where the DFOP model is fitted with the two-component error model. Convergence of the variance of k2 is enhanced by using the two-component error, it remains more or less stable already after 200 iterations of the first phase.</p>
+<div class="sourceCode" id="cb15"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="va">f_parent_saemix_dfop_tc_moreiter</span> <span class="op">&lt;-</span> <span class="fu">mkin</span><span class="fu">::</span><span class="fu"><a href="../../reference/saem.html">saem</a></span><span class="op">(</span><span class="va">f_parent_mkin_tc</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span>,
+ control <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/pkg/saemix/man/saemixControl.html">saemixControl</a></span><span class="op">(</span>nbiter.saemix <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="fl">800</span>, <span class="fl">200</span><span class="op">)</span>, print <span class="op">=</span> <span class="cn">FALSE</span>,
+ save <span class="op">=</span> <span class="cn">FALSE</span>, save.graphs <span class="op">=</span> <span class="cn">FALSE</span>, displayProgress <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span>,
+ transformations <span class="op">=</span> <span class="st">"saemix"</span><span class="op">)</span>
+<span class="fu"><a href="https://rdrr.io/pkg/saemix/man/plot-SaemixObject-method.html">plot</a></span><span class="op">(</span><span class="va">f_parent_saemix_dfop_tc_moreiter</span><span class="op">$</span><span class="va">so</span>, plot.type <span class="op">=</span> <span class="st">"convergence"</span><span class="op">)</span></code></pre></div>
+<p><img src="dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_moreiter-1.png" width="700"></p>
+<p>The four combinations can be compared using the model comparison function from the saemix package:</p>
+<div class="sourceCode" id="cb16"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/pkg/saemix/man/compare.saemix.html">compare.saemix</a></span><span class="op">(</span><span class="va">f_parent_saemix_sfo_const</span><span class="op">$</span><span class="va">so</span>, <span class="va">f_parent_saemix_sfo_tc</span><span class="op">$</span><span class="va">so</span>,
+ <span class="va">f_parent_saemix_dfop_const</span><span class="op">$</span><span class="va">so</span>, <span class="va">f_parent_saemix_dfop_tc_moreiter</span><span class="op">$</span><span class="va">so</span><span class="op">)</span></code></pre></div>
+<pre><code>Likelihoods calculated by importance sampling</code></pre>
+<pre><code> AIC BIC
+1 818.37 817.33
+2 820.38 819.14
+3 725.91 724.04
+4 683.64 681.55</code></pre>
+<p>As in the case of nlme fits, the DFOP model fitted with two-component error (number 4) gives the lowest AIC. The numeric values are reasonably close to the ones obtained using nlme, considering that the algorithms for fitting the model and for the likelihood calculation are quite different.</p>
+<p>In order to check the influence of the likelihood calculation algorithms implemented in saemix, the likelihood from Gaussian quadrature is added to the best fit, and the AIC values obtained from the three methods are compared.</p>
+<div class="sourceCode" id="cb19"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="va">f_parent_saemix_dfop_tc_moreiter</span><span class="op">$</span><span class="va">so</span> <span class="op">&lt;-</span>
+ <span class="fu"><a href="https://rdrr.io/pkg/saemix/man/llgq.saemix.html">llgq.saemix</a></span><span class="op">(</span><span class="va">f_parent_saemix_dfop_tc_moreiter</span><span class="op">$</span><span class="va">so</span><span class="op">)</span>
+<span class="fu"><a href="https://rdrr.io/r/stats/AIC.html">AIC</a></span><span class="op">(</span><span class="va">f_parent_saemix_dfop_tc_moreiter</span><span class="op">$</span><span class="va">so</span><span class="op">)</span></code></pre></div>
+<pre><code>[1] 683.64</code></pre>
+<div class="sourceCode" id="cb21"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/stats/AIC.html">AIC</a></span><span class="op">(</span><span class="va">f_parent_saemix_dfop_tc_moreiter</span><span class="op">$</span><span class="va">so</span>, method <span class="op">=</span> <span class="st">"gq"</span><span class="op">)</span></code></pre></div>
+<pre><code>[1] 683.7</code></pre>
+<div class="sourceCode" id="cb23"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/stats/AIC.html">AIC</a></span><span class="op">(</span><span class="va">f_parent_saemix_dfop_tc_moreiter</span><span class="op">$</span><span class="va">so</span>, method <span class="op">=</span> <span class="st">"lin"</span><span class="op">)</span></code></pre></div>
+<pre><code>[1] 683.17</code></pre>
+<p>The AIC values based on importance sampling and Gaussian quadrature are quite similar. Using linearisation is less accurate, but still gives a similar value.</p>
+</div>
+<div id="nlmixr" class="section level3">
+<h3 class="hasAnchor">
+<a href="#nlmixr" class="anchor"></a>nlmixr</h3>
+<p>In the last years, a lot of effort has been put into the nlmixr package which is designed for pharmacokinetics, where nonlinear mixed-effects models are routinely used, but which can also be used for related data like chemical degradation data. A current development branch of the mkin package provides an interface between mkin and nlmixr. Here, we check if we get equivalent results when using a refined version of the First Order Conditional Estimation (FOCE) algorithm used in nlme, namely First Order Conditional Estimation with Interaction (FOCEI), and the SAEM algorithm as implemented in nlmixr.</p>
+<p>First, the focei algorithm is used for the four model combinations and the goodness of fit of the results is compared.</p>
+<div class="sourceCode" id="cb25"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="kw"><a href="https://rdrr.io/r/base/library.html">library</a></span><span class="op">(</span><span class="va"><a href="https://github.com/nlmixrdevelopment/nlmixr">nlmixr</a></span><span class="op">)</span>
+<span class="va">f_parent_nlmixr_focei_sfo_const</span> <span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/pkg/nlmixr/man/nlmixr.html">nlmixr</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"SFO"</span>, <span class="op">]</span>, est <span class="op">=</span> <span class="st">"focei"</span><span class="op">)</span>
+<span class="va">f_parent_nlmixr_focei_sfo_tc</span> <span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/pkg/nlmixr/man/nlmixr.html">nlmixr</a></span><span class="op">(</span><span class="va">f_parent_mkin_tc</span><span class="op">[</span><span class="st">"SFO"</span>, <span class="op">]</span>, est <span class="op">=</span> <span class="st">"focei"</span><span class="op">)</span>
+<span class="va">f_parent_nlmixr_focei_dfop_const</span> <span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/pkg/nlmixr/man/nlmixr.html">nlmixr</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span>, est <span class="op">=</span> <span class="st">"focei"</span><span class="op">)</span>
+<span class="va">f_parent_nlmixr_focei_dfop_tc</span><span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/pkg/nlmixr/man/nlmixr.html">nlmixr</a></span><span class="op">(</span><span class="va">f_parent_mkin_tc</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span>, est <span class="op">=</span> <span class="st">"focei"</span><span class="op">)</span></code></pre></div>
+<div class="sourceCode" id="cb26"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/stats/AIC.html">AIC</a></span><span class="op">(</span><span class="va">f_parent_nlmixr_focei_sfo_const</span><span class="op">$</span><span class="va">nm</span>, <span class="va">f_parent_nlmixr_focei_sfo_tc</span><span class="op">$</span><span class="va">nm</span>,
+ <span class="va">f_parent_nlmixr_focei_dfop_const</span><span class="op">$</span><span class="va">nm</span>, <span class="va">f_parent_nlmixr_focei_dfop_tc</span><span class="op">$</span><span class="va">nm</span><span class="op">)</span></code></pre></div>
+<pre><code> df AIC
+f_parent_nlmixr_focei_sfo_const$nm 5 818.63
+f_parent_nlmixr_focei_sfo_tc$nm 6 820.61
+f_parent_nlmixr_focei_dfop_const$nm 9 728.11
+f_parent_nlmixr_focei_dfop_tc$nm 10 687.82</code></pre>
+<p>The AIC values are very close to the ones obtained with nlme which are repeated below for convenience.</p>
+<div class="sourceCode" id="cb28"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/stats/AIC.html">AIC</a></span><span class="op">(</span>
+ <span class="va">f_parent_nlme_sfo_const</span>, <span class="va">f_parent_nlme_sfo_tc</span>, <span class="va">f_parent_nlme_dfop_tc</span>
+<span class="op">)</span></code></pre></div>
+<pre><code> df AIC
+f_parent_nlme_sfo_const 5 818.63
+f_parent_nlme_sfo_tc 6 820.61
+f_parent_nlme_dfop_tc 10 687.84</code></pre>
+<p>Secondly, we use the SAEM estimation routine and check the convergence plots for SFO with constant variance</p>
+<div class="sourceCode" id="cb30"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="va">f_parent_nlmixr_saem_sfo_const</span> <span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/pkg/nlmixr/man/nlmixr.html">nlmixr</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"SFO"</span>, <span class="op">]</span>, est <span class="op">=</span> <span class="st">"saem"</span>,
+ control <span class="op">=</span> <span class="fu">nlmixr</span><span class="fu">::</span><span class="fu"><a href="https://rdrr.io/pkg/nlmixr/man/saemControl.html">saemControl</a></span><span class="op">(</span>logLik <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span><span class="op">)</span>
+<span class="fu"><a href="https://rdrr.io/pkg/nlmixr/man/traceplot.html">traceplot</a></span><span class="op">(</span><span class="va">f_parent_nlmixr_saem_sfo_const</span><span class="op">$</span><span class="va">nm</span><span class="op">)</span></code></pre></div>
+<p><img src="dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_const-1.png" width="700"></p>
+<p>for SFO with two-component error</p>
+<div class="sourceCode" id="cb31"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="va">f_parent_nlmixr_saem_sfo_tc</span> <span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/pkg/nlmixr/man/nlmixr.html">nlmixr</a></span><span class="op">(</span><span class="va">f_parent_mkin_tc</span><span class="op">[</span><span class="st">"SFO"</span>, <span class="op">]</span>, est <span class="op">=</span> <span class="st">"saem"</span>,
+ control <span class="op">=</span> <span class="fu">nlmixr</span><span class="fu">::</span><span class="fu"><a href="https://rdrr.io/pkg/nlmixr/man/saemControl.html">saemControl</a></span><span class="op">(</span>logLik <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span><span class="op">)</span>
+<span class="fu"><a href="https://rdrr.io/pkg/nlmixr/man/traceplot.html">traceplot</a></span><span class="op">(</span><span class="va">f_parent_nlmixr_saem_sfo_tc</span><span class="op">$</span><span class="va">nm</span><span class="op">)</span></code></pre></div>
+<p><img src="dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_tc-1.png" width="700"></p>
+<p>For DFOP with constant variance, the convergence plots show considerable instability of the fit, which can be alleviated by increasing the number of iterations and the number of parallel chains for the first phase of algorithm.</p>
+<div class="sourceCode" id="cb32"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="va">f_parent_nlmixr_saem_dfop_const</span> <span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/pkg/nlmixr/man/nlmixr.html">nlmixr</a></span><span class="op">(</span><span class="va">f_parent_mkin_const</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span>, est <span class="op">=</span> <span class="st">"saem"</span>,
+ control <span class="op">=</span> <span class="fu">nlmixr</span><span class="fu">::</span><span class="fu"><a href="https://rdrr.io/pkg/nlmixr/man/saemControl.html">saemControl</a></span><span class="op">(</span>logLik <span class="op">=</span> <span class="cn">TRUE</span>, nBurn <span class="op">=</span> <span class="fl">1000</span><span class="op">)</span>, nmc <span class="op">=</span> <span class="fl">15</span><span class="op">)</span>
+<span class="fu"><a href="https://rdrr.io/pkg/nlmixr/man/traceplot.html">traceplot</a></span><span class="op">(</span><span class="va">f_parent_nlmixr_saem_dfop_const</span><span class="op">$</span><span class="va">nm</span><span class="op">)</span></code></pre></div>
+<p><img src="dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_const-1.png" width="700"></p>
+<p>For DFOP with two-component error, the same increase in iterations and parallel chains was used, but using the two-component error appears to lead to a less erratic convergence, so this may not be necessary to this degree.</p>
+<div class="sourceCode" id="cb33"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="va">f_parent_nlmixr_saem_dfop_tc</span> <span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/pkg/nlmixr/man/nlmixr.html">nlmixr</a></span><span class="op">(</span><span class="va">f_parent_mkin_tc</span><span class="op">[</span><span class="st">"DFOP"</span>, <span class="op">]</span>, est <span class="op">=</span> <span class="st">"saem"</span>,
+ control <span class="op">=</span> <span class="fu">nlmixr</span><span class="fu">::</span><span class="fu"><a href="https://rdrr.io/pkg/nlmixr/man/saemControl.html">saemControl</a></span><span class="op">(</span>logLik <span class="op">=</span> <span class="cn">TRUE</span>, nBurn <span class="op">=</span> <span class="fl">1000</span>, nmc <span class="op">=</span> <span class="fl">15</span><span class="op">)</span><span class="op">)</span>
+<span class="fu"><a href="https://rdrr.io/pkg/nlmixr/man/traceplot.html">traceplot</a></span><span class="op">(</span><span class="va">f_parent_nlmixr_saem_dfop_tc</span><span class="op">$</span><span class="va">nm</span><span class="op">)</span></code></pre></div>
+<p><img src="dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_tc-1.png" width="700"></p>
+<p>The AIC values are internally calculated using Gaussian quadrature. For an unknown reason, the AIC value obtained for the DFOP fit using the two-component error model is given as Infinity.</p>
+<div class="sourceCode" id="cb34"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/stats/AIC.html">AIC</a></span><span class="op">(</span><span class="va">f_parent_nlmixr_saem_sfo_const</span><span class="op">$</span><span class="va">nm</span>, <span class="va">f_parent_nlmixr_saem_sfo_tc</span><span class="op">$</span><span class="va">nm</span>,
+ <span class="va">f_parent_nlmixr_saem_dfop_const</span><span class="op">$</span><span class="va">nm</span>, <span class="va">f_parent_nlmixr_saem_dfop_tc</span><span class="op">$</span><span class="va">nm</span><span class="op">)</span></code></pre></div>
+<pre><code> df AIC
+f_parent_nlmixr_saem_sfo_const$nm 5 820.54
+f_parent_nlmixr_saem_sfo_tc$nm 6 835.26
+f_parent_nlmixr_saem_dfop_const$nm 9 842.84
+f_parent_nlmixr_saem_dfop_tc$nm 10 684.51</code></pre>
+<p>The following table gives the AIC values obtained with the three packages.</p>
+<div class="sourceCode" id="cb36"><pre class="downlit sourceCode r">
+<code class="sourceCode R"><span class="va">AIC_all</span> <span class="op">&lt;-</span> <span class="fu"><a href="https://rdrr.io/r/base/data.frame.html">data.frame</a></span><span class="op">(</span>
+ nlme <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/stats/AIC.html">AIC</a></span><span class="op">(</span><span class="va">f_parent_nlme_sfo_const</span><span class="op">)</span>, <span class="fu"><a href="https://rdrr.io/r/stats/AIC.html">AIC</a></span><span class="op">(</span><span class="va">f_parent_nlme_sfo_tc</span><span class="op">)</span>, <span class="cn">NA</span>, <span class="fu"><a href="https://rdrr.io/r/stats/AIC.html">AIC</a></span><span class="op">(</span><span class="va">f_parent_nlme_dfop_tc</span><span class="op">)</span><span class="op">)</span>,
+ nlmixr_focei <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/lapply.html">sapply</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/list.html">list</a></span><span class="op">(</span><span class="va">f_parent_nlmixr_focei_sfo_const</span><span class="op">$</span><span class="va">nm</span>, <span class="va">f_parent_nlmixr_focei_sfo_tc</span><span class="op">$</span><span class="va">nm</span>,
+ <span class="va">f_parent_nlmixr_focei_dfop_const</span><span class="op">$</span><span class="va">nm</span>, <span class="va">f_parent_nlmixr_focei_dfop_tc</span><span class="op">$</span><span class="va">nm</span><span class="op">)</span>, <span class="va">AIC</span><span class="op">)</span>,
+ saemix <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/lapply.html">sapply</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/list.html">list</a></span><span class="op">(</span><span class="va">f_parent_saemix_sfo_const</span><span class="op">$</span><span class="va">so</span>, <span class="va">f_parent_saemix_sfo_tc</span><span class="op">$</span><span class="va">so</span>,
+ <span class="va">f_parent_saemix_dfop_const</span><span class="op">$</span><span class="va">so</span>, <span class="va">f_parent_saemix_dfop_tc_moreiter</span><span class="op">$</span><span class="va">so</span><span class="op">)</span>, <span class="va">AIC</span><span class="op">)</span>,
+ nlmixr_saem <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/lapply.html">sapply</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/list.html">list</a></span><span class="op">(</span><span class="va">f_parent_nlmixr_saem_sfo_const</span><span class="op">$</span><span class="va">nm</span>, <span class="va">f_parent_nlmixr_saem_sfo_tc</span><span class="op">$</span><span class="va">nm</span>,
+ <span class="va">f_parent_nlmixr_saem_dfop_const</span><span class="op">$</span><span class="va">nm</span>, <span class="va">f_parent_nlmixr_saem_dfop_tc</span><span class="op">$</span><span class="va">nm</span><span class="op">)</span>, <span class="va">AIC</span><span class="op">)</span>
+<span class="op">)</span>
+<span class="fu">kable</span><span class="op">(</span><span class="va">AIC_all</span><span class="op">)</span></code></pre></div>
+<table class="table">
+<thead><tr class="header">
+<th align="right">nlme</th>
+<th align="right">nlmixr_focei</th>
+<th align="right">saemix</th>
+<th align="right">nlmixr_saem</th>
+</tr></thead>
+<tbody>
+<tr class="odd">
+<td align="right">818.63</td>
+<td align="right">818.63</td>
+<td align="right">818.37</td>
+<td align="right">820.54</td>
+</tr>
+<tr class="even">
+<td align="right">820.61</td>
+<td align="right">820.61</td>
+<td align="right">820.38</td>
+<td align="right">835.26</td>
+</tr>
+<tr class="odd">
+<td align="right">NA</td>
+<td align="right">728.11</td>
+<td align="right">725.91</td>
+<td align="right">842.84</td>
+</tr>
+<tr class="even">
+<td align="right">687.84</td>
+<td align="right">687.82</td>
+<td align="right">683.64</td>
+<td align="right">684.51</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<div id="references" class="section level1">
+<h1 class="hasAnchor">
+<a href="#references" class="anchor"></a>References</h1>
+<!-- vim: set foldmethod=syntax: -->
+<div id="refs" class="references hanging-indent">
+<div id="ref-efsa_2018_dimethenamid">
+<p>EFSA. 2018. “Peer Review of the Pesticide Risk Assessment of the Active Substance Dimethenamid-P.” <em>EFSA Journal</em> 16 (4): 5211.</p>
+</div>
+<div id="ref-dimethenamid_rar_2018_b8">
+<p>Rapporteur Member State Germany, Co-Rapporteur Member State Bulgaria. 2018. “Renewal Assessment Report Dimethenamid-P Volume 3 - B.8 Environmental fate and behaviour, Rev. 2 - November 2017.” <a href="https://open.efsa.europa.eu/study-inventory/EFSA-Q-2014-00716">https://open.efsa.europa.eu/study-inventory/EFSA-Q-2014-00716</a>.</p>
+</div>
+</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>Developed by Johannes Ranke.</p>
+</div>
+
+<div class="pkgdown">
+ <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.6.1.</p>
+</div>
+
+ </footer>
+</div>
+
+
+
+
+ </body>
+</html>
diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/accessible-code-block-0.0.1/empty-anchor.js b/docs/dev/articles/web_only/dimethenamid_2018_files/accessible-code-block-0.0.1/empty-anchor.js
new file mode 100644
index 00000000..ca349fd6
--- /dev/null
+++ b/docs/dev/articles/web_only/dimethenamid_2018_files/accessible-code-block-0.0.1/empty-anchor.js
@@ -0,0 +1,15 @@
+// Hide empty <a> tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) -->
+// v0.0.1
+// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020.
+
+document.addEventListener('DOMContentLoaded', function() {
+ const codeList = document.getElementsByClassName("sourceCode");
+ for (var i = 0; i < codeList.length; i++) {
+ var linkList = codeList[i].getElementsByTagName('a');
+ for (var j = 0; j < linkList.length; j++) {
+ if (linkList[j].innerHTML === "") {
+ linkList[j].setAttribute('aria-hidden', 'true');
+ }
+ }
+ }
+});
diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const-1.png
new file mode 100644
index 00000000..c51afe54
--- /dev/null
+++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const-1.png
Binary files differ
diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const_test-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const_test-1.png
new file mode 100644
index 00000000..080f0dde
--- /dev/null
+++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const_test-1.png
Binary files differ
diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_tc_test-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_tc_test-1.png
new file mode 100644
index 00000000..a3933e54
--- /dev/null
+++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_tc_test-1.png
Binary files differ
diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_sfo_const-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_sfo_const-1.png
new file mode 100644
index 00000000..8dee2e3c
--- /dev/null
+++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_sfo_const-1.png
Binary files differ
diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_const-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_const-1.png
new file mode 100644
index 00000000..54a8c1a6
--- /dev/null
+++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_const-1.png
Binary files differ
diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_tc-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_tc-1.png
new file mode 100644
index 00000000..91f3d977
--- /dev/null
+++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_tc-1.png
Binary files differ
diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_const-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_const-1.png
new file mode 100644
index 00000000..c84f2926
--- /dev/null
+++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_const-1.png
Binary files differ
diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_tc-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_tc-1.png
new file mode 100644
index 00000000..cfef9dfc
--- /dev/null
+++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_tc-1.png
Binary files differ
diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_const-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_const-1.png
new file mode 100644
index 00000000..a4695eea
--- /dev/null
+++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_const-1.png
Binary files differ
diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_moreiter-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_moreiter-1.png
new file mode 100644
index 00000000..1c8fc837
--- /dev/null
+++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_moreiter-1.png
Binary files differ
diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_const-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_const-1.png
new file mode 100644
index 00000000..469ebafd
--- /dev/null
+++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_const-1.png
Binary files differ
diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_tc-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_tc-1.png
new file mode 100644
index 00000000..d26bcc09
--- /dev/null
+++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_tc-1.png
Binary files differ
diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/plot_parent_nlme-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/plot_parent_nlme-1.png
new file mode 100644
index 00000000..6edeb794
--- /dev/null
+++ b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/plot_parent_nlme-1.png
Binary files differ
diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/header-attrs-2.9/header-attrs.js b/docs/dev/articles/web_only/dimethenamid_2018_files/header-attrs-2.9/header-attrs.js
new file mode 100644
index 00000000..dd57d92e
--- /dev/null
+++ b/docs/dev/articles/web_only/dimethenamid_2018_files/header-attrs-2.9/header-attrs.js
@@ -0,0 +1,12 @@
+// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
+// be compatible with the behavior of Pandoc < 2.8).
+document.addEventListener('DOMContentLoaded', function(e) {
+ var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
+ var i, h, a;
+ for (i = 0; i < hs.length; i++) {
+ h = hs[i];
+ if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6
+ a = h.attributes;
+ while (a.length > 0) h.removeAttribute(a[0].name);
+ }
+});
diff --git a/docs/dev/authors.html b/docs/dev/authors.html
index 4208dc24..943cba1b 100644
--- a/docs/dev/authors.html
+++ b/docs/dev/authors.html
@@ -71,7 +71,7 @@
</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.0.5</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
diff --git a/docs/dev/index.html b/docs/dev/index.html
index 6e3fa6e1..8049b3a1 100644
--- a/docs/dev/index.html
+++ b/docs/dev/index.html
@@ -38,7 +38,7 @@
</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.0.5</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
diff --git a/docs/dev/news/index.html b/docs/dev/news/index.html
index 234ba02f..cfe577cf 100644
--- a/docs/dev/news/index.html
+++ b/docs/dev/news/index.html
@@ -71,7 +71,7 @@
</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.0.5</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
diff --git a/docs/dev/pkgdown.yml b/docs/dev/pkgdown.yml
index b2c50e79..16f7f0d6 100644
--- a/docs/dev/pkgdown.yml
+++ b/docs/dev/pkgdown.yml
@@ -10,7 +10,8 @@ articles:
web_only/NAFTA_examples: NAFTA_examples.html
web_only/benchmarks: benchmarks.html
web_only/compiled_models: compiled_models.html
-last_built: 2021-06-17T12:41Z
+ web_only/dimethenamid_2018: dimethenamid_2018.html
+last_built: 2021-07-27T15:54Z
urls:
reference: https://pkgdown.jrwb.de/mkin/reference
article: https://pkgdown.jrwb.de/mkin/articles
diff --git a/docs/dev/reference/Rplot005.png b/docs/dev/reference/Rplot005.png
index 55aa7eec..92c7cc2d 100644
--- a/docs/dev/reference/Rplot005.png
+++ b/docs/dev/reference/Rplot005.png
Binary files differ
diff --git a/docs/dev/reference/dimethenamid_2018-2.png b/docs/dev/reference/dimethenamid_2018-2.png
new file mode 100644
index 00000000..a81b2aaf
--- /dev/null
+++ b/docs/dev/reference/dimethenamid_2018-2.png
Binary files differ
diff --git a/docs/dev/reference/dimethenamid_2018.html b/docs/dev/reference/dimethenamid_2018.html
index e255765e..160dcaa3 100644
--- a/docs/dev/reference/dimethenamid_2018.html
+++ b/docs/dev/reference/dimethenamid_2018.html
@@ -77,7 +77,7 @@ constrained by data protection regulations." />
</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.0.5</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
@@ -168,7 +168,7 @@ constrained by data protection regulations.</p>
<p>Rapporteur Member State Germany, Co-Rapporteur Member State Bulgaria (2018)
Renewal Assessment Report Dimethenamid-P Volume 3 - B.8 Environmental fate and behaviour
Rev. 2 - November 2017
-<a href='http://registerofquestions.efsa.europa.eu/roqFrontend/outputLoader?output=ON-5211'>http://registerofquestions.efsa.europa.eu/roqFrontend/outputLoader?output=ON-5211</a></p>
+<a href='https://open.efsa.europa.eu/study-inventory/EFSA-Q-2014-00716'>https://open.efsa.europa.eu/study-inventory/EFSA-Q-2014-00716</a></p>
<h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2>
<p>The R code used to create this data object is installed with this package
@@ -295,8 +295,11 @@ specific pieces of information in the comments.</p>
#&gt; M31 ~ add(sigma_low_M31) + prop(rsd_high_M31)
#&gt; })
#&gt; }
-#&gt; &lt;environment: 0x555559c2bd78&gt;</div><div class='input'><span class='va'>f_dmta_nlmixr_focei</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_dmta_mkin_tc</span>, est <span class='op'>=</span> <span class='st'>"focei"</span>,
- control <span class='op'>=</span> <span class='fu'>nlmixr</span><span class='fu'>::</span><span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/foceiControl.html'>foceiControl</a></span><span class='op'>(</span>print <span class='op'>=</span> <span class='fl'>500</span><span class='op'>)</span><span class='op'>)</span>
+#&gt; &lt;environment: 0x555559c00ce8&gt;</div><div class='input'><span class='co'># The focei fit takes about four minutes on my system</span>
+<span class='fu'><a href='https://rdrr.io/r/base/system.time.html'>system.time</a></span><span class='op'>(</span>
+ <span class='va'>f_dmta_nlmixr_focei</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_dmta_mkin_tc</span>, est <span class='op'>=</span> <span class='st'>"focei"</span>,
+ control <span class='op'>=</span> <span class='fu'>nlmixr</span><span class='fu'>::</span><span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/foceiControl.html'>foceiControl</a></span><span class='op'>(</span>print <span class='op'>=</span> <span class='fl'>500</span><span class='op'>)</span><span class='op'>)</span>
+<span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ calculate jacobian</span></div><div class='output co'>#&gt; [====|====|====|====|====|====|====|====|====|====] 0:00:02
#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate sensitivities</span></div><div class='output co'>#&gt; [====|====|====|====|====|====|====|====|====|====] 0:00:04
#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(f)/∂(η)</span></div><div class='output co'>#&gt; [====|====|====|====|====|====|====|====|====|====] 0:00:01
@@ -320,12 +323,13 @@ specific pieces of information in the comments.</p>
#&gt; |.....................| o5 | o6 | o7 | o8 |
#&gt; <span style='text-decoration: underline;'>|.....................| o9 | o10 |...........|...........|</span>
#&gt; calculating covariance matrix
-#&gt; done</div><div class='output co'>#&gt; <span class='message'>Calculating residuals/tables</span></div><div class='output co'>#&gt; <span class='message'>done</span></div><div class='output co'>#&gt; <span class='warning'>Warning: initial ETAs were nudged; (can control by foceiControl(etaNudge=., etaNudge2=))</span></div><div class='output co'>#&gt; <span class='warning'>Warning: last objective function was not at minimum, possible problems in optimization</span></div><div class='output co'>#&gt; <span class='warning'>Warning: S matrix non-positive definite</span></div><div class='output co'>#&gt; <span class='warning'>Warning: using R matrix to calculate covariance</span></div><div class='output co'>#&gt; <span class='warning'>Warning: gradient problems with initial estimate and covariance; see $scaleInfo</span></div><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/summary.html'>summary</a></span><span class='op'>(</span><span class='va'>f_dmta_nlmixr_focei</span><span class='op'>)</span>
+#&gt; done</div><div class='output co'>#&gt; <span class='message'>Calculating residuals/tables</span></div><div class='output co'>#&gt; <span class='message'>done</span></div><div class='output co'>#&gt; <span class='warning'>Warning: initial ETAs were nudged; (can control by foceiControl(etaNudge=., etaNudge2=))</span></div><div class='output co'>#&gt; <span class='warning'>Warning: last objective function was not at minimum, possible problems in optimization</span></div><div class='output co'>#&gt; <span class='warning'>Warning: S matrix non-positive definite</span></div><div class='output co'>#&gt; <span class='warning'>Warning: using R matrix to calculate covariance</span></div><div class='output co'>#&gt; <span class='warning'>Warning: gradient problems with initial estimate and covariance; see $scaleInfo</span></div><div class='output co'>#&gt; user system elapsed
+#&gt; 227.879 9.742 237.728 </div><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/summary.html'>summary</a></span><span class='op'>(</span><span class='va'>f_dmta_nlmixr_focei</span><span class='op'>)</span>
</div><div class='output co'>#&gt; nlmixr version used for fitting: 2.0.4
-#&gt; mkin version used for pre-fitting: 1.0.5
+#&gt; mkin version used for pre-fitting: 1.1.0
#&gt; R version used for fitting: 4.1.0
-#&gt; Date of fit: Thu Jun 17 14:04:58 2021
-#&gt; Date of summary: Thu Jun 17 14:04:58 2021
+#&gt; Date of fit: Tue Jul 27 16:02:33 2021
+#&gt; Date of summary: Tue Jul 27 16:02:34 2021
#&gt;
#&gt; Equations:
#&gt; d_DMTA/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
@@ -346,7 +350,7 @@ specific pieces of information in the comments.</p>
#&gt;
#&gt; Degradation model predictions using RxODE
#&gt;
-#&gt; Fitted in 242.937 s
+#&gt; Fitted in 237.547 s
#&gt;
#&gt; Variance model: Two-component variance function
#&gt;
@@ -480,13 +484,194 @@ specific pieces of information in the comments.</p>
#&gt; M23 34.99 116.24 NA NA NA
#&gt; M27 53.05 176.23 NA NA NA
#&gt; M31 48.48 161.05 NA NA NA</div><div class='input'><span class='fu'><a href='https://rdrr.io/r/graphics/plot.default.html'>plot</a></span><span class='op'>(</span><span class='va'>f_dmta_nlmixr_focei</span><span class='op'>)</span>
-</div><div class='img'><img src='dimethenamid_2018-1.png' alt='' width='700' height='433' /></div><div class='input'><span class='co'># saem has a problem with this model/data combination, maybe because of the</span>
-<span class='co'># overparameterised error model, to be investigated</span>
-<span class='co'>#f_dmta_nlmixr_saem &lt;- nlmixr(f_dmta_mkin_tc, est = "saem",</span>
-<span class='co'># control = saemControl(print = 500))</span>
-<span class='co'>#summary(f_dmta_nlmixr_saem)</span>
-<span class='co'>#plot(f_dmta_nlmixr_saem)</span>
-<span class='co'># }</span>
+</div><div class='img'><img src='dimethenamid_2018-1.png' alt='' width='700' height='433' /></div><div class='input'><span class='co'># Using saemix takes about 18 minutes</span>
+<span class='fu'><a href='https://rdrr.io/r/base/system.time.html'>system.time</a></span><span class='op'>(</span>
+ <span class='va'>f_dmta_saemix</span> <span class='op'>&lt;-</span> <span class='fu'><a href='saem.html'>saem</a></span><span class='op'>(</span><span class='va'>f_dmta_mkin_tc</span>, test_log_parms <span class='op'>=</span> <span class='cn'>TRUE</span><span class='op'>)</span>
+<span class='op'>)</span>
+</div><div class='output co'>#&gt; Running main SAEM algorithm
+#&gt; [1] "Tue Jul 27 16:02:34 2021"
+#&gt; ....
+#&gt; Minimisation finished
+#&gt; [1] "Tue Jul 27 16:21:39 2021"</div><div class='output co'>#&gt; user system elapsed
+#&gt; 1213.394 0.087 1213.578 </div><div class='input'>
+<span class='co'># nlmixr with est = "saem" is pretty fast with default iteration numbers, most</span>
+<span class='co'># of the time (about 2.5 minutes) is spent for calculating the log likelihood at the end</span>
+<span class='co'># The likelihood calculated for the nlmixr fit is much lower than that found by saemix</span>
+<span class='co'># Also, the trace plot and the plot of the individual predictions is not</span>
+<span class='co'># convincing for the parent. It seems we are fitting an overparameterised</span>
+<span class='co'># model, so the result we get strongly depends on starting parameters and control settings.</span>
+<span class='fu'><a href='https://rdrr.io/r/base/system.time.html'>system.time</a></span><span class='op'>(</span>
+ <span class='va'>f_dmta_nlmixr_saem</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_dmta_mkin_tc</span>, est <span class='op'>=</span> <span class='st'>"saem"</span>,
+ control <span class='op'>=</span> <span class='fu'>nlmixr</span><span class='fu'>::</span><span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/saemControl.html'>saemControl</a></span><span class='op'>(</span>print <span class='op'>=</span> <span class='fl'>500</span>, logLik <span class='op'>=</span> <span class='cn'>TRUE</span>, nmc <span class='op'>=</span> <span class='fl'>9</span><span class='op'>)</span><span class='op'>)</span>
+<span class='op'>)</span>
+</div><div class='output co'>#&gt; <span class='message'>With est = 'saem', a different error model is required for each observed variableChanging the error model to 'obs_tc' (Two-component error for each observed variable)</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'>→ generate SAEM model</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; 1: 98.3427 -3.5148 -3.3187 -3.7728 -2.1163 -2.8457 0.9482 -2.8064 -2.7412 -2.8745 2.7912 0.6805 0.8213 0.8055 0.8578 1.4980 2.9309 0.2850 0.2854 0.2850 4.0990 0.3821 3.5349 0.6537 5.4143 0.0002 4.5093 0.1905
+#&gt; 500: 97.8277 -4.3506 -4.0318 -4.1520 -3.0553 -3.5843 1.1326 -2.0873 -2.0421 -2.0751 0.2960 1.2515 0.2531 0.3807 0.7928 0.8863 6.5211 0.1433 0.1082 0.3353 0.8960 0.0470 0.7501 0.0475 0.9527 0.0281 0.7321 0.0594</div><div class='output co'>#&gt; <span class='message'>Calculating covariance matrix</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>Calculating -2LL by Gaussian quadrature (nnodes=3,nsd=1.6)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ compiling EBE model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; [1] "CMT"</div><div class='output co'>#&gt; <span class='message'>Calculating residuals/tables</span></div><div class='output co'>#&gt; <span class='message'>done</span></div><div class='output co'>#&gt; user system elapsed
+#&gt; 818.782 3.808 154.926 </div><div class='input'><span class='fu'>traceplot</span><span class='op'>(</span><span class='va'>f_dmta_nlmixr_saem</span><span class='op'>$</span><span class='va'>nm</span><span class='op'>)</span>
+</div><div class='output co'>#&gt; <span class='error'>Error in traceplot(f_dmta_nlmixr_saem$nm): could not find function "traceplot"</span></div><div class='input'><span class='fu'><a href='https://rdrr.io/r/base/summary.html'>summary</a></span><span class='op'>(</span><span class='va'>f_dmta_nlmixr_saem</span><span class='op'>)</span>
+</div><div class='output co'>#&gt; nlmixr version used for fitting: 2.0.4
+#&gt; mkin version used for pre-fitting: 1.1.0
+#&gt; R version used for fitting: 4.1.0
+#&gt; Date of fit: Tue Jul 27 16:25:23 2021
+#&gt; Date of summary: Tue Jul 27 16:25:23 2021
+#&gt;
+#&gt; Equations:
+#&gt; d_DMTA/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
+#&gt; time)) / (g * exp(-k1 * time) + (1 - g) * exp(-k2 * time)))
+#&gt; * DMTA
+#&gt; d_M23/dt = + f_DMTA_to_M23 * ((k1 * g * exp(-k1 * time) + k2 * (1 - g)
+#&gt; * exp(-k2 * time)) / (g * exp(-k1 * time) + (1 - g) *
+#&gt; exp(-k2 * time))) * DMTA - k_M23 * M23
+#&gt; d_M27/dt = + f_DMTA_to_M27 * ((k1 * g * exp(-k1 * time) + k2 * (1 - g)
+#&gt; * exp(-k2 * time)) / (g * exp(-k1 * time) + (1 - g) *
+#&gt; exp(-k2 * time))) * DMTA - k_M27 * M27 + k_M31 * M31
+#&gt; d_M31/dt = + f_DMTA_to_M31 * ((k1 * g * exp(-k1 * time) + k2 * (1 - g)
+#&gt; * exp(-k2 * time)) / (g * exp(-k1 * time) + (1 - g) *
+#&gt; exp(-k2 * time))) * DMTA - k_M31 * M31
+#&gt;
+#&gt; Data:
+#&gt; 568 observations of 4 variable(s) grouped in 6 datasets
+#&gt;
+#&gt; Degradation model predictions using RxODE
+#&gt;
+#&gt; Fitted in 154.632 s
+#&gt;
+#&gt; Variance model: Two-component variance function
+#&gt;
+#&gt; Mean of starting values for individual parameters:
+#&gt; DMTA_0 log_k_M23 log_k_M27 log_k_M31 f_DMTA_ilr_1 f_DMTA_ilr_2
+#&gt; 98.7698 -3.9216 -4.3377 -4.2477 0.1380 0.1393
+#&gt; f_DMTA_ilr_3 log_k1 log_k2 g_qlogis
+#&gt; -1.7571 -2.2341 -3.7763 0.4502
+#&gt;
+#&gt; Mean of starting values for error model parameters:
+#&gt; sigma_low_DMTA rsd_high_DMTA sigma_low_M23 rsd_high_M23 sigma_low_M27
+#&gt; 0.69793 0.02577 0.69793 0.02577 0.69793
+#&gt; rsd_high_M27 sigma_low_M31 rsd_high_M31
+#&gt; 0.02577 0.69793 0.02577
+#&gt;
+#&gt; Fixed degradation parameter values:
+#&gt; None
+#&gt;
+#&gt; Results:
+#&gt;
+#&gt; Likelihood calculated by focei
+#&gt; AIC BIC logLik
+#&gt; 2036 2157 -989.8
+#&gt;
+#&gt; Optimised parameters:
+#&gt; est. lower upper
+#&gt; DMTA_0 97.828 96.121 99.535
+#&gt; log_k_M23 -4.351 -5.300 -3.401
+#&gt; log_k_M27 -4.032 -4.470 -3.594
+#&gt; log_k_M31 -4.152 -4.689 -3.615
+#&gt; log_k1 -3.055 -3.785 -2.325
+#&gt; log_k2 -3.584 -4.517 -2.651
+#&gt; g_qlogis 1.133 -2.165 4.430
+#&gt; f_DMTA_tffm0_1_qlogis -2.087 -2.407 -1.768
+#&gt; f_DMTA_tffm0_2_qlogis -2.042 -2.336 -1.748
+#&gt; f_DMTA_tffm0_3_qlogis -2.075 -2.557 -1.593
+#&gt;
+#&gt; Correlation:
+#&gt; DMTA_0 l__M23 l__M27 l__M31 log_k1 log_k2 g_qlgs
+#&gt; log_k_M23 -0.031
+#&gt; log_k_M27 -0.050 0.004
+#&gt; log_k_M31 -0.032 0.003 0.078
+#&gt; log_k1 0.014 -0.002 -0.002 -0.001
+#&gt; log_k2 0.059 0.006 -0.001 0.002 -0.037
+#&gt; g_qlogis -0.077 0.005 0.009 0.004 0.035 -0.201
+#&gt; f_DMTA_tffm0_1_qlogis -0.104 0.066 0.009 0.006 0.000 -0.011 0.014
+#&gt; f_DMTA_tffm0_2_qlogis -0.120 0.013 0.081 -0.033 -0.002 -0.013 0.017
+#&gt; f_DMTA_tffm0_3_qlogis -0.086 0.010 0.060 0.078 -0.002 -0.005 0.010
+#&gt; f_DMTA_0_1 f_DMTA_0_2
+#&gt; log_k_M23
+#&gt; log_k_M27
+#&gt; log_k_M31
+#&gt; log_k1
+#&gt; log_k2
+#&gt; g_qlogis
+#&gt; f_DMTA_tffm0_1_qlogis
+#&gt; f_DMTA_tffm0_2_qlogis 0.026
+#&gt; f_DMTA_tffm0_3_qlogis 0.019 0.002
+#&gt;
+#&gt; Random effects (omega):
+#&gt; eta.DMTA_0 eta.log_k_M23 eta.log_k_M27 eta.log_k_M31
+#&gt; eta.DMTA_0 0.296 0.000 0.0000 0.0000
+#&gt; eta.log_k_M23 0.000 1.252 0.0000 0.0000
+#&gt; eta.log_k_M27 0.000 0.000 0.2531 0.0000
+#&gt; eta.log_k_M31 0.000 0.000 0.0000 0.3807
+#&gt; eta.log_k1 0.000 0.000 0.0000 0.0000
+#&gt; eta.log_k2 0.000 0.000 0.0000 0.0000
+#&gt; eta.g_qlogis 0.000 0.000 0.0000 0.0000
+#&gt; eta.f_DMTA_tffm0_1_qlogis 0.000 0.000 0.0000 0.0000
+#&gt; eta.f_DMTA_tffm0_2_qlogis 0.000 0.000 0.0000 0.0000
+#&gt; eta.f_DMTA_tffm0_3_qlogis 0.000 0.000 0.0000 0.0000
+#&gt; eta.log_k1 eta.log_k2 eta.g_qlogis
+#&gt; eta.DMTA_0 0.0000 0.0000 0.000
+#&gt; eta.log_k_M23 0.0000 0.0000 0.000
+#&gt; eta.log_k_M27 0.0000 0.0000 0.000
+#&gt; eta.log_k_M31 0.0000 0.0000 0.000
+#&gt; eta.log_k1 0.7928 0.0000 0.000
+#&gt; eta.log_k2 0.0000 0.8863 0.000
+#&gt; eta.g_qlogis 0.0000 0.0000 6.521
+#&gt; eta.f_DMTA_tffm0_1_qlogis 0.0000 0.0000 0.000
+#&gt; eta.f_DMTA_tffm0_2_qlogis 0.0000 0.0000 0.000
+#&gt; eta.f_DMTA_tffm0_3_qlogis 0.0000 0.0000 0.000
+#&gt; eta.f_DMTA_tffm0_1_qlogis eta.f_DMTA_tffm0_2_qlogis
+#&gt; eta.DMTA_0 0.0000 0.0000
+#&gt; eta.log_k_M23 0.0000 0.0000
+#&gt; eta.log_k_M27 0.0000 0.0000
+#&gt; eta.log_k_M31 0.0000 0.0000
+#&gt; eta.log_k1 0.0000 0.0000
+#&gt; eta.log_k2 0.0000 0.0000
+#&gt; eta.g_qlogis 0.0000 0.0000
+#&gt; eta.f_DMTA_tffm0_1_qlogis 0.1433 0.0000
+#&gt; eta.f_DMTA_tffm0_2_qlogis 0.0000 0.1082
+#&gt; eta.f_DMTA_tffm0_3_qlogis 0.0000 0.0000
+#&gt; eta.f_DMTA_tffm0_3_qlogis
+#&gt; eta.DMTA_0 0.0000
+#&gt; eta.log_k_M23 0.0000
+#&gt; eta.log_k_M27 0.0000
+#&gt; eta.log_k_M31 0.0000
+#&gt; eta.log_k1 0.0000
+#&gt; eta.log_k2 0.0000
+#&gt; eta.g_qlogis 0.0000
+#&gt; eta.f_DMTA_tffm0_1_qlogis 0.0000
+#&gt; eta.f_DMTA_tffm0_2_qlogis 0.0000
+#&gt; eta.f_DMTA_tffm0_3_qlogis 0.3353
+#&gt;
+#&gt; Variance model:
+#&gt; sigma_low_DMTA rsd_high_DMTA sigma_low_M23 rsd_high_M23 sigma_low_M27
+#&gt; 0.89603 0.04704 0.75015 0.04753 0.95265
+#&gt; rsd_high_M27 sigma_low_M31 rsd_high_M31
+#&gt; 0.02810 0.73212 0.05942
+#&gt;
+#&gt; Backtransformed parameters:
+#&gt; est. lower upper
+#&gt; DMTA_0 97.82774 96.120503 99.53498
+#&gt; k_M23 0.01290 0.004991 0.03334
+#&gt; k_M27 0.01774 0.011451 0.02749
+#&gt; k_M31 0.01573 0.009195 0.02692
+#&gt; f_DMTA_to_M23 0.11033 NA NA
+#&gt; f_DMTA_to_M27 0.10218 NA NA
+#&gt; f_DMTA_to_M31 0.08784 NA NA
+#&gt; k1 0.04711 0.022707 0.09773
+#&gt; k2 0.02775 0.010918 0.07056
+#&gt; g 0.75632 0.102960 0.98823
+#&gt;
+#&gt; Resulting formation fractions:
+#&gt; ff
+#&gt; DMTA_M23 0.11033
+#&gt; DMTA_M27 0.10218
+#&gt; DMTA_M31 0.08784
+#&gt; DMTA_sink 0.69965
+#&gt;
+#&gt; Estimated disappearance times:
+#&gt; DT50 DT90 DT50back DT50_k1 DT50_k2
+#&gt; DMTA 16.59 57.44 17.29 14.71 24.97
+#&gt; M23 53.74 178.51 NA NA NA
+#&gt; M27 39.07 129.78 NA NA NA
+#&gt; M31 44.06 146.36 NA NA NA</div><div class='input'><span class='fu'><a href='https://rdrr.io/r/graphics/plot.default.html'>plot</a></span><span class='op'>(</span><span class='va'>f_dmta_nlmixr_saem</span><span class='op'>)</span>
+</div><div class='img'><img src='dimethenamid_2018-2.png' alt='' width='700' height='433' /></div><div class='input'><span class='co'># }</span>
</div></pre>
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
diff --git a/docs/dev/reference/endpoints.html b/docs/dev/reference/endpoints.html
index dc1d1f17..aa5bd773 100644
--- a/docs/dev/reference/endpoints.html
+++ b/docs/dev/reference/endpoints.html
@@ -78,7 +78,7 @@ advantage that the SFORB model can also be used for metabolites." />
</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.0.5</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
diff --git a/docs/dev/reference/index.html b/docs/dev/reference/index.html
index bb030605..d5ec387a 100644
--- a/docs/dev/reference/index.html
+++ b/docs/dev/reference/index.html
@@ -71,7 +71,7 @@
</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.0.5</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
diff --git a/docs/dev/reference/mean_degparms.html b/docs/dev/reference/mean_degparms.html
index f63dbc31..5981c625 100644
--- a/docs/dev/reference/mean_degparms.html
+++ b/docs/dev/reference/mean_degparms.html
@@ -72,7 +72,7 @@
</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.0.5</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
diff --git a/docs/dev/reference/mkinmod.html b/docs/dev/reference/mkinmod.html
index 413f0ae1..e57e7062 100644
--- a/docs/dev/reference/mkinmod.html
+++ b/docs/dev/reference/mkinmod.html
@@ -44,9 +44,7 @@
variable, specifying the corresponding submodel as well as outgoing pathways
(see examples).
Print mkinmod objects in a way that the user finds his way to get to its
-components.
-This is a convenience function to set up the lists used as arguments for
-mkinmod." />
+components." />
<meta name="robots" content="noindex">
@@ -78,7 +76,7 @@ mkinmod." />
</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.0.3.9000</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
@@ -155,8 +153,6 @@ variable, specifying the corresponding submodel as well as outgoing pathways
(see examples).</p>
<p>Print mkinmod objects in a way that the user finds his way to get to its
components.</p>
-<p>This is a convenience function to set up the lists used as arguments for
-<code>mkinmod</code>.</p>
</div>
<pre class="usage"><span class='fu'>mkinmod</span><span class='op'>(</span>
@@ -348,7 +344,7 @@ Evaluating and Calculating Degradation Kinetics in Environmental Media</p>
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>,
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>,
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>
-</div><div class='output co'>#&gt; <span class='message'>Copied DLL from /tmp/Rtmp92fCb2/file133ad522561845.so to /home/jranke/.local/share/mkin/SFO_SFO.so</span></div><div class='input'><span class='co'># Now we can save the model and restore it in a new session</span>
+</div><div class='output co'>#&gt; <span class='message'>Copied DLL from /tmp/RtmpPWWdbW/fileccff46a6d9773.so to /home/jranke/.local/share/mkin/SFO_SFO.so</span></div><div class='input'><span class='co'># Now we can save the model and restore it in a new session</span>
<span class='fu'><a href='https://rdrr.io/r/base/readRDS.html'>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 class='co'># Terminate the R session here if you would like to check, and then do</span>
<span class='kw'><a href='https://rdrr.io/r/base/library.html'>library</a></span><span class='op'>(</span><span class='va'><a href='https://pkgdown.jrwb.de/mkin/'>mkin</a></span><span class='op'>)</span>
@@ -397,7 +393,7 @@ Evaluating and Calculating Degradation Kinetics in Environmental Media</p>
#&gt; })
#&gt; return(predicted)
#&gt; }
-#&gt; &lt;environment: 0x5555572517f8&gt;</div><div class='input'>
+#&gt; &lt;environment: 0x5555645abab8&gt;</div><div class='input'>
<span class='co'># If we have several parallel metabolites</span>
<span class='co'># (compare tests/testthat/test_synthetic_data_for_UBA_2014.R)</span>
<span class='va'>m_synth_DFOP_par</span> <span class='op'>&lt;-</span> <span class='fu'>mkinmod</span><span class='op'>(</span>
diff --git a/docs/dev/reference/nlme-1.png b/docs/dev/reference/nlme-1.png
index 365aaef0..f739089a 100644
--- a/docs/dev/reference/nlme-1.png
+++ b/docs/dev/reference/nlme-1.png
Binary files differ
diff --git a/docs/dev/reference/nlme-2.png b/docs/dev/reference/nlme-2.png
index 40841404..d3b29bb0 100644
--- a/docs/dev/reference/nlme-2.png
+++ b/docs/dev/reference/nlme-2.png
Binary files differ
diff --git a/docs/dev/reference/nlme.html b/docs/dev/reference/nlme.html
index 55a94443..184585df 100644
--- a/docs/dev/reference/nlme.html
+++ b/docs/dev/reference/nlme.html
@@ -75,7 +75,7 @@ datasets. They are used internally by the nlme.mmkin() method." />
</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.0.5</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
@@ -216,28 +216,28 @@ datasets. They are used internally by the <code><a href='nlme.mmkin.html'>nlme.m
#&gt; Model: value ~ nlme_f(name, time, parent_0, log_k_parent_sink)
#&gt; Data: grouped_data
#&gt; AIC BIC logLik
-#&gt; 300.6824 310.2426 -145.3412
+#&gt; 278.1355 287.7946 -134.0677
#&gt;
#&gt; Random effects:
#&gt; Formula: list(parent_0 ~ 1, log_k_parent_sink ~ 1)
#&gt; Level: ds
#&gt; Structure: Diagonal
#&gt; parent_0 log_k_parent_sink Residual
-#&gt; StdDev: 1.697361 0.6801209 3.666073
+#&gt; StdDev: 3.406042 0.6437579 2.620833
#&gt;
#&gt; Fixed effects: parent_0 + log_k_parent_sink ~ 1
#&gt; Value Std.Error DF t-value p-value
-#&gt; parent_0 100.99378 1.3890416 46 72.70753 0
-#&gt; log_k_parent_sink -3.07521 0.4018589 46 -7.65246 0
+#&gt; parent_0 101.50173 2.123709 47 47.79457 0
+#&gt; log_k_parent_sink -3.07597 0.379775 47 -8.09945 0
#&gt; Correlation:
#&gt; prnt_0
-#&gt; log_k_parent_sink 0.027
+#&gt; log_k_parent_sink 0.01
#&gt;
#&gt; Standardized Within-Group Residuals:
-#&gt; Min Q1 Med Q3 Max
-#&gt; -1.9942823 -0.5622565 0.1791579 0.7165038 2.0704781
+#&gt; Min Q1 Med Q3 Max
+#&gt; -2.06889303 -0.50100169 -0.06268253 0.62557544 2.19922001
#&gt;
-#&gt; Number of Observations: 50
+#&gt; Number of Observations: 51
#&gt; Number of Groups: 3 </div><div class='input'><span class='fu'><a href='https://rdrr.io/r/graphics/plot.default.html'>plot</a></span><span class='op'>(</span><span class='fu'><a href='https://rdrr.io/pkg/nlme/man/augPred.html'>augPred</a></span><span class='op'>(</span><span class='va'>m_nlme</span>, level <span class='op'>=</span> <span class='fl'>0</span><span class='op'>:</span><span class='fl'>1</span><span class='op'>)</span>, layout <span class='op'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span><span class='op'>(</span><span class='fl'>3</span>, <span class='fl'>1</span><span class='op'>)</span><span class='op'>)</span>
</div><div class='img'><img src='nlme-1.png' alt='' width='700' height='433' /></div><div class='input'><span class='co'># augPred does not work on fits with more than one state</span>
<span class='co'># variable</span>
diff --git a/docs/dev/reference/nlme.mmkin.html b/docs/dev/reference/nlme.mmkin.html
index 2bbf4f80..866091ca 100644
--- a/docs/dev/reference/nlme.mmkin.html
+++ b/docs/dev/reference/nlme.mmkin.html
@@ -74,7 +74,7 @@ have been obtained by fitting the same model to a list of datasets." />
</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.0.5</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
@@ -194,10 +194,9 @@ mmkin model are used as fixed parameters</p></td>
</tr>
<tr>
<th>random</th>
- <td><p>If not specified, correlated random effects are set up
-for all optimised degradation model parameters using the log-Cholesky
-parameterization <a href='https://rdrr.io/pkg/nlme/man/pdLogChol.html'>nlme::pdLogChol</a> that is also the default of
-the generic <a href='https://rdrr.io/pkg/nlme/man/nlme.html'>nlme</a> method.</p></td>
+ <td><p>If not specified, no correlations between random effects are
+set up for the optimised degradation model parameters. This is
+achieved by using the <a href='https://rdrr.io/pkg/nlme/man/pdDiag.html'>nlme::pdDiag</a> method.</p></td>
</tr>
<tr>
<th>groups</th>
diff --git a/docs/dev/reference/nlmixr.mmkin.html b/docs/dev/reference/nlmixr.mmkin.html
index d09f2ad4..328bad43 100644
--- a/docs/dev/reference/nlmixr.mmkin.html
+++ b/docs/dev/reference/nlmixr.mmkin.html
@@ -74,7 +74,7 @@ Expectation Maximisation algorithm (SAEM)." />
</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.0.5</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
@@ -4501,7 +4501,7 @@ obtained by fitting the same model to a list of datasets using <a href='mkinfit.
#&gt; <span class='message'>k_A1=rx_expr_11;</span>
#&gt; <span class='message'>f_parent=1/(1+exp(-(ETA[4]+THETA[4])));</span>
#&gt; <span class='message'>tad=tad();</span>
-#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 5.607 0.474 6.078</span></div><div class='input'><span class='va'>f_nlmixr_fomc_sfo_focei_const</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_const</span><span class='op'>[</span><span class='st'>"FOMC-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"focei"</span><span class='op'>)</span>
+#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 5.548 0.415 5.961</span></div><div class='input'><span class='va'>f_nlmixr_fomc_sfo_focei_const</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_const</span><span class='op'>[</span><span class='st'>"FOMC-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"focei"</span><span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ calculate jacobian</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate sensitivities</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(f)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(R²)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling inner model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling EBE model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ compiling events FD model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>Model:</span></div><div class='output co'>#&gt; <span class='message'>cmt(parent);</span>
#&gt; <span class='message'>cmt(A1);</span>
#&gt; <span class='message'>rx_expr_6~ETA[1]+THETA[1];</span>
@@ -4550,7 +4550,7 @@ obtained by fitting the same model to a list of datasets using <a href='mkinfit.
#&gt; <span class='message'>beta=exp(rx_expr_8);</span>
#&gt; <span class='message'>f_parent=1/(1+exp(-(ETA[3]+THETA[3])));</span>
#&gt; <span class='message'>tad=tad();</span>
-#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 6.853 0.393 7.242</span></div><div class='input'><span class='va'>f_nlmixr_dfop_sfo_focei_const</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_const</span><span class='op'>[</span><span class='st'>"DFOP-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"focei"</span><span class='op'>)</span>
+#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 6.895 0.416 7.309</span></div><div class='input'><span class='va'>f_nlmixr_dfop_sfo_focei_const</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_const</span><span class='op'>[</span><span class='st'>"DFOP-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"focei"</span><span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ calculate jacobian</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate sensitivities</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(f)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(R²)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling inner model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling EBE model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ compiling events FD model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>Model:</span></div><div class='output co'>#&gt; <span class='message'>cmt(parent);</span>
#&gt; <span class='message'>cmt(A1);</span>
#&gt; <span class='message'>rx_expr_6~ETA[1]+THETA[1];</span>
@@ -4607,10 +4607,10 @@ obtained by fitting the same model to a list of datasets using <a href='mkinfit.
#&gt; <span class='message'>f_parent=1/(1+exp(-(ETA[3]+THETA[3])));</span>
#&gt; <span class='message'>g=1/(rx_expr_20);</span>
#&gt; <span class='message'>tad=tad();</span>
-#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 15.18 0.414 15.6</span></div><div class='input'>
+#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 15.03 0.478 15.51</span></div><div class='input'>
<span class='co'># Variance by variable is supported by 'saem' and 'focei'</span>
<span class='va'>f_nlmixr_fomc_sfo_saem_obs</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_obs</span><span class='op'>[</span><span class='st'>"FOMC-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"saem"</span><span class='op'>)</span>
-</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'>→ generate SAEM model</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='error'>Error in configsaem(model = model, data = dat, inits = inits, mcmc = .mcmc, ODEopt = .ODEopt, seed = .seed, distribution = .dist, DEBUG = .DEBUG, addProp = .addProp, tol = .tol, itmax = .itmax, type = .type, powRange = .powRange, lambdaRange = .lambdaRange): covariate(s) not found: f_parent_to_A1</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 1.22 0.089 1.31</span></div><div class='input'><span class='va'>f_nlmixr_fomc_sfo_focei_obs</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_obs</span><span class='op'>[</span><span class='st'>"FOMC-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"focei"</span><span class='op'>)</span>
+</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'>→ generate SAEM model</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='error'>Error in configsaem(model = model, data = dat, inits = inits, mcmc = .mcmc, ODEopt = .ODEopt, seed = .seed, distribution = .dist, DEBUG = .DEBUG, addProp = .addProp, tol = .tol, itmax = .itmax, type = .type, powRange = .powRange, lambdaRange = .lambdaRange): covariate(s) not found: f_parent_to_A1</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 1.294 0.134 1.427</span></div><div class='input'><span class='va'>f_nlmixr_fomc_sfo_focei_obs</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_obs</span><span class='op'>[</span><span class='st'>"FOMC-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"focei"</span><span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ calculate jacobian</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate sensitivities</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(f)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(R²)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling inner model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling EBE model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ compiling events FD model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>Model:</span></div><div class='output co'>#&gt; <span class='message'>cmt(parent);</span>
#&gt; <span class='message'>cmt(A1);</span>
#&gt; <span class='message'>rx_expr_6~ETA[1]+THETA[1];</span>
@@ -4659,8 +4659,8 @@ obtained by fitting the same model to a list of datasets using <a href='mkinfit.
#&gt; <span class='message'>beta=exp(rx_expr_8);</span>
#&gt; <span class='message'>f_parent=1/(1+exp(-(ETA[3]+THETA[3])));</span>
#&gt; <span class='message'>tad=tad();</span>
-#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 6.784 0.418 7.2</span></div><div class='input'><span class='va'>f_nlmixr_dfop_sfo_saem_obs</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_obs</span><span class='op'>[</span><span class='st'>"DFOP-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"saem"</span><span class='op'>)</span>
-</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'>→ generate SAEM model</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='error'>Error in configsaem(model = model, data = dat, inits = inits, mcmc = .mcmc, ODEopt = .ODEopt, seed = .seed, distribution = .dist, DEBUG = .DEBUG, addProp = .addProp, tol = .tol, itmax = .itmax, type = .type, powRange = .powRange, lambdaRange = .lambdaRange): covariate(s) not found: f_parent_to_A1</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 1.357 0.096 1.452</span></div><div class='input'><span class='va'>f_nlmixr_dfop_sfo_focei_obs</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_obs</span><span class='op'>[</span><span class='st'>"DFOP-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"focei"</span><span class='op'>)</span>
+#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 6.584 0.393 6.976</span></div><div class='input'><span class='va'>f_nlmixr_dfop_sfo_saem_obs</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_obs</span><span class='op'>[</span><span class='st'>"DFOP-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"saem"</span><span class='op'>)</span>
+</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'>→ generate SAEM model</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='error'>Error in configsaem(model = model, data = dat, inits = inits, mcmc = .mcmc, ODEopt = .ODEopt, seed = .seed, distribution = .dist, DEBUG = .DEBUG, addProp = .addProp, tol = .tol, itmax = .itmax, type = .type, powRange = .powRange, lambdaRange = .lambdaRange): covariate(s) not found: f_parent_to_A1</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 1.302 0.142 1.443</span></div><div class='input'><span class='va'>f_nlmixr_dfop_sfo_focei_obs</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_obs</span><span class='op'>[</span><span class='st'>"DFOP-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"focei"</span><span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ calculate jacobian</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate sensitivities</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(f)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(R²)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling inner model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling EBE model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ compiling events FD model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>Model:</span></div><div class='output co'>#&gt; <span class='message'>cmt(parent);</span>
#&gt; <span class='message'>cmt(A1);</span>
#&gt; <span class='message'>rx_expr_6~ETA[1]+THETA[1];</span>
@@ -4717,7 +4717,7 @@ obtained by fitting the same model to a list of datasets using <a href='mkinfit.
#&gt; <span class='message'>f_parent=1/(1+exp(-(ETA[3]+THETA[3])));</span>
#&gt; <span class='message'>g=1/(rx_expr_19);</span>
#&gt; <span class='message'>tad=tad();</span>
-#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 15.17 0.353 15.52</span></div><div class='input'>
+#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 14.58 0.482 15.06</span></div><div class='input'>
<span class='co'># Identical two-component error for all variables is only possible with</span>
<span class='co'># est = 'focei' in nlmixr</span>
<span class='va'>f_nlmixr_fomc_sfo_focei_tc</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_tc</span><span class='op'>[</span><span class='st'>"FOMC-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"focei"</span><span class='op'>)</span>
@@ -4771,7 +4771,7 @@ obtained by fitting the same model to a list of datasets using <a href='mkinfit.
#&gt; <span class='message'>beta=exp(rx_expr_8);</span>
#&gt; <span class='message'>f_parent=1/(1+exp(-(ETA[3]+THETA[3])));</span>
#&gt; <span class='message'>tad=tad();</span>
-#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 8.708 0.429 9.135</span></div><div class='input'><span class='va'>f_nlmixr_dfop_sfo_focei_tc</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_tc</span><span class='op'>[</span><span class='st'>"DFOP-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"focei"</span><span class='op'>)</span>
+#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 8.484 0.401 8.883</span></div><div class='input'><span class='va'>f_nlmixr_dfop_sfo_focei_tc</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_tc</span><span class='op'>[</span><span class='st'>"DFOP-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"focei"</span><span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ calculate jacobian</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate sensitivities</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(f)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(R²)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling inner model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling EBE model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ compiling events FD model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>Model:</span></div><div class='output co'>#&gt; <span class='message'>cmt(parent);</span>
#&gt; <span class='message'>cmt(A1);</span>
#&gt; <span class='message'>rx_expr_6~ETA[1]+THETA[1];</span>
@@ -4830,12 +4830,12 @@ obtained by fitting the same model to a list of datasets using <a href='mkinfit.
#&gt; <span class='message'>f_parent=1/(1+exp(-(ETA[3]+THETA[3])));</span>
#&gt; <span class='message'>g=1/(rx_expr_21);</span>
#&gt; <span class='message'>tad=tad();</span>
-#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 18.05 0.446 18.5</span></div><div class='input'>
+#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 18.44 0.438 18.87</span></div><div class='input'>
<span class='co'># Two-component error by variable is possible with both estimation methods</span>
<span class='co'># Variance by variable is supported by 'saem' and 'focei'</span>
<span class='va'>f_nlmixr_fomc_sfo_saem_obs_tc</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_tc</span><span class='op'>[</span><span class='st'>"FOMC-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"saem"</span>,
error_model <span class='op'>=</span> <span class='st'>"obs_tc"</span><span class='op'>)</span>
-</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='error'>Error in configsaem(model = model, data = dat, inits = inits, mcmc = .mcmc, ODEopt = .ODEopt, seed = .seed, distribution = .dist, DEBUG = .DEBUG, addProp = .addProp, tol = .tol, itmax = .itmax, type = .type, powRange = .powRange, lambdaRange = .lambdaRange): covariate(s) not found: f_parent_to_A1</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 0.763 0.036 0.799</span></div><div class='input'><span class='va'>f_nlmixr_fomc_sfo_focei_obs_tc</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_tc</span><span class='op'>[</span><span class='st'>"FOMC-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"focei"</span>,
+</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='error'>Error in configsaem(model = model, data = dat, inits = inits, mcmc = .mcmc, ODEopt = .ODEopt, seed = .seed, distribution = .dist, DEBUG = .DEBUG, addProp = .addProp, tol = .tol, itmax = .itmax, type = .type, powRange = .powRange, lambdaRange = .lambdaRange): covariate(s) not found: f_parent_to_A1</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 0.784 0.028 0.812</span></div><div class='input'><span class='va'>f_nlmixr_fomc_sfo_focei_obs_tc</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_tc</span><span class='op'>[</span><span class='st'>"FOMC-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"focei"</span>,
error_model <span class='op'>=</span> <span class='st'>"obs_tc"</span><span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ calculate jacobian</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate sensitivities</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(f)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(R²)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling inner model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling EBE model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ compiling events FD model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>Model:</span></div><div class='output co'>#&gt; <span class='message'>cmt(parent);</span>
#&gt; <span class='message'>cmt(A1);</span>
@@ -4887,9 +4887,9 @@ obtained by fitting the same model to a list of datasets using <a href='mkinfit.
#&gt; <span class='message'>beta=exp(rx_expr_8);</span>
#&gt; <span class='message'>f_parent=1/(1+exp(-(ETA[3]+THETA[3])));</span>
#&gt; <span class='message'>tad=tad();</span>
-#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 8.196 0.388 8.584</span></div><div class='input'><span class='va'>f_nlmixr_dfop_sfo_saem_obs_tc</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_tc</span><span class='op'>[</span><span class='st'>"DFOP-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"saem"</span>,
+#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 8.157 0.51 8.664</span></div><div class='input'><span class='va'>f_nlmixr_dfop_sfo_saem_obs_tc</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_tc</span><span class='op'>[</span><span class='st'>"DFOP-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"saem"</span>,
error_model <span class='op'>=</span> <span class='st'>"obs_tc"</span><span class='op'>)</span>
-</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='error'>Error in configsaem(model = model, data = dat, inits = inits, mcmc = .mcmc, ODEopt = .ODEopt, seed = .seed, distribution = .dist, DEBUG = .DEBUG, addProp = .addProp, tol = .tol, itmax = .itmax, type = .type, powRange = .powRange, lambdaRange = .lambdaRange): covariate(s) not found: f_parent_to_A1</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 0.843 0.028 0.871</span></div><div class='input'><span class='va'>f_nlmixr_dfop_sfo_focei_obs_tc</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_tc</span><span class='op'>[</span><span class='st'>"DFOP-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"focei"</span>,
+</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='error'>Error in configsaem(model = model, data = dat, inits = inits, mcmc = .mcmc, ODEopt = .ODEopt, seed = .seed, distribution = .dist, DEBUG = .DEBUG, addProp = .addProp, tol = .tol, itmax = .itmax, type = .type, powRange = .powRange, lambdaRange = .lambdaRange): covariate(s) not found: f_parent_to_A1</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 0.81 0.045 0.854</span></div><div class='input'><span class='va'>f_nlmixr_dfop_sfo_focei_obs_tc</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_tc</span><span class='op'>[</span><span class='st'>"DFOP-SFO"</span>, <span class='op'>]</span>, est <span class='op'>=</span> <span class='st'>"focei"</span>,
error_model <span class='op'>=</span> <span class='st'>"obs_tc"</span><span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ calculate jacobian</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate sensitivities</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(f)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(R²)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling inner model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling EBE model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ compiling events FD model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>Model:</span></div><div class='output co'>#&gt; <span class='message'>cmt(parent);</span>
#&gt; <span class='message'>cmt(A1);</span>
@@ -4949,7 +4949,7 @@ obtained by fitting the same model to a list of datasets using <a href='mkinfit.
#&gt; <span class='message'>f_parent=1/(1+exp(-(ETA[3]+THETA[3])));</span>
#&gt; <span class='message'>g=1/(rx_expr_19);</span>
#&gt; <span class='message'>tad=tad();</span>
-#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 17.73 0.411 18.14</span></div><div class='input'>
+#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_A1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 17.34 0.397 17.73</span></div><div class='input'>
<span class='fu'><a href='https://rdrr.io/r/stats/AIC.html'>AIC</a></span><span class='op'>(</span>
<span class='va'>f_nlmixr_sfo_sfo_focei_const</span><span class='op'>$</span><span class='va'>nm</span>,
<span class='va'>f_nlmixr_fomc_sfo_focei_const</span><span class='op'>$</span><span class='va'>nm</span>,
diff --git a/docs/dev/reference/plot.mixed.mmkin-3.png b/docs/dev/reference/plot.mixed.mmkin-3.png
index a9b96726..7e2876b3 100644
--- a/docs/dev/reference/plot.mixed.mmkin-3.png
+++ b/docs/dev/reference/plot.mixed.mmkin-3.png
Binary files differ
diff --git a/docs/dev/reference/plot.mixed.mmkin-4.png b/docs/dev/reference/plot.mixed.mmkin-4.png
index 22219e5e..945c4d41 100644
--- a/docs/dev/reference/plot.mixed.mmkin-4.png
+++ b/docs/dev/reference/plot.mixed.mmkin-4.png
Binary files differ
diff --git a/docs/dev/reference/plot.mixed.mmkin.html b/docs/dev/reference/plot.mixed.mmkin.html
index a4222991..7f3faa90 100644
--- a/docs/dev/reference/plot.mixed.mmkin.html
+++ b/docs/dev/reference/plot.mixed.mmkin.html
@@ -72,7 +72,7 @@
</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.0.5</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
@@ -296,10 +296,10 @@ corresponding model prediction lines for the different datasets.</p></td>
</div><div class='img'><img src='plot.mixed.mmkin-2.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='va'>f_saem</span> <span class='op'>&lt;-</span> <span class='fu'><a href='saem.html'>saem</a></span><span class='op'>(</span><span class='va'>f</span>, transformations <span class='op'>=</span> <span class='st'>"saemix"</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Running main SAEM algorithm
-#&gt; [1] "Fri Jun 11 10:56:37 2021"
+#&gt; [1] "Tue Jul 27 16:30:50 2021"
#&gt; ....
#&gt; Minimisation finished
-#&gt; [1] "Fri Jun 11 10:56:44 2021"</div><div class='input'><span class='fu'><a href='https://rdrr.io/r/graphics/plot.default.html'>plot</a></span><span class='op'>(</span><span class='va'>f_saem</span><span class='op'>)</span>
+#&gt; [1] "Tue Jul 27 16:30:58 2021"</div><div class='input'><span class='fu'><a href='https://rdrr.io/r/graphics/plot.default.html'>plot</a></span><span class='op'>(</span><span class='va'>f_saem</span><span class='op'>)</span>
</div><div class='img'><img src='plot.mixed.mmkin-3.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='va'>f_obs</span> <span class='op'>&lt;-</span> <span class='fu'><a href='mmkin.html'>mmkin</a></span><span class='op'>(</span><span class='fu'><a href='https://rdrr.io/r/base/list.html'>list</a></span><span class='op'>(</span><span class='st'>"DFOP-SFO"</span> <span class='op'>=</span> <span class='va'>dfop_sfo</span><span class='op'>)</span>, <span class='va'>ds</span>, quiet <span class='op'>=</span> <span class='cn'>TRUE</span>, error_model <span class='op'>=</span> <span class='st'>"obs"</span><span class='op'>)</span>
<span class='va'>f_nlmix</span> <span class='op'>&lt;-</span> <span class='fu'>nlmix</span><span class='op'>(</span><span class='va'>f_obs</span><span class='op'>)</span>
diff --git a/docs/dev/reference/reexports.html b/docs/dev/reference/reexports.html
index f5ace044..ac4fa4d9 100644
--- a/docs/dev/reference/reexports.html
+++ b/docs/dev/reference/reexports.html
@@ -81,7 +81,7 @@ below to see their documentation.
</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.0.5</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
diff --git a/docs/dev/reference/saem-5.png b/docs/dev/reference/saem-5.png
index 8212ec67..d22e7285 100644
--- a/docs/dev/reference/saem-5.png
+++ b/docs/dev/reference/saem-5.png
Binary files differ
diff --git a/docs/dev/reference/saem.html b/docs/dev/reference/saem.html
index 98faad6f..15271c8a 100644
--- a/docs/dev/reference/saem.html
+++ b/docs/dev/reference/saem.html
@@ -74,7 +74,7 @@ Expectation Maximisation algorithm (SAEM)." />
</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.0.5</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
@@ -158,7 +158,7 @@ Expectation Maximisation algorithm (SAEM).</p>
<span class='va'>object</span>,
transformations <span class='op'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span><span class='op'>(</span><span class='st'>"mkin"</span>, <span class='st'>"saemix"</span><span class='op'>)</span>,
degparms_start <span class='op'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/numeric.html'>numeric</a></span><span class='op'>(</span><span class='op'>)</span>,
- test_log_parms <span class='op'>=</span> <span class='cn'>FALSE</span>,
+ test_log_parms <span class='op'>=</span> <span class='cn'>TRUE</span>,
conf.level <span class='op'>=</span> <span class='fl'>0.6</span>,
solution_type <span class='op'>=</span> <span class='st'>"auto"</span>,
nbiter.saemix <span class='op'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span><span class='op'>(</span><span class='fl'>300</span>, <span class='fl'>100</span><span class='op'>)</span>,
@@ -288,27 +288,27 @@ using <a href='mmkin.html'>mmkin</a>.</p>
state.ini <span class='op'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span><span class='op'>(</span>parent <span class='op'>=</span> <span class='fl'>100</span><span class='op'>)</span>, fixed_initials <span class='op'>=</span> <span class='st'>"parent"</span>, quiet <span class='op'>=</span> <span class='cn'>TRUE</span><span class='op'>)</span>
<span class='va'>f_saem_p0_fixed</span> <span class='op'>&lt;-</span> <span class='fu'>saem</span><span class='op'>(</span><span class='va'>f_mmkin_parent_p0_fixed</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Running main SAEM algorithm
-#&gt; [1] "Fri Jun 11 10:56:49 2021"
+#&gt; [1] "Tue Jul 27 16:31:02 2021"
#&gt; ....
#&gt; Minimisation finished
-#&gt; [1] "Fri Jun 11 10:56:51 2021"</div><div class='input'>
+#&gt; [1] "Tue Jul 27 16:31:04 2021"</div><div class='input'>
<span class='va'>f_mmkin_parent</span> <span class='op'>&lt;-</span> <span class='fu'><a href='mmkin.html'>mmkin</a></span><span class='op'>(</span><span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span><span class='op'>(</span><span class='st'>"SFO"</span>, <span class='st'>"FOMC"</span>, <span class='st'>"DFOP"</span><span class='op'>)</span>, <span class='va'>ds</span>, quiet <span class='op'>=</span> <span class='cn'>TRUE</span><span class='op'>)</span>
<span class='va'>f_saem_sfo</span> <span class='op'>&lt;-</span> <span class='fu'>saem</span><span class='op'>(</span><span class='va'>f_mmkin_parent</span><span class='op'>[</span><span class='st'>"SFO"</span>, <span class='op'>]</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Running main SAEM algorithm
-#&gt; [1] "Fri Jun 11 10:56:53 2021"
+#&gt; [1] "Tue Jul 27 16:31:06 2021"
#&gt; ....
#&gt; Minimisation finished
-#&gt; [1] "Fri Jun 11 10:56:54 2021"</div><div class='input'><span class='va'>f_saem_fomc</span> <span class='op'>&lt;-</span> <span class='fu'>saem</span><span class='op'>(</span><span class='va'>f_mmkin_parent</span><span class='op'>[</span><span class='st'>"FOMC"</span>, <span class='op'>]</span><span class='op'>)</span>
+#&gt; [1] "Tue Jul 27 16:31:07 2021"</div><div class='input'><span class='va'>f_saem_fomc</span> <span class='op'>&lt;-</span> <span class='fu'>saem</span><span class='op'>(</span><span class='va'>f_mmkin_parent</span><span class='op'>[</span><span class='st'>"FOMC"</span>, <span class='op'>]</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Running main SAEM algorithm
-#&gt; [1] "Fri Jun 11 10:56:54 2021"
+#&gt; [1] "Tue Jul 27 16:31:07 2021"
#&gt; ....
#&gt; Minimisation finished
-#&gt; [1] "Fri Jun 11 10:56:57 2021"</div><div class='input'><span class='va'>f_saem_dfop</span> <span class='op'>&lt;-</span> <span class='fu'>saem</span><span class='op'>(</span><span class='va'>f_mmkin_parent</span><span class='op'>[</span><span class='st'>"DFOP"</span>, <span class='op'>]</span><span class='op'>)</span>
+#&gt; [1] "Tue Jul 27 16:31:09 2021"</div><div class='input'><span class='va'>f_saem_dfop</span> <span class='op'>&lt;-</span> <span class='fu'>saem</span><span class='op'>(</span><span class='va'>f_mmkin_parent</span><span class='op'>[</span><span class='st'>"DFOP"</span>, <span class='op'>]</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Running main SAEM algorithm
-#&gt; [1] "Fri Jun 11 10:56:57 2021"
+#&gt; [1] "Tue Jul 27 16:31:10 2021"
#&gt; ....
#&gt; Minimisation finished
-#&gt; [1] "Fri Jun 11 10:57:00 2021"</div><div class='input'>
+#&gt; [1] "Tue Jul 27 16:31:12 2021"</div><div class='input'>
<span class='co'># The returned saem.mmkin object contains an SaemixObject, therefore we can use</span>
<span class='co'># functions from saemix</span>
<span class='kw'><a href='https://rdrr.io/r/base/library.html'>library</a></span><span class='op'>(</span><span class='va'>saemix</span><span class='op'>)</span>
@@ -357,10 +357,10 @@ using <a href='mmkin.html'>mmkin</a>.</p>
<span class='va'>f_mmkin_parent_tc</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/r/stats/update.html'>update</a></span><span class='op'>(</span><span class='va'>f_mmkin_parent</span>, error_model <span class='op'>=</span> <span class='st'>"tc"</span><span class='op'>)</span>
<span class='va'>f_saem_fomc_tc</span> <span class='op'>&lt;-</span> <span class='fu'>saem</span><span class='op'>(</span><span class='va'>f_mmkin_parent_tc</span><span class='op'>[</span><span class='st'>"FOMC"</span>, <span class='op'>]</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Running main SAEM algorithm
-#&gt; [1] "Fri Jun 11 10:57:03 2021"
+#&gt; [1] "Tue Jul 27 16:31:16 2021"
#&gt; ....
#&gt; Minimisation finished
-#&gt; [1] "Fri Jun 11 10:57:09 2021"</div><div class='input'><span class='fu'><a href='https://rdrr.io/pkg/saemix/man/compare.saemix.html'>compare.saemix</a></span><span class='op'>(</span><span class='va'>f_saem_fomc</span><span class='op'>$</span><span class='va'>so</span>, <span class='va'>f_saem_fomc_tc</span><span class='op'>$</span><span class='va'>so</span><span class='op'>)</span>
+#&gt; [1] "Tue Jul 27 16:31:20 2021"</div><div class='input'><span class='fu'><a href='https://rdrr.io/pkg/saemix/man/compare.saemix.html'>compare.saemix</a></span><span class='op'>(</span><span class='va'>f_saem_fomc</span><span class='op'>$</span><span class='va'>so</span>, <span class='va'>f_saem_fomc_tc</span><span class='op'>$</span><span class='va'>so</span><span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='message'>Likelihoods calculated by importance sampling</span></div><div class='output co'>#&gt; AIC BIC
#&gt; 1 467.7096 464.9757
#&gt; 2 469.6831 466.5586</div><div class='input'>
@@ -381,15 +381,15 @@ using <a href='mmkin.html'>mmkin</a>.</p>
<span class='co'># four minutes</span>
<span class='va'>f_saem_sfo_sfo</span> <span class='op'>&lt;-</span> <span class='fu'>saem</span><span class='op'>(</span><span class='va'>f_mmkin</span><span class='op'>[</span><span class='st'>"SFO-SFO"</span>, <span class='op'>]</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Running main SAEM algorithm
-#&gt; [1] "Fri Jun 11 10:57:12 2021"
+#&gt; [1] "Tue Jul 27 16:31:24 2021"
#&gt; ....
#&gt; Minimisation finished
-#&gt; [1] "Fri Jun 11 10:57:17 2021"</div><div class='input'><span class='va'>f_saem_dfop_sfo</span> <span class='op'>&lt;-</span> <span class='fu'>saem</span><span class='op'>(</span><span class='va'>f_mmkin</span><span class='op'>[</span><span class='st'>"DFOP-SFO"</span>, <span class='op'>]</span><span class='op'>)</span>
+#&gt; [1] "Tue Jul 27 16:31:29 2021"</div><div class='input'><span class='va'>f_saem_dfop_sfo</span> <span class='op'>&lt;-</span> <span class='fu'>saem</span><span class='op'>(</span><span class='va'>f_mmkin</span><span class='op'>[</span><span class='st'>"DFOP-SFO"</span>, <span class='op'>]</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Running main SAEM algorithm
-#&gt; [1] "Fri Jun 11 10:57:17 2021"
+#&gt; [1] "Tue Jul 27 16:31:30 2021"
#&gt; ....
#&gt; Minimisation finished
-#&gt; [1] "Fri Jun 11 10:57:26 2021"</div><div class='input'><span class='co'># We can use print, plot and summary methods to check the results</span>
+#&gt; [1] "Tue Jul 27 16:31:38 2021"</div><div class='input'><span class='co'># We can use print, plot and summary methods to check the results</span>
<span class='fu'><a href='https://rdrr.io/r/base/print.html'>print</a></span><span class='op'>(</span><span class='va'>f_saem_dfop_sfo</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Kinetic nonlinear mixed-effects model fit by SAEM
#&gt; Structural model:
@@ -405,35 +405,35 @@ using <a href='mmkin.html'>mmkin</a>.</p>
#&gt;
#&gt; Likelihood computed by importance sampling
#&gt; AIC BIC logLik
-#&gt; 841.6 836.5 -407.8
+#&gt; 839.6 834.6 -406.8
#&gt;
#&gt; Fitted parameters:
#&gt; estimate lower upper
-#&gt; parent_0 93.76647 91.15312 96.3798
-#&gt; log_k_A1 -6.13235 -8.45788 -3.8068
-#&gt; f_parent_qlogis -0.97364 -1.36940 -0.5779
-#&gt; log_k1 -2.53176 -3.80372 -1.2598
-#&gt; log_k2 -3.58667 -5.29524 -1.8781
-#&gt; g_qlogis 0.01238 -1.07968 1.1044
-#&gt; Var.parent_0 7.61106 -3.34955 18.5717
-#&gt; Var.log_k_A1 4.64679 -2.73133 12.0249
-#&gt; Var.f_parent_qlogis 0.19693 -0.05498 0.4488
-#&gt; Var.log_k1 2.01717 -0.51980 4.5542
-#&gt; Var.log_k2 3.63412 -0.92964 8.1979
-#&gt; Var.g_qlogis 0.20045 -0.97425 1.3751
-#&gt; a.1 1.88335 1.66636 2.1004
-#&gt; SD.parent_0 2.75881 0.77234 4.7453
-#&gt; SD.log_k_A1 2.15564 0.44429 3.8670
-#&gt; SD.f_parent_qlogis 0.44377 0.15994 0.7276
-#&gt; SD.log_k1 1.42027 0.52714 2.3134
-#&gt; SD.log_k2 1.90634 0.70934 3.1033
-#&gt; SD.g_qlogis 0.44771 -0.86417 1.7596</div><div class='input'><span class='fu'><a href='https://rdrr.io/pkg/saemix/man/plot-SaemixObject-method.html'>plot</a></span><span class='op'>(</span><span class='va'>f_saem_dfop_sfo</span><span class='op'>)</span>
+#&gt; parent_0 93.80521 91.22487 96.3856
+#&gt; log_k_A1 -6.06244 -8.26517 -3.8597
+#&gt; f_parent_qlogis -0.97319 -1.37024 -0.5761
+#&gt; log_k1 -2.55394 -4.00815 -1.0997
+#&gt; log_k2 -3.47160 -5.18763 -1.7556
+#&gt; g_qlogis -0.09324 -1.42737 1.2409
+#&gt; Var.parent_0 7.42157 -3.25683 18.1000
+#&gt; Var.log_k_A1 4.22850 -2.46339 10.9204
+#&gt; Var.f_parent_qlogis 0.19803 -0.05541 0.4515
+#&gt; Var.log_k1 2.28644 -0.86079 5.4337
+#&gt; Var.log_k2 3.35626 -1.14639 7.8589
+#&gt; Var.g_qlogis 0.20084 -1.32516 1.7268
+#&gt; a.1 1.88399 1.66794 2.1000
+#&gt; SD.parent_0 2.72425 0.76438 4.6841
+#&gt; SD.log_k_A1 2.05633 0.42919 3.6835
+#&gt; SD.f_parent_qlogis 0.44501 0.16025 0.7298
+#&gt; SD.log_k1 1.51210 0.47142 2.5528
+#&gt; SD.log_k2 1.83201 0.60313 3.0609
+#&gt; SD.g_qlogis 0.44816 -1.25437 2.1507</div><div class='input'><span class='fu'><a href='https://rdrr.io/pkg/saemix/man/plot-SaemixObject-method.html'>plot</a></span><span class='op'>(</span><span class='va'>f_saem_dfop_sfo</span><span class='op'>)</span>
</div><div class='img'><img src='saem-5.png' alt='' width='700' height='433' /></div><div class='input'><span class='fu'><a href='https://rdrr.io/pkg/saemix/man/summary-methods.html'>summary</a></span><span class='op'>(</span><span class='va'>f_saem_dfop_sfo</span>, data <span class='op'>=</span> <span class='cn'>TRUE</span><span class='op'>)</span>
</div><div class='output co'>#&gt; saemix version used for fitting: 3.1.9000
-#&gt; mkin version used for pre-fitting: 1.0.5
+#&gt; mkin version used for pre-fitting: 1.1.0
#&gt; R version used for fitting: 4.1.0
-#&gt; Date of fit: Fri Jun 11 10:57:27 2021
-#&gt; Date of summary: Fri Jun 11 10:57:27 2021
+#&gt; Date of fit: Tue Jul 27 16:31:39 2021
+#&gt; Date of summary: Tue Jul 27 16:31:39 2021
#&gt;
#&gt; Equations:
#&gt; d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
@@ -448,13 +448,13 @@ using <a href='mmkin.html'>mmkin</a>.</p>
#&gt;
#&gt; Model predictions using solution type analytical
#&gt;
-#&gt; Fitted in 9.712 s using 300, 100 iterations
+#&gt; Fitted in 9.479 s using 300, 100 iterations
#&gt;
#&gt; Variance model: Constant variance
#&gt;
#&gt; Mean of starting values for individual parameters:
#&gt; parent_0 log_k_A1 f_parent_qlogis log_k1 log_k2
-#&gt; 93.8102 -9.7647 -0.9711 -1.8799 -4.2708
+#&gt; 93.8102 -5.3734 -0.9711 -1.8799 -4.2708
#&gt; g_qlogis
#&gt; 0.1356
#&gt;
@@ -465,46 +465,46 @@ using <a href='mmkin.html'>mmkin</a>.</p>
#&gt;
#&gt; Likelihood computed by importance sampling
#&gt; AIC BIC logLik
-#&gt; 841.6 836.5 -407.8
+#&gt; 839.6 834.6 -406.8
#&gt;
#&gt; Optimised parameters:
#&gt; est. lower upper
-#&gt; parent_0 93.76647 91.153 96.3798
-#&gt; log_k_A1 -6.13235 -8.458 -3.8068
-#&gt; f_parent_qlogis -0.97364 -1.369 -0.5779
-#&gt; log_k1 -2.53176 -3.804 -1.2598
-#&gt; log_k2 -3.58667 -5.295 -1.8781
-#&gt; g_qlogis 0.01238 -1.080 1.1044
+#&gt; parent_0 93.80521 91.225 96.3856
+#&gt; log_k_A1 -6.06244 -8.265 -3.8597
+#&gt; f_parent_qlogis -0.97319 -1.370 -0.5761
+#&gt; log_k1 -2.55394 -4.008 -1.0997
+#&gt; log_k2 -3.47160 -5.188 -1.7556
+#&gt; g_qlogis -0.09324 -1.427 1.2409
#&gt;
#&gt; Correlation:
#&gt; prnt_0 lg__A1 f_prn_ log_k1 log_k2
-#&gt; log_k_A1 -0.013
-#&gt; f_parent_qlogis -0.025 0.050
-#&gt; log_k1 0.030 0.000 -0.005
-#&gt; log_k2 0.010 0.005 -0.003 0.032
-#&gt; g_qlogis -0.063 -0.015 0.010 -0.167 -0.177
+#&gt; log_k_A1 -0.014
+#&gt; f_parent_qlogis -0.025 0.054
+#&gt; log_k1 0.027 -0.003 -0.005
+#&gt; log_k2 0.011 0.005 -0.002 -0.070
+#&gt; g_qlogis -0.067 -0.009 0.011 -0.189 -0.171
#&gt;
#&gt; Random effects:
#&gt; est. lower upper
-#&gt; SD.parent_0 2.7588 0.7723 4.7453
-#&gt; SD.log_k_A1 2.1556 0.4443 3.8670
-#&gt; SD.f_parent_qlogis 0.4438 0.1599 0.7276
-#&gt; SD.log_k1 1.4203 0.5271 2.3134
-#&gt; SD.log_k2 1.9063 0.7093 3.1033
-#&gt; SD.g_qlogis 0.4477 -0.8642 1.7596
+#&gt; SD.parent_0 2.7243 0.7644 4.6841
+#&gt; SD.log_k_A1 2.0563 0.4292 3.6835
+#&gt; SD.f_parent_qlogis 0.4450 0.1602 0.7298
+#&gt; SD.log_k1 1.5121 0.4714 2.5528
+#&gt; SD.log_k2 1.8320 0.6031 3.0609
+#&gt; SD.g_qlogis 0.4482 -1.2544 2.1507
#&gt;
#&gt; Variance model:
#&gt; est. lower upper
-#&gt; a.1 1.883 1.666 2.1
+#&gt; a.1 1.884 1.668 2.1
#&gt;
#&gt; Backtransformed parameters:
#&gt; est. lower upper
-#&gt; parent_0 93.766473 9.115e+01 96.37983
-#&gt; k_A1 0.002171 2.122e-04 0.02222
-#&gt; f_parent_to_A1 0.274156 2.027e-01 0.35942
-#&gt; k1 0.079519 2.229e-02 0.28371
-#&gt; k2 0.027691 5.015e-03 0.15288
-#&gt; g 0.503095 2.536e-01 0.75109
+#&gt; parent_0 93.805214 9.122e+01 96.38556
+#&gt; k_A1 0.002329 2.573e-04 0.02107
+#&gt; f_parent_to_A1 0.274245 2.026e-01 0.35982
+#&gt; k1 0.077775 1.817e-02 0.33296
+#&gt; k2 0.031067 5.585e-03 0.17281
+#&gt; g 0.476707 1.935e-01 0.77572
#&gt;
#&gt; Resulting formation fractions:
#&gt; ff
@@ -512,182 +512,182 @@ using <a href='mmkin.html'>mmkin</a>.</p>
#&gt; parent_sink 0.7258
#&gt;
#&gt; Estimated disappearance times:
-#&gt; DT50 DT90 DT50back DT50_k1 DT50_k2
-#&gt; parent 14.11 59.53 17.92 8.717 25.03
-#&gt; A1 319.21 1060.38 NA NA NA
+#&gt; DT50 DT90 DT50back DT50_k1 DT50_k2
+#&gt; parent 13.96 55.4 16.68 8.912 22.31
+#&gt; A1 297.65 988.8 NA NA NA
#&gt;
#&gt; Data:
-#&gt; ds name time observed predicted residual std standardized
-#&gt; Dataset 6 parent 0 97.2 95.79523 1.40477 1.883 0.745888
-#&gt; Dataset 6 parent 0 96.4 95.79523 0.60477 1.883 0.321114
-#&gt; Dataset 6 parent 3 71.1 71.32042 -0.22042 1.883 -0.117035
-#&gt; Dataset 6 parent 3 69.2 71.32042 -2.12042 1.883 -1.125873
-#&gt; Dataset 6 parent 6 58.1 56.45256 1.64744 1.883 0.874739
-#&gt; Dataset 6 parent 6 56.6 56.45256 0.14744 1.883 0.078288
-#&gt; Dataset 6 parent 10 44.4 44.48523 -0.08523 1.883 -0.045257
-#&gt; Dataset 6 parent 10 43.4 44.48523 -1.08523 1.883 -0.576224
-#&gt; Dataset 6 parent 20 33.3 29.75774 3.54226 1.883 1.880826
-#&gt; Dataset 6 parent 20 29.2 29.75774 -0.55774 1.883 -0.296141
-#&gt; Dataset 6 parent 34 17.6 19.35710 -1.75710 1.883 -0.932966
-#&gt; Dataset 6 parent 34 18.0 19.35710 -1.35710 1.883 -0.720579
-#&gt; Dataset 6 parent 55 10.5 10.48443 0.01557 1.883 0.008266
-#&gt; Dataset 6 parent 55 9.3 10.48443 -1.18443 1.883 -0.628895
-#&gt; Dataset 6 parent 90 4.5 3.78622 0.71378 1.883 0.378995
-#&gt; Dataset 6 parent 90 4.7 3.78622 0.91378 1.883 0.485188
-#&gt; Dataset 6 parent 112 3.0 1.99608 1.00392 1.883 0.533048
-#&gt; Dataset 6 parent 112 3.4 1.99608 1.40392 1.883 0.745435
-#&gt; Dataset 6 parent 132 2.3 1.11539 1.18461 1.883 0.628990
-#&gt; Dataset 6 parent 132 2.7 1.11539 1.58461 1.883 0.841377
-#&gt; Dataset 6 A1 3 4.3 4.66132 -0.36132 1.883 -0.191849
-#&gt; Dataset 6 A1 3 4.6 4.66132 -0.06132 1.883 -0.032559
-#&gt; Dataset 6 A1 6 7.0 7.41087 -0.41087 1.883 -0.218157
-#&gt; Dataset 6 A1 6 7.2 7.41087 -0.21087 1.883 -0.111964
-#&gt; Dataset 6 A1 10 8.2 9.50878 -1.30878 1.883 -0.694921
-#&gt; Dataset 6 A1 10 8.0 9.50878 -1.50878 1.883 -0.801114
-#&gt; Dataset 6 A1 20 11.0 11.69902 -0.69902 1.883 -0.371157
-#&gt; Dataset 6 A1 20 13.7 11.69902 2.00098 1.883 1.062455
-#&gt; Dataset 6 A1 34 11.5 12.67784 -1.17784 1.883 -0.625396
-#&gt; Dataset 6 A1 34 12.7 12.67784 0.02216 1.883 0.011765
-#&gt; Dataset 6 A1 55 14.9 12.78556 2.11444 1.883 1.122701
-#&gt; Dataset 6 A1 55 14.5 12.78556 1.71444 1.883 0.910314
-#&gt; Dataset 6 A1 90 12.1 11.52954 0.57046 1.883 0.302898
-#&gt; Dataset 6 A1 90 12.3 11.52954 0.77046 1.883 0.409092
-#&gt; Dataset 6 A1 112 9.9 10.43825 -0.53825 1.883 -0.285793
-#&gt; Dataset 6 A1 112 10.2 10.43825 -0.23825 1.883 -0.126503
-#&gt; Dataset 6 A1 132 8.8 9.42830 -0.62830 1.883 -0.333609
-#&gt; Dataset 6 A1 132 7.8 9.42830 -1.62830 1.883 -0.864577
-#&gt; Dataset 7 parent 0 93.6 90.91477 2.68523 1.883 1.425772
-#&gt; Dataset 7 parent 0 92.3 90.91477 1.38523 1.883 0.735514
-#&gt; Dataset 7 parent 3 87.0 84.76874 2.23126 1.883 1.184726
-#&gt; Dataset 7 parent 3 82.2 84.76874 -2.56874 1.883 -1.363919
-#&gt; Dataset 7 parent 7 74.0 77.62735 -3.62735 1.883 -1.926003
-#&gt; Dataset 7 parent 7 73.9 77.62735 -3.72735 1.883 -1.979100
-#&gt; Dataset 7 parent 14 64.2 67.52266 -3.32266 1.883 -1.764224
-#&gt; Dataset 7 parent 14 69.5 67.52266 1.97734 1.883 1.049904
-#&gt; Dataset 7 parent 30 54.0 52.41949 1.58051 1.883 0.839202
-#&gt; Dataset 7 parent 30 54.6 52.41949 2.18051 1.883 1.157783
-#&gt; Dataset 7 parent 60 41.1 39.36582 1.73418 1.883 0.920794
-#&gt; Dataset 7 parent 60 38.4 39.36582 -0.96582 1.883 -0.512818
-#&gt; Dataset 7 parent 90 32.5 33.75388 -1.25388 1.883 -0.665771
-#&gt; Dataset 7 parent 90 35.5 33.75388 1.74612 1.883 0.927132
-#&gt; Dataset 7 parent 120 28.1 30.41716 -2.31716 1.883 -1.230335
-#&gt; Dataset 7 parent 120 29.0 30.41716 -1.41716 1.883 -0.752464
-#&gt; Dataset 7 parent 180 26.5 25.66046 0.83954 1.883 0.445767
-#&gt; Dataset 7 parent 180 27.6 25.66046 1.93954 1.883 1.029832
-#&gt; Dataset 7 A1 3 3.9 2.69355 1.20645 1.883 0.640585
-#&gt; Dataset 7 A1 3 3.1 2.69355 0.40645 1.883 0.215811
-#&gt; Dataset 7 A1 7 6.9 5.81807 1.08193 1.883 0.574470
-#&gt; Dataset 7 A1 7 6.6 5.81807 0.78193 1.883 0.415180
-#&gt; Dataset 7 A1 14 10.4 10.22529 0.17471 1.883 0.092767
-#&gt; Dataset 7 A1 14 8.3 10.22529 -1.92529 1.883 -1.022265
-#&gt; Dataset 7 A1 30 14.4 16.75484 -2.35484 1.883 -1.250345
-#&gt; Dataset 7 A1 30 13.7 16.75484 -3.05484 1.883 -1.622022
-#&gt; Dataset 7 A1 60 22.1 22.22540 -0.12540 1.883 -0.066583
-#&gt; Dataset 7 A1 60 22.3 22.22540 0.07460 1.883 0.039610
-#&gt; Dataset 7 A1 90 27.5 24.38799 3.11201 1.883 1.652376
-#&gt; Dataset 7 A1 90 25.4 24.38799 1.01201 1.883 0.537344
-#&gt; Dataset 7 A1 120 28.0 25.53294 2.46706 1.883 1.309927
-#&gt; Dataset 7 A1 120 26.6 25.53294 1.06706 1.883 0.566572
-#&gt; Dataset 7 A1 180 25.8 26.94943 -1.14943 1.883 -0.610309
-#&gt; Dataset 7 A1 180 25.3 26.94943 -1.64943 1.883 -0.875793
-#&gt; Dataset 8 parent 0 91.9 91.53246 0.36754 1.883 0.195151
-#&gt; Dataset 8 parent 0 90.8 91.53246 -0.73246 1.883 -0.388914
-#&gt; Dataset 8 parent 1 64.9 67.73197 -2.83197 1.883 -1.503686
-#&gt; Dataset 8 parent 1 66.2 67.73197 -1.53197 1.883 -0.813428
-#&gt; Dataset 8 parent 3 43.5 41.58448 1.91552 1.883 1.017081
-#&gt; Dataset 8 parent 3 44.1 41.58448 2.51552 1.883 1.335662
-#&gt; Dataset 8 parent 8 18.3 19.62286 -1.32286 1.883 -0.702395
-#&gt; Dataset 8 parent 8 18.1 19.62286 -1.52286 1.883 -0.808588
-#&gt; Dataset 8 parent 14 10.2 10.77819 -0.57819 1.883 -0.306999
-#&gt; Dataset 8 parent 14 10.8 10.77819 0.02181 1.883 0.011582
-#&gt; Dataset 8 parent 27 4.9 3.26977 1.63023 1.883 0.865599
-#&gt; Dataset 8 parent 27 3.3 3.26977 0.03023 1.883 0.016051
-#&gt; Dataset 8 parent 48 1.6 0.48024 1.11976 1.883 0.594557
-#&gt; Dataset 8 parent 48 1.5 0.48024 1.01976 1.883 0.541460
-#&gt; Dataset 8 parent 70 1.1 0.06438 1.03562 1.883 0.549881
-#&gt; Dataset 8 parent 70 0.9 0.06438 0.83562 1.883 0.443688
-#&gt; Dataset 8 A1 1 9.6 7.61539 1.98461 1.883 1.053761
-#&gt; Dataset 8 A1 1 7.7 7.61539 0.08461 1.883 0.044923
-#&gt; Dataset 8 A1 3 15.0 15.47954 -0.47954 1.883 -0.254622
-#&gt; Dataset 8 A1 3 15.1 15.47954 -0.37954 1.883 -0.201525
-#&gt; Dataset 8 A1 8 21.2 20.22616 0.97384 1.883 0.517075
-#&gt; Dataset 8 A1 8 21.1 20.22616 0.87384 1.883 0.463979
-#&gt; Dataset 8 A1 14 19.7 20.00067 -0.30067 1.883 -0.159645
-#&gt; Dataset 8 A1 14 18.9 20.00067 -1.10067 1.883 -0.584419
-#&gt; Dataset 8 A1 27 17.5 16.38142 1.11858 1.883 0.593928
-#&gt; Dataset 8 A1 27 15.9 16.38142 -0.48142 1.883 -0.255620
-#&gt; Dataset 8 A1 48 9.5 10.25357 -0.75357 1.883 -0.400124
-#&gt; Dataset 8 A1 48 9.8 10.25357 -0.45357 1.883 -0.240833
-#&gt; Dataset 8 A1 70 6.2 5.95728 0.24272 1.883 0.128878
-#&gt; Dataset 8 A1 70 6.1 5.95728 0.14272 1.883 0.075781
-#&gt; Dataset 9 parent 0 99.8 97.47274 2.32726 1.883 1.235697
-#&gt; Dataset 9 parent 0 98.3 97.47274 0.82726 1.883 0.439246
-#&gt; Dataset 9 parent 1 77.1 79.72257 -2.62257 1.883 -1.392500
-#&gt; Dataset 9 parent 1 77.2 79.72257 -2.52257 1.883 -1.339404
-#&gt; Dataset 9 parent 3 59.0 56.26497 2.73503 1.883 1.452212
-#&gt; Dataset 9 parent 3 58.1 56.26497 1.83503 1.883 0.974342
-#&gt; Dataset 9 parent 8 27.4 31.66985 -4.26985 1.883 -2.267151
-#&gt; Dataset 9 parent 8 29.2 31.66985 -2.46985 1.883 -1.311410
-#&gt; Dataset 9 parent 14 19.1 22.39789 -3.29789 1.883 -1.751071
-#&gt; Dataset 9 parent 14 29.6 22.39789 7.20211 1.883 3.824090
-#&gt; Dataset 9 parent 27 10.1 14.21758 -4.11758 1.883 -2.186301
-#&gt; Dataset 9 parent 27 18.2 14.21758 3.98242 1.883 2.114537
-#&gt; Dataset 9 parent 48 4.5 7.27921 -2.77921 1.883 -1.475671
-#&gt; Dataset 9 parent 48 9.1 7.27921 1.82079 1.883 0.966780
-#&gt; Dataset 9 parent 70 2.3 3.61470 -1.31470 1.883 -0.698065
-#&gt; Dataset 9 parent 70 2.9 3.61470 -0.71470 1.883 -0.379485
-#&gt; Dataset 9 parent 91 2.0 1.85303 0.14697 1.883 0.078038
-#&gt; Dataset 9 parent 91 1.8 1.85303 -0.05303 1.883 -0.028155
-#&gt; Dataset 9 parent 120 2.0 0.73645 1.26355 1.883 0.670906
-#&gt; Dataset 9 parent 120 2.2 0.73645 1.46355 1.883 0.777099
-#&gt; Dataset 9 A1 1 4.2 3.87843 0.32157 1.883 0.170743
-#&gt; Dataset 9 A1 1 3.9 3.87843 0.02157 1.883 0.011453
-#&gt; Dataset 9 A1 3 7.4 8.90535 -1.50535 1.883 -0.799291
-#&gt; Dataset 9 A1 3 7.9 8.90535 -1.00535 1.883 -0.533807
-#&gt; Dataset 9 A1 8 14.5 13.75172 0.74828 1.883 0.397312
-#&gt; Dataset 9 A1 8 13.7 13.75172 -0.05172 1.883 -0.027462
-#&gt; Dataset 9 A1 14 14.2 14.97541 -0.77541 1.883 -0.411715
-#&gt; Dataset 9 A1 14 12.2 14.97541 -2.77541 1.883 -1.473650
-#&gt; Dataset 9 A1 27 13.7 14.94728 -1.24728 1.883 -0.662266
-#&gt; Dataset 9 A1 27 13.2 14.94728 -1.74728 1.883 -0.927750
-#&gt; Dataset 9 A1 48 13.6 13.66078 -0.06078 1.883 -0.032272
-#&gt; Dataset 9 A1 48 15.4 13.66078 1.73922 1.883 0.923470
-#&gt; Dataset 9 A1 70 10.4 11.84899 -1.44899 1.883 -0.769365
-#&gt; Dataset 9 A1 70 11.6 11.84899 -0.24899 1.883 -0.132204
-#&gt; Dataset 9 A1 91 10.0 10.09177 -0.09177 1.883 -0.048727
-#&gt; Dataset 9 A1 91 9.5 10.09177 -0.59177 1.883 -0.314211
-#&gt; Dataset 9 A1 120 9.1 7.91379 1.18621 1.883 0.629841
-#&gt; Dataset 9 A1 120 9.0 7.91379 1.08621 1.883 0.576744
-#&gt; Dataset 10 parent 0 96.1 93.65257 2.44743 1.883 1.299505
-#&gt; Dataset 10 parent 0 94.3 93.65257 0.64743 1.883 0.343763
-#&gt; Dataset 10 parent 8 73.9 77.85906 -3.95906 1.883 -2.102132
-#&gt; Dataset 10 parent 8 73.9 77.85906 -3.95906 1.883 -2.102132
-#&gt; Dataset 10 parent 14 69.4 70.17143 -0.77143 1.883 -0.409606
-#&gt; Dataset 10 parent 14 73.1 70.17143 2.92857 1.883 1.554974
-#&gt; Dataset 10 parent 21 65.6 63.99188 1.60812 1.883 0.853862
-#&gt; Dataset 10 parent 21 65.3 63.99188 1.30812 1.883 0.694572
-#&gt; Dataset 10 parent 41 55.9 54.64292 1.25708 1.883 0.667467
-#&gt; Dataset 10 parent 41 54.4 54.64292 -0.24292 1.883 -0.128985
-#&gt; Dataset 10 parent 63 47.0 49.61303 -2.61303 1.883 -1.387433
-#&gt; Dataset 10 parent 63 49.3 49.61303 -0.31303 1.883 -0.166207
-#&gt; Dataset 10 parent 91 44.7 45.17807 -0.47807 1.883 -0.253839
-#&gt; Dataset 10 parent 91 46.7 45.17807 1.52193 1.883 0.808096
-#&gt; Dataset 10 parent 120 42.1 41.27970 0.82030 1.883 0.435552
-#&gt; Dataset 10 parent 120 41.3 41.27970 0.02030 1.883 0.010778
-#&gt; Dataset 10 A1 8 3.3 3.99294 -0.69294 1.883 -0.367929
-#&gt; Dataset 10 A1 8 3.4 3.99294 -0.59294 1.883 -0.314832
-#&gt; Dataset 10 A1 14 3.9 5.92756 -2.02756 1.883 -1.076570
-#&gt; Dataset 10 A1 14 2.9 5.92756 -3.02756 1.883 -1.607538
-#&gt; Dataset 10 A1 21 6.4 7.47313 -1.07313 1.883 -0.569799
-#&gt; Dataset 10 A1 21 7.2 7.47313 -0.27313 1.883 -0.145025
-#&gt; Dataset 10 A1 41 9.1 9.76819 -0.66819 1.883 -0.354786
-#&gt; Dataset 10 A1 41 8.5 9.76819 -1.26819 1.883 -0.673367
-#&gt; Dataset 10 A1 63 11.7 10.94733 0.75267 1.883 0.399643
-#&gt; Dataset 10 A1 63 12.0 10.94733 1.05267 1.883 0.558933
-#&gt; Dataset 10 A1 91 13.3 11.93773 1.36227 1.883 0.723321
-#&gt; Dataset 10 A1 91 13.2 11.93773 1.26227 1.883 0.670224
-#&gt; Dataset 10 A1 120 14.3 12.77666 1.52334 1.883 0.808847
-#&gt; Dataset 10 A1 120 12.1 12.77666 -0.67666 1.883 -0.359282</div><div class='input'>
+#&gt; ds name time observed predicted residual std standardized
+#&gt; Dataset 6 parent 0 97.2 95.75408 1.445920 1.884 0.767479
+#&gt; Dataset 6 parent 0 96.4 95.75408 0.645920 1.884 0.342847
+#&gt; Dataset 6 parent 3 71.1 71.22466 -0.124662 1.884 -0.066169
+#&gt; Dataset 6 parent 3 69.2 71.22466 -2.024662 1.884 -1.074669
+#&gt; Dataset 6 parent 6 58.1 56.42290 1.677100 1.884 0.890187
+#&gt; Dataset 6 parent 6 56.6 56.42290 0.177100 1.884 0.094003
+#&gt; Dataset 6 parent 10 44.4 44.55255 -0.152554 1.884 -0.080974
+#&gt; Dataset 6 parent 10 43.4 44.55255 -1.152554 1.884 -0.611763
+#&gt; Dataset 6 parent 20 33.3 29.88846 3.411537 1.884 1.810807
+#&gt; Dataset 6 parent 20 29.2 29.88846 -0.688463 1.884 -0.365429
+#&gt; Dataset 6 parent 34 17.6 19.40826 -1.808260 1.884 -0.959805
+#&gt; Dataset 6 parent 34 18.0 19.40826 -1.408260 1.884 -0.747489
+#&gt; Dataset 6 parent 55 10.5 10.45560 0.044398 1.884 0.023566
+#&gt; Dataset 6 parent 55 9.3 10.45560 -1.155602 1.884 -0.613381
+#&gt; Dataset 6 parent 90 4.5 3.74026 0.759744 1.884 0.403264
+#&gt; Dataset 6 parent 90 4.7 3.74026 0.959744 1.884 0.509421
+#&gt; Dataset 6 parent 112 3.0 1.96015 1.039853 1.884 0.551943
+#&gt; Dataset 6 parent 112 3.4 1.96015 1.439853 1.884 0.764258
+#&gt; Dataset 6 parent 132 2.3 1.08940 1.210603 1.884 0.642575
+#&gt; Dataset 6 parent 132 2.7 1.08940 1.610603 1.884 0.854890
+#&gt; Dataset 6 A1 3 4.3 4.75601 -0.456009 1.884 -0.242045
+#&gt; Dataset 6 A1 3 4.6 4.75601 -0.156009 1.884 -0.082808
+#&gt; Dataset 6 A1 6 7.0 7.53839 -0.538391 1.884 -0.285772
+#&gt; Dataset 6 A1 6 7.2 7.53839 -0.338391 1.884 -0.179614
+#&gt; Dataset 6 A1 10 8.2 9.64728 -1.447276 1.884 -0.768198
+#&gt; Dataset 6 A1 10 8.0 9.64728 -1.647276 1.884 -0.874356
+#&gt; Dataset 6 A1 20 11.0 11.83954 -0.839545 1.884 -0.445621
+#&gt; Dataset 6 A1 20 13.7 11.83954 1.860455 1.884 0.987509
+#&gt; Dataset 6 A1 34 11.5 12.81233 -1.312327 1.884 -0.696569
+#&gt; Dataset 6 A1 34 12.7 12.81233 -0.112327 1.884 -0.059622
+#&gt; Dataset 6 A1 55 14.9 12.87919 2.020809 1.884 1.072624
+#&gt; Dataset 6 A1 55 14.5 12.87919 1.620809 1.884 0.860308
+#&gt; Dataset 6 A1 90 12.1 11.52464 0.575364 1.884 0.305397
+#&gt; Dataset 6 A1 90 12.3 11.52464 0.775364 1.884 0.411555
+#&gt; Dataset 6 A1 112 9.9 10.37694 -0.476938 1.884 -0.253153
+#&gt; Dataset 6 A1 112 10.2 10.37694 -0.176938 1.884 -0.093917
+#&gt; Dataset 6 A1 132 8.8 9.32474 -0.524742 1.884 -0.278528
+#&gt; Dataset 6 A1 132 7.8 9.32474 -1.524742 1.884 -0.809317
+#&gt; Dataset 7 parent 0 93.6 90.16918 3.430816 1.884 1.821040
+#&gt; Dataset 7 parent 0 92.3 90.16918 2.130816 1.884 1.131014
+#&gt; Dataset 7 parent 3 87.0 84.05442 2.945583 1.884 1.563483
+#&gt; Dataset 7 parent 3 82.2 84.05442 -1.854417 1.884 -0.984304
+#&gt; Dataset 7 parent 7 74.0 77.00960 -3.009596 1.884 -1.597461
+#&gt; Dataset 7 parent 7 73.9 77.00960 -3.109596 1.884 -1.650540
+#&gt; Dataset 7 parent 14 64.2 67.15684 -2.956840 1.884 -1.569459
+#&gt; Dataset 7 parent 14 69.5 67.15684 2.343160 1.884 1.243724
+#&gt; Dataset 7 parent 30 54.0 52.66290 1.337101 1.884 0.709719
+#&gt; Dataset 7 parent 30 54.6 52.66290 1.937101 1.884 1.028192
+#&gt; Dataset 7 parent 60 41.1 40.04995 1.050050 1.884 0.557355
+#&gt; Dataset 7 parent 60 38.4 40.04995 -1.649950 1.884 -0.875775
+#&gt; Dataset 7 parent 90 32.5 34.09675 -1.596746 1.884 -0.847535
+#&gt; Dataset 7 parent 90 35.5 34.09675 1.403254 1.884 0.744832
+#&gt; Dataset 7 parent 120 28.1 30.12281 -2.022814 1.884 -1.073688
+#&gt; Dataset 7 parent 120 29.0 30.12281 -1.122814 1.884 -0.595977
+#&gt; Dataset 7 parent 180 26.5 24.10888 2.391123 1.884 1.269182
+#&gt; Dataset 7 parent 180 27.6 24.10888 3.491123 1.884 1.853050
+#&gt; Dataset 7 A1 3 3.9 2.77684 1.123161 1.884 0.596161
+#&gt; Dataset 7 A1 3 3.1 2.77684 0.323161 1.884 0.171530
+#&gt; Dataset 7 A1 7 6.9 5.96705 0.932950 1.884 0.495200
+#&gt; Dataset 7 A1 7 6.6 5.96705 0.632950 1.884 0.335963
+#&gt; Dataset 7 A1 14 10.4 10.40535 -0.005348 1.884 -0.002839
+#&gt; Dataset 7 A1 14 8.3 10.40535 -2.105348 1.884 -1.117496
+#&gt; Dataset 7 A1 30 14.4 16.83722 -2.437216 1.884 -1.293648
+#&gt; Dataset 7 A1 30 13.7 16.83722 -3.137216 1.884 -1.665200
+#&gt; Dataset 7 A1 60 22.1 22.15018 -0.050179 1.884 -0.026635
+#&gt; Dataset 7 A1 60 22.3 22.15018 0.149821 1.884 0.079523
+#&gt; Dataset 7 A1 90 27.5 24.36286 3.137143 1.884 1.665161
+#&gt; Dataset 7 A1 90 25.4 24.36286 1.037143 1.884 0.550504
+#&gt; Dataset 7 A1 120 28.0 25.64064 2.359361 1.884 1.252323
+#&gt; Dataset 7 A1 120 26.6 25.64064 0.959361 1.884 0.509218
+#&gt; Dataset 7 A1 180 25.8 27.25486 -1.454858 1.884 -0.772223
+#&gt; Dataset 7 A1 180 25.3 27.25486 -1.954858 1.884 -1.037617
+#&gt; Dataset 8 parent 0 91.9 91.72652 0.173479 1.884 0.092081
+#&gt; Dataset 8 parent 0 90.8 91.72652 -0.926521 1.884 -0.491787
+#&gt; Dataset 8 parent 1 64.9 67.22810 -2.328104 1.884 -1.235732
+#&gt; Dataset 8 parent 1 66.2 67.22810 -1.028104 1.884 -0.545706
+#&gt; Dataset 8 parent 3 43.5 41.46375 2.036251 1.884 1.080820
+#&gt; Dataset 8 parent 3 44.1 41.46375 2.636251 1.884 1.399293
+#&gt; Dataset 8 parent 8 18.3 19.83597 -1.535968 1.884 -0.815275
+#&gt; Dataset 8 parent 8 18.1 19.83597 -1.735968 1.884 -0.921433
+#&gt; Dataset 8 parent 14 10.2 10.34793 -0.147927 1.884 -0.078518
+#&gt; Dataset 8 parent 14 10.8 10.34793 0.452073 1.884 0.239956
+#&gt; Dataset 8 parent 27 4.9 2.67641 2.223595 1.884 1.180260
+#&gt; Dataset 8 parent 27 3.3 2.67641 0.623595 1.884 0.330997
+#&gt; Dataset 8 parent 48 1.6 0.30218 1.297822 1.884 0.688870
+#&gt; Dataset 8 parent 48 1.5 0.30218 1.197822 1.884 0.635791
+#&gt; Dataset 8 parent 70 1.1 0.03075 1.069248 1.884 0.567545
+#&gt; Dataset 8 parent 70 0.9 0.03075 0.869248 1.884 0.461388
+#&gt; Dataset 8 A1 1 9.6 7.74066 1.859342 1.884 0.986918
+#&gt; Dataset 8 A1 1 7.7 7.74066 -0.040658 1.884 -0.021581
+#&gt; Dataset 8 A1 3 15.0 15.37549 -0.375495 1.884 -0.199309
+#&gt; Dataset 8 A1 3 15.1 15.37549 -0.275495 1.884 -0.146230
+#&gt; Dataset 8 A1 8 21.2 19.95900 1.241003 1.884 0.658711
+#&gt; Dataset 8 A1 8 21.1 19.95900 1.141003 1.884 0.605632
+#&gt; Dataset 8 A1 14 19.7 19.92898 -0.228978 1.884 -0.121539
+#&gt; Dataset 8 A1 14 18.9 19.92898 -1.028978 1.884 -0.546170
+#&gt; Dataset 8 A1 27 17.5 16.34046 1.159536 1.884 0.615469
+#&gt; Dataset 8 A1 27 15.9 16.34046 -0.440464 1.884 -0.233793
+#&gt; Dataset 8 A1 48 9.5 10.12131 -0.621313 1.884 -0.329786
+#&gt; Dataset 8 A1 48 9.8 10.12131 -0.321313 1.884 -0.170550
+#&gt; Dataset 8 A1 70 6.2 5.84753 0.352469 1.884 0.187087
+#&gt; Dataset 8 A1 70 6.1 5.84753 0.252469 1.884 0.134008
+#&gt; Dataset 9 parent 0 99.8 98.23600 1.564002 1.884 0.830155
+#&gt; Dataset 9 parent 0 98.3 98.23600 0.064002 1.884 0.033972
+#&gt; Dataset 9 parent 1 77.1 79.68007 -2.580074 1.884 -1.369475
+#&gt; Dataset 9 parent 1 77.2 79.68007 -2.480074 1.884 -1.316396
+#&gt; Dataset 9 parent 3 59.0 55.81142 3.188584 1.884 1.692465
+#&gt; Dataset 9 parent 3 58.1 55.81142 2.288584 1.884 1.214755
+#&gt; Dataset 9 parent 8 27.4 31.81995 -4.419948 1.884 -2.346060
+#&gt; Dataset 9 parent 8 29.2 31.81995 -2.619948 1.884 -1.390640
+#&gt; Dataset 9 parent 14 19.1 22.78328 -3.683282 1.884 -1.955046
+#&gt; Dataset 9 parent 14 29.6 22.78328 6.816718 1.884 3.618240
+#&gt; Dataset 9 parent 27 10.1 14.15172 -4.051720 1.884 -2.150609
+#&gt; Dataset 9 parent 27 18.2 14.15172 4.048280 1.884 2.148783
+#&gt; Dataset 9 parent 48 4.5 6.86094 -2.360941 1.884 -1.253162
+#&gt; Dataset 9 parent 48 9.1 6.86094 2.239059 1.884 1.188468
+#&gt; Dataset 9 parent 70 2.3 3.21580 -0.915798 1.884 -0.486096
+#&gt; Dataset 9 parent 70 2.9 3.21580 -0.315798 1.884 -0.167622
+#&gt; Dataset 9 parent 91 2.0 1.56010 0.439897 1.884 0.233492
+#&gt; Dataset 9 parent 91 1.8 1.56010 0.239897 1.884 0.127335
+#&gt; Dataset 9 parent 120 2.0 0.57458 1.425424 1.884 0.756600
+#&gt; Dataset 9 parent 120 2.2 0.57458 1.625424 1.884 0.862757
+#&gt; Dataset 9 A1 1 4.2 4.01796 0.182037 1.884 0.096623
+#&gt; Dataset 9 A1 1 3.9 4.01796 -0.117963 1.884 -0.062613
+#&gt; Dataset 9 A1 3 7.4 9.08527 -1.685270 1.884 -0.894523
+#&gt; Dataset 9 A1 3 7.9 9.08527 -1.185270 1.884 -0.629129
+#&gt; Dataset 9 A1 8 14.5 13.75054 0.749457 1.884 0.397804
+#&gt; Dataset 9 A1 8 13.7 13.75054 -0.050543 1.884 -0.026827
+#&gt; Dataset 9 A1 14 14.2 14.91180 -0.711804 1.884 -0.377818
+#&gt; Dataset 9 A1 14 12.2 14.91180 -2.711804 1.884 -1.439396
+#&gt; Dataset 9 A1 27 13.7 14.97813 -1.278129 1.884 -0.678417
+#&gt; Dataset 9 A1 27 13.2 14.97813 -1.778129 1.884 -0.943812
+#&gt; Dataset 9 A1 48 13.6 13.75574 -0.155745 1.884 -0.082668
+#&gt; Dataset 9 A1 48 15.4 13.75574 1.644255 1.884 0.872753
+#&gt; Dataset 9 A1 70 10.4 11.92861 -1.528608 1.884 -0.811369
+#&gt; Dataset 9 A1 70 11.6 11.92861 -0.328608 1.884 -0.174422
+#&gt; Dataset 9 A1 91 10.0 10.14395 -0.143947 1.884 -0.076405
+#&gt; Dataset 9 A1 91 9.5 10.14395 -0.643947 1.884 -0.341800
+#&gt; Dataset 9 A1 120 9.1 7.93869 1.161307 1.884 0.616409
+#&gt; Dataset 9 A1 120 9.0 7.93869 1.061307 1.884 0.563330
+#&gt; Dataset 10 parent 0 96.1 93.65914 2.440862 1.884 1.295583
+#&gt; Dataset 10 parent 0 94.3 93.65914 0.640862 1.884 0.340163
+#&gt; Dataset 10 parent 8 73.9 77.83065 -3.930647 1.884 -2.086344
+#&gt; Dataset 10 parent 8 73.9 77.83065 -3.930647 1.884 -2.086344
+#&gt; Dataset 10 parent 14 69.4 70.15862 -0.758619 1.884 -0.402667
+#&gt; Dataset 10 parent 14 73.1 70.15862 2.941381 1.884 1.561253
+#&gt; Dataset 10 parent 21 65.6 64.00840 1.591600 1.884 0.844804
+#&gt; Dataset 10 parent 21 65.3 64.00840 1.291600 1.884 0.685567
+#&gt; Dataset 10 parent 41 55.9 54.71192 1.188076 1.884 0.630618
+#&gt; Dataset 10 parent 41 54.4 54.71192 -0.311924 1.884 -0.165566
+#&gt; Dataset 10 parent 63 47.0 49.66775 -2.667747 1.884 -1.416011
+#&gt; Dataset 10 parent 63 49.3 49.66775 -0.367747 1.884 -0.195196
+#&gt; Dataset 10 parent 91 44.7 45.17119 -0.471186 1.884 -0.250101
+#&gt; Dataset 10 parent 91 46.7 45.17119 1.528814 1.884 0.811478
+#&gt; Dataset 10 parent 120 42.1 41.20430 0.895699 1.884 0.475427
+#&gt; Dataset 10 parent 120 41.3 41.20430 0.095699 1.884 0.050796
+#&gt; Dataset 10 A1 8 3.3 4.00920 -0.709204 1.884 -0.376438
+#&gt; Dataset 10 A1 8 3.4 4.00920 -0.609204 1.884 -0.323359
+#&gt; Dataset 10 A1 14 3.9 5.94267 -2.042668 1.884 -1.084226
+#&gt; Dataset 10 A1 14 2.9 5.94267 -3.042668 1.884 -1.615015
+#&gt; Dataset 10 A1 21 6.4 7.48222 -1.082219 1.884 -0.574430
+#&gt; Dataset 10 A1 21 7.2 7.48222 -0.282219 1.884 -0.149799
+#&gt; Dataset 10 A1 41 9.1 9.76246 -0.662460 1.884 -0.351626
+#&gt; Dataset 10 A1 41 8.5 9.76246 -1.262460 1.884 -0.670100
+#&gt; Dataset 10 A1 63 11.7 10.93972 0.760278 1.884 0.403547
+#&gt; Dataset 10 A1 63 12.0 10.93972 1.060278 1.884 0.562784
+#&gt; Dataset 10 A1 91 13.3 11.93666 1.363337 1.884 0.723645
+#&gt; Dataset 10 A1 91 13.2 11.93666 1.263337 1.884 0.670566
+#&gt; Dataset 10 A1 120 14.3 12.78218 1.517817 1.884 0.805641
+#&gt; Dataset 10 A1 120 12.1 12.78218 -0.682183 1.884 -0.362095</div><div class='input'>
<span class='co'># The following takes about 6 minutes</span>
<span class='co'>#f_saem_dfop_sfo_deSolve &lt;- saem(f_mmkin["DFOP-SFO", ], solution_type = "deSolve",</span>
<span class='co'># control = list(nbiter.saemix = c(200, 80), nbdisplay = 10))</span>
diff --git a/docs/dev/reference/summary.nlmixr.mmkin.html b/docs/dev/reference/summary.nlmixr.mmkin.html
index 0fead0df..373ce75f 100644
--- a/docs/dev/reference/summary.nlmixr.mmkin.html
+++ b/docs/dev/reference/summary.nlmixr.mmkin.html
@@ -76,7 +76,7 @@ endpoints such as formation fractions and DT50 values. Optionally
</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.0.5</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
@@ -258,737 +258,73 @@ nlmixr authors for the parts inherited from nlmixr.</p>
quiet <span class='op'>=</span> <span class='cn'>TRUE</span>, error_model <span class='op'>=</span> <span class='st'>"tc"</span>, cores <span class='op'>=</span> <span class='fl'>5</span><span class='op'>)</span>
<span class='va'>f_saemix_dfop_sfo</span> <span class='op'>&lt;-</span> <span class='fu'>mkin</span><span class='fu'>::</span><span class='fu'><a href='saem.html'>saem</a></span><span class='op'>(</span><span class='va'>f_mmkin_dfop_sfo</span><span class='op'>)</span>
</div><div class='output co'>#&gt; Running main SAEM algorithm
-#&gt; [1] "Fri Jun 11 10:57:31 2021"
+#&gt; [1] "Tue Jul 27 16:31:43 2021"
#&gt; ....
#&gt; Minimisation finished
-#&gt; [1] "Fri Jun 11 10:57:43 2021"</div><div class='input'><span class='va'>f_nlme_dfop_sfo</span> <span class='op'>&lt;-</span> <span class='fu'>mkin</span><span class='fu'>::</span><span class='fu'><a href='https://rdrr.io/pkg/nlme/man/nlme.html'>nlme</a></span><span class='op'>(</span><span class='va'>f_mmkin_dfop_sfo</span><span class='op'>)</span>
+#&gt; [1] "Tue Jul 27 16:31:55 2021"</div><div class='input'><span class='va'>f_nlme_dfop_sfo</span> <span class='op'>&lt;-</span> <span class='fu'>mkin</span><span class='fu'>::</span><span class='fu'><a href='https://rdrr.io/pkg/nlme/man/nlme.html'>nlme</a></span><span class='op'>(</span><span class='va'>f_mmkin_dfop_sfo</span><span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='warning'>Warning: Iteration 4, LME step: nlminb() did not converge (code = 1). PORT message: false convergence (8)</span></div><div class='output co'>#&gt; <span class='warning'>Warning: Iteration 6, LME step: nlminb() did not converge (code = 1). PORT message: false convergence (8)</span></div><div class='input'><span class='va'>f_nlmixr_dfop_sfo_saem</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_dfop_sfo</span>, est <span class='op'>=</span> <span class='st'>"saem"</span><span class='op'>)</span>
-</div><div class='output co'>#&gt; <span class='message'>With est = 'saem', a different error model is required for each observed variableChanging the error model to 'obs_tc' (Two-component error for each observed variable)</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'>→ generate SAEM model</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; 1: 1.0127e+02 -3.8515e+00 -2.0719e+00 -3.7271e+00 -1.9335e+00 4.0311e-01 6.9594e+00 1.5021e-01 5.3947e-01 1.9686e-01 3.7429e-01 5.4209e-01 8.4121e+00 7.3391e-02 7.1185e+00 2.5869e-01
-#&gt; 2: 1.0136e+02 -3.8005e+00 -2.3424e+00 -4.0759e+00 -1.6475e+00 1.1598e-01 6.6115e+00 1.4406e-01 5.1249e-01 1.8701e-01 3.5786e-01 5.1499e-01 4.9102e+00 6.2829e-02 4.7230e+00 7.8901e-02
-#&gt; 3: 1.0126e+02 -4.0285e+00 -2.3629e+00 -4.1271e+00 -1.1733e+00 1.7634e-02 6.2809e+00 1.6892e-01 4.8687e-01 1.7766e-01 3.3997e-01 4.8924e-01 3.2256e+00 6.6693e-02 3.3261e+00 8.7190e-02
-#&gt; 4: 1.0105e+02 -4.0894e+00 -2.5516e+00 -4.1037e+00 -1.0816e+00 4.5377e-02 5.9668e+00 1.6048e-01 4.6252e-01 1.6878e-01 3.2297e-01 4.6478e-01 2.4343e+00 7.0557e-02 2.2610e+00 9.2498e-02
-#&gt; 5: 1.0101e+02 -4.1364e+00 -2.4605e+00 -4.0737e+00 -1.0920e+00 -4.7953e-03 5.9593e+00 1.5245e-01 4.3940e-01 1.8078e-01 3.0682e-01 5.4688e-01 1.7424e+00 7.4776e-02 1.5144e+00 1.0787e-01
-#&gt; 6: 1.0042e+02 -4.0933e+00 -2.4472e+00 -4.1090e+00 -9.7996e-01 -9.0472e-02 6.0175e+00 1.4483e-01 4.1743e-01 1.8824e-01 2.9148e-01 5.3033e-01 1.5545e+00 6.8588e-02 1.3401e+00 9.8865e-02
-#&gt; 7: 1.0078e+02 -4.0911e+00 -2.4335e+00 -4.0758e+00 -9.9422e-01 -7.8849e-02 6.6318e+00 1.3759e-01 3.9656e-01 1.7882e-01 2.7691e-01 5.0381e-01 1.3780e+00 6.9978e-02 1.1346e+00 9.6162e-02
-#&gt; 8: 1.0077e+02 -4.0196e+00 -2.4345e+00 -4.0444e+00 -9.3483e-01 -1.1032e-01 6.3002e+00 1.3071e-01 3.7673e-01 1.6988e-01 2.6306e-01 4.8191e-01 1.1774e+00 7.4232e-02 1.0270e+00 9.5616e-02
-#&gt; 9: 1.0118e+02 -4.0436e+00 -2.4649e+00 -4.0207e+00 -8.9829e-01 -1.7784e-01 5.9852e+00 1.2417e-01 3.5789e-01 1.6139e-01 2.4991e-01 5.5466e-01 1.1040e+00 7.1515e-02 1.0342e+00 9.3972e-02
-#&gt; 10: 1.0143e+02 -4.0523e+00 -2.3737e+00 -4.0184e+00 -9.1167e-01 -2.3828e-01 5.8520e+00 1.1797e-01 3.4196e-01 1.5332e-01 2.3741e-01 5.2849e-01 1.0510e+00 7.5719e-02 1.0638e+00 9.3973e-02
-#&gt; 11: 1.0119e+02 -4.0699e+00 -2.3680e+00 -4.0191e+00 -9.4858e-01 -1.7310e-01 6.9958e+00 1.1207e-01 3.6891e-01 1.4565e-01 2.2554e-01 5.0206e-01 1.0247e+00 7.5497e-02 1.0292e+00 9.3707e-02
-#&gt; 12: 1.0121e+02 -4.0189e+00 -2.4198e+00 -4.0139e+00 -9.1693e-01 -2.0613e-01 6.6460e+00 1.0646e-01 3.5046e-01 1.3837e-01 2.1427e-01 5.7696e-01 1.1046e+00 7.6090e-02 9.3689e-01 9.4115e-02
-#&gt; 13: 1.0083e+02 -4.0451e+00 -2.4395e+00 -4.0235e+00 -9.4535e-01 -1.4723e-01 6.3137e+00 1.0114e-01 3.3294e-01 1.3145e-01 2.0355e-01 5.4811e-01 1.0360e+00 7.3381e-02 9.7078e-01 9.1659e-02
-#&gt; 14: 1.0056e+02 -4.0401e+00 -2.4045e+00 -4.0054e+00 -9.4191e-01 -1.3928e-01 5.9980e+00 9.6084e-02 3.4934e-01 1.2488e-01 1.9338e-01 5.2071e-01 1.0303e+00 7.7118e-02 8.8372e-01 9.0469e-02
-#&gt; 15: 1.0070e+02 -4.0388e+00 -2.4210e+00 -4.0113e+00 -9.1136e-01 -1.2702e-01 5.6981e+00 9.1279e-02 3.3187e-01 1.1864e-01 1.8371e-01 4.9467e-01 1.0486e+00 7.2427e-02 7.8179e-01 9.1572e-02
-#&gt; 16: 1.0078e+02 -4.0175e+00 -2.4766e+00 -4.0191e+00 -9.0733e-01 -1.1952e-01 5.4132e+00 8.6716e-02 3.1528e-01 1.1270e-01 1.7452e-01 4.8928e-01 9.7799e-01 8.1464e-02 8.2935e-01 8.6520e-02
-#&gt; 17: 1.0069e+02 -4.0533e+00 -2.5110e+00 -4.0294e+00 -9.1841e-01 -6.8363e-03 5.1426e+00 8.2380e-02 2.9952e-01 1.0707e-01 1.6580e-01 4.6482e-01 9.1609e-01 8.1008e-02 8.1783e-01 8.8818e-02
-#&gt; 18: 99.9647 -4.0672 -2.5327 -4.0416 -0.9273 0.0097 4.8854 0.0783 0.2970 0.1280 0.1941 0.5053 0.9306 0.0764 0.8097 0.0881
-#&gt; 19: 1.0027e+02 -4.0667e+00 -2.4653e+00 -4.0579e+00 -9.2776e-01 3.0417e-02 4.6412e+00 7.4348e-02 3.3694e-01 1.2164e-01 1.8435e-01 5.1797e-01 9.7386e-01 7.4954e-02 7.9297e-01 8.9915e-02
-#&gt; 20: 1.0006e+02 -4.0935e+00 -2.4804e+00 -4.0721e+00 -9.3737e-01 1.9496e-02 4.4091e+00 7.0630e-02 3.3728e-01 1.2544e-01 1.7513e-01 6.0925e-01 1.0232e+00 7.4618e-02 7.9988e-01 8.9642e-02
-#&gt; 21: 1.0043e+02 -4.0542e+00 -2.5168e+00 -4.0623e+00 -9.1553e-01 3.9474e-02 4.1887e+00 6.7099e-02 3.4553e-01 1.1917e-01 1.6638e-01 6.0827e-01 1.0155e+00 8.0771e-02 7.8424e-01 8.6213e-02
-#&gt; 22: 1.0049e+02 -4.0449e+00 -2.5082e+00 -4.0849e+00 -9.2553e-01 4.5424e-02 3.9792e+00 6.3744e-02 3.2825e-01 1.2365e-01 1.5806e-01 5.8922e-01 8.2860e-01 8.3384e-02 8.2525e-01 8.9218e-02
-#&gt; 23: 1.0067e+02 -4.0411e+00 -2.5460e+00 -4.0736e+00 -9.2578e-01 5.2422e-02 3.7803e+00 6.0557e-02 3.1661e-01 1.2306e-01 1.5016e-01 5.8274e-01 9.3412e-01 8.0508e-02 8.1829e-01 8.6377e-02
-#&gt; 24: 1.0091e+02 -4.0314e+00 -2.5298e+00 -4.0566e+00 -8.9743e-01 3.7634e-02 3.5913e+00 5.7529e-02 3.5267e-01 1.2194e-01 1.4265e-01 5.5360e-01 9.6271e-01 7.6960e-02 8.8466e-01 8.5693e-02
-#&gt; 25: 1.0100e+02 -4.0442e+00 -2.5399e+00 -4.0568e+00 -8.9494e-01 1.7415e-02 3.4117e+00 5.4652e-02 3.3504e-01 1.2781e-01 1.3552e-01 5.2592e-01 9.6040e-01 7.7299e-02 8.9561e-01 8.6893e-02
-#&gt; 26: 1.0111e+02 -4.0354e+00 -2.5182e+00 -4.0899e+00 -9.0799e-01 7.6464e-02 4.8614e+00 5.1920e-02 3.1829e-01 1.2142e-01 1.3110e-01 4.9963e-01 9.6997e-01 7.4932e-02 8.2521e-01 9.3659e-02
-#&gt; 27: 1.0159e+02 -4.0653e+00 -2.4934e+00 -4.0803e+00 -9.5632e-01 2.8659e-03 4.6184e+00 4.9324e-02 3.0237e-01 1.1535e-01 1.4743e-01 4.7465e-01 9.4314e-01 7.7860e-02 8.9820e-01 8.8210e-02
-#&gt; 28: 1.0154e+02 -4.0487e+00 -2.4844e+00 -4.0511e+00 -9.6473e-01 -4.7382e-02 4.3874e+00 4.6858e-02 3.2049e-01 1.0958e-01 1.5243e-01 4.5091e-01 9.8808e-01 7.4786e-02 8.6833e-01 8.8720e-02
-#&gt; 29: 1.0144e+02 -4.0414e+00 -2.4105e+00 -4.0504e+00 -9.4039e-01 -3.6753e-02 4.1681e+00 4.4515e-02 3.2754e-01 1.0410e-01 1.4940e-01 4.2837e-01 9.5520e-01 7.8507e-02 8.2408e-01 8.5998e-02
-#&gt; 30: 1.0137e+02 -4.0292e+00 -2.4174e+00 -4.0382e+00 -9.3180e-01 -7.1482e-02 5.4636e+00 4.2289e-02 3.2074e-01 9.8896e-02 1.6877e-01 4.0695e-01 8.8153e-01 7.5106e-02 8.5239e-01 8.8266e-02
-#&gt; 31: 1.0105e+02 -4.0387e+00 -2.4368e+00 -4.0346e+00 -9.1098e-01 -5.4730e-02 5.1904e+00 4.0175e-02 3.0470e-01 9.3951e-02 1.6034e-01 3.8660e-01 8.7853e-01 8.0278e-02 8.7981e-01 8.6404e-02
-#&gt; 32: 1.0147e+02 -4.0435e+00 -2.4530e+00 -4.0365e+00 -9.1241e-01 -7.1281e-02 4.9309e+00 3.8166e-02 2.8947e-01 9.4694e-02 1.7475e-01 3.6727e-01 8.7005e-01 8.1398e-02 8.7784e-01 8.8976e-02
-#&gt; 33: 1.0144e+02 -4.0092e+00 -2.4279e+00 -4.0090e+00 -8.8656e-01 -1.4017e-01 5.2945e+00 3.6258e-02 2.9770e-01 1.0169e-01 1.6601e-01 3.4891e-01 9.2202e-01 7.8841e-02 8.7551e-01 8.4011e-02
-#&gt; 34: 1.0157e+02 -3.9839e+00 -2.4469e+00 -4.0180e+00 -8.3877e-01 -1.4664e-01 6.3506e+00 3.4445e-02 2.8282e-01 1.0831e-01 1.6850e-01 3.3146e-01 8.4403e-01 7.9056e-02 8.4620e-01 8.6363e-02
-#&gt; 35: 1.0149e+02 -3.9928e+00 -2.4771e+00 -4.0106e+00 -8.6974e-01 -1.4219e-01 6.2039e+00 3.2722e-02 2.8123e-01 1.1283e-01 1.6008e-01 3.1489e-01 9.1308e-01 7.8685e-02 7.8939e-01 8.7289e-02
-#&gt; 36: 1.0162e+02 -4.0099e+00 -2.4822e+00 -3.9880e+00 -8.7959e-01 -1.3237e-01 5.8937e+00 3.1086e-02 3.2200e-01 1.0719e-01 1.6077e-01 2.9914e-01 9.0821e-01 8.4066e-02 7.5559e-01 8.4838e-02
-#&gt; 37: 1.0102e+02 -3.9962e+00 -2.4852e+00 -3.9954e+00 -8.8307e-01 -9.2070e-02 5.5991e+00 2.9532e-02 3.3713e-01 1.0183e-01 1.5333e-01 2.8419e-01 8.3918e-01 8.5231e-02 7.6007e-01 8.9541e-02
-#&gt; 38: 1.0102e+02 -3.9987e+00 -2.5129e+00 -3.9833e+00 -8.7454e-01 -1.6469e-01 5.3191e+00 2.8055e-02 3.2027e-01 1.0792e-01 1.4707e-01 2.6998e-01 9.1490e-01 8.4715e-02 7.6778e-01 8.9241e-02
-#&gt; 39: 1.0054e+02 -3.9875e+00 -2.4301e+00 -3.9797e+00 -8.7222e-01 -1.9597e-01 7.3800e+00 2.6653e-02 3.0426e-01 1.0801e-01 1.4393e-01 2.5648e-01 9.5901e-01 7.8320e-02 8.1559e-01 9.2429e-02
-#&gt; 40: 1.0077e+02 -4.0057e+00 -2.4630e+00 -3.9849e+00 -8.6788e-01 -1.9606e-01 7.0110e+00 2.5320e-02 3.0385e-01 1.3164e-01 1.4567e-01 3.0284e-01 9.7123e-01 7.6328e-02 8.3681e-01 8.9349e-02
-#&gt; 41: 1.0069e+02 -4.0143e+00 -2.3805e+00 -3.9962e+00 -8.7503e-01 -1.8532e-01 6.6604e+00 2.4054e-02 3.0707e-01 1.4668e-01 1.5021e-01 3.0404e-01 1.0072e+00 7.3629e-02 9.4494e-01 8.4745e-02
-#&gt; 42: 1.0073e+02 -3.9861e+00 -2.4464e+00 -3.9919e+00 -8.7912e-01 -1.8435e-01 6.3274e+00 2.2851e-02 2.9171e-01 1.3935e-01 1.5080e-01 2.8883e-01 9.6502e-01 7.7470e-02 9.4221e-01 8.2459e-02
-#&gt; 43: 1.0104e+02 -3.9881e+00 -2.4156e+00 -3.9688e+00 -8.9448e-01 -2.3739e-01 6.0110e+00 2.1709e-02 2.7713e-01 1.3238e-01 1.5603e-01 2.7439e-01 9.7714e-01 7.1720e-02 8.5890e-01 8.6635e-02
-#&gt; 44: 1.0084e+02 -4.0117e+00 -2.4455e+00 -3.9753e+00 -8.8716e-01 -2.0112e-01 5.7105e+00 2.0623e-02 2.6327e-01 1.2741e-01 1.5200e-01 2.6067e-01 9.3289e-01 8.0543e-02 8.5055e-01 8.2921e-02
-#&gt; 45: 1.0071e+02 -3.9996e+00 -2.4359e+00 -3.9764e+00 -9.1082e-01 -2.4578e-01 5.4250e+00 1.9592e-02 2.5011e-01 1.3254e-01 1.6132e-01 2.8273e-01 9.5805e-01 7.7734e-02 7.8171e-01 8.4571e-02
-#&gt; 46: 1.0018e+02 -4.0077e+00 -2.4835e+00 -3.9739e+00 -8.6079e-01 -1.6592e-01 5.1537e+00 1.8613e-02 2.3760e-01 1.3830e-01 1.5392e-01 3.0295e-01 1.0931e+00 7.3274e-02 8.9544e-01 8.8388e-02
-#&gt; 47: 99.9834 -3.9991 -2.5292 -3.9863 -0.8820 -0.0796 4.8960 0.0177 0.2348 0.1376 0.1639 0.2878 0.9864 0.0837 0.9094 0.0832
-#&gt; 48: 99.9155 -4.0224 -2.5422 -3.9854 -0.8719 -0.0750 4.6512 0.0184 0.2251 0.1307 0.1596 0.2734 0.9841 0.0835 0.8696 0.0843
-#&gt; 49: 99.6136 -4.0397 -2.5172 -4.0115 -0.8774 -0.0922 5.2402 0.0175 0.2558 0.1242 0.1551 0.2597 0.9060 0.0816 0.8365 0.0869
-#&gt; 50: 99.4747 -4.0542 -2.4192 -3.9834 -0.9041 -0.1798 4.9782 0.0219 0.2695 0.1234 0.1474 0.2468 0.9269 0.0783 0.8593 0.0854
-#&gt; 51: 99.3401 -4.0386 -2.3951 -3.9661 -0.9181 -0.1887 4.7574 0.0213 0.2746 0.1522 0.1400 0.2344 0.9901 0.0781 0.8863 0.0928
-#&gt; 52: 99.7109 -4.0509 -2.4227 -3.9770 -0.9247 -0.1431 4.9004 0.0203 0.2688 0.1446 0.1330 0.2227 0.8999 0.0791 1.0265 0.0890
-#&gt; 53: 99.6496 -4.0397 -2.4398 -3.9752 -0.9193 -0.2119 5.1106 0.0193 0.2795 0.1527 0.1325 0.2116 0.8949 0.0788 0.9447 0.0872
-#&gt; 54: 99.9071 -4.0211 -2.3887 -3.9812 -0.9233 -0.1946 5.0887 0.0183 0.2763 0.1450 0.1365 0.2010 0.8793 0.0875 0.8643 0.0903
-#&gt; 55: 1.0012e+02 -4.0401e+00 -2.4203e+00 -3.9511e+00 -9.0712e-01 -2.5566e-01 5.7301e+00 1.7375e-02 2.7324e-01 1.3780e-01 1.6204e-01 1.9094e-01 9.7803e-01 7.6146e-02 9.0756e-01 8.7636e-02
-#&gt; 56: 1.0032e+02 -4.0207e+00 -2.4263e+00 -3.9533e+00 -8.7574e-01 -2.3076e-01 6.5321e+00 1.6507e-02 3.0821e-01 1.3091e-01 1.5394e-01 1.8139e-01 8.8520e-01 7.6350e-02 9.2796e-01 8.5283e-02
-#&gt; 57: 1.0028e+02 -4.0037e+00 -2.4301e+00 -3.9655e+00 -8.8472e-01 -1.8969e-01 9.8969e+00 1.5681e-02 2.9280e-01 1.2436e-01 1.4624e-01 1.7232e-01 9.2902e-01 7.4974e-02 8.9204e-01 8.4563e-02
-#&gt; 58: 1.0048e+02 -3.9928e+00 -2.4961e+00 -3.9709e+00 -9.0263e-01 -1.4516e-01 9.4021e+00 1.6151e-02 2.7816e-01 1.1814e-01 1.4165e-01 1.6370e-01 9.5145e-01 8.0233e-02 8.2896e-01 8.3498e-02
-#&gt; 59: 1.0060e+02 -4.0181e+00 -2.4963e+00 -3.9751e+00 -9.0684e-01 -1.1186e-01 8.9320e+00 1.9914e-02 3.0097e-01 1.1224e-01 1.4109e-01 1.5552e-01 9.9121e-01 7.3120e-02 8.6454e-01 8.2239e-02
-#&gt; 60: 1.0047e+02 -3.9976e+00 -2.4797e+00 -3.9780e+00 -8.9328e-01 -1.0814e-01 8.4854e+00 1.8918e-02 3.2275e-01 1.1591e-01 1.3404e-01 1.4774e-01 9.6968e-01 7.4984e-02 8.9831e-01 8.1655e-02
-#&gt; 61: 1.0040e+02 -4.0068e+00 -2.5217e+00 -3.9844e+00 -8.6447e-01 -1.0567e-01 8.0611e+00 1.7972e-02 3.1372e-01 1.1011e-01 1.2973e-01 1.4036e-01 9.1698e-01 7.8118e-02 9.1811e-01 8.4420e-02
-#&gt; 62: 1.0076e+02 -4.0080e+00 -2.4931e+00 -3.9623e+00 -8.9789e-01 -8.3896e-02 7.6580e+00 1.7073e-02 3.0460e-01 1.1254e-01 1.2324e-01 1.3334e-01 9.9032e-01 7.7618e-02 8.3808e-01 8.5031e-02
-#&gt; 63: 1.0064e+02 -4.0129e+00 -2.4731e+00 -3.9561e+00 -8.9103e-01 -8.8987e-02 7.2751e+00 1.6220e-02 2.8944e-01 1.1647e-01 1.4845e-01 1.2667e-01 1.0745e+00 7.6375e-02 8.4316e-01 8.6681e-02
-#&gt; 64: 1.0098e+02 -4.0094e+00 -2.4541e+00 -3.9604e+00 -9.1524e-01 -9.3413e-02 6.9114e+00 1.5409e-02 2.7497e-01 1.2065e-01 1.7095e-01 1.2034e-01 1.0963e+00 7.8304e-02 8.7104e-01 8.5727e-02
-#&gt; 65: 1.0070e+02 -4.0433e+00 -2.4793e+00 -3.9722e+00 -9.3012e-01 -6.5917e-02 6.5658e+00 1.4638e-02 2.7040e-01 1.1462e-01 1.9067e-01 1.1432e-01 9.7444e-01 8.4510e-02 8.7028e-01 8.6292e-02
-#&gt; 66: 1.0049e+02 -4.0656e+00 -2.4659e+00 -3.9898e+00 -9.4278e-01 -7.5929e-02 6.2375e+00 1.3906e-02 2.9347e-01 1.1997e-01 1.8114e-01 1.0860e-01 9.9830e-01 8.0902e-02 9.3551e-01 8.5261e-02
-#&gt; 67: 1.0046e+02 -4.0477e+00 -2.4685e+00 -3.9907e+00 -9.1503e-01 -9.8019e-02 5.9256e+00 1.3211e-02 3.2166e-01 1.1506e-01 1.7208e-01 1.0317e-01 8.6453e-01 9.0533e-02 8.3598e-01 8.6343e-02
-#&gt; 68: 1.0077e+02 -4.0575e+00 -2.4709e+00 -3.9523e+00 -9.2903e-01 -8.1099e-02 5.6294e+00 1.2818e-02 3.1005e-01 1.3665e-01 1.6347e-01 9.8015e-02 9.0181e-01 8.7058e-02 8.4937e-01 8.3248e-02
-#&gt; 69: 1.0086e+02 -4.0626e+00 -2.3922e+00 -3.9557e+00 -9.6741e-01 -3.5986e-02 5.3479e+00 1.2844e-02 3.3024e-01 1.2982e-01 1.5530e-01 9.3115e-02 9.8180e-01 8.3132e-02 8.6549e-01 8.8939e-02
-#&gt; 70: 1.0082e+02 -4.0640e+00 -2.4449e+00 -3.9787e+00 -9.5159e-01 -3.2904e-02 5.0805e+00 1.4346e-02 3.1373e-01 1.2333e-01 1.4754e-01 8.8459e-02 1.0129e+00 7.4856e-02 8.6688e-01 8.4769e-02
-#&gt; 71: 1.0072e+02 -4.0642e+00 -2.5069e+00 -3.9493e+00 -9.3453e-01 -4.4116e-02 4.8265e+00 1.3628e-02 3.0428e-01 1.2122e-01 1.4091e-01 8.4036e-02 1.0454e+00 7.7023e-02 8.9566e-01 8.1639e-02
-#&gt; 72: 1.0049e+02 -4.0609e+00 -2.4472e+00 -3.9669e+00 -9.3972e-01 -7.7498e-02 4.5852e+00 1.4441e-02 3.2552e-01 1.3911e-01 1.4144e-01 8.1899e-02 1.0114e+00 7.7019e-02 8.2312e-01 8.2494e-02
-#&gt; 73: 1.0022e+02 -4.0598e+00 -2.4410e+00 -3.9952e+00 -9.2810e-01 -1.1309e-01 4.3559e+00 1.3719e-02 3.3556e-01 1.3303e-01 1.4990e-01 1.1303e-01 9.6726e-01 7.6776e-02 8.6331e-01 8.3048e-02
-#&gt; 74: 1.0024e+02 -4.0628e+00 -2.4358e+00 -3.9977e+00 -9.1347e-01 -9.1966e-02 4.1381e+00 1.3033e-02 3.4332e-01 1.3418e-01 1.8099e-01 1.0738e-01 1.0158e+00 7.4697e-02 8.6366e-01 8.4370e-02
-#&gt; 75: 99.7847 -4.0500 -2.4401 -4.0018 -0.9252 -0.1013 4.4651 0.0124 0.3365 0.1399 0.1817 0.1020 1.0278 0.0779 0.9008 0.0841
-#&gt; 76: 99.9526 -4.0482 -2.4819 -3.9947 -0.9049 -0.0557 4.2419 0.0126 0.3248 0.1494 0.1726 0.1135 1.0493 0.0778 0.9341 0.0804
-#&gt; 77: 99.9982 -4.0184 -2.4951 -4.0043 -0.8927 -0.0688 5.2538 0.0120 0.3696 0.1419 0.1817 0.1078 1.0402 0.0839 0.9605 0.0848
-#&gt; 78: 1.0007e+02 -4.0210e+00 -2.4725e+00 -4.0040e+00 -8.9827e-01 2.3164e-03 6.4464e+00 1.1395e-02 3.7410e-01 1.3481e-01 2.0294e-01 1.0879e-01 9.7822e-01 8.7445e-02 9.9990e-01 8.2845e-02
-#&gt; 79: 99.3513 -4.0171 -2.5065 -4.0078 -0.8962 -0.0029 7.7527 0.0108 0.3554 0.1281 0.1928 0.1069 1.0455 0.0866 0.9982 0.0870
-#&gt; 80: 98.9945 -4.0172 -2.5412 -4.0341 -0.8891 -0.0187 9.8218 0.0103 0.3376 0.1217 0.1831 0.1457 0.9733 0.0894 1.0164 0.0832
-#&gt; 81: 99.0936 -4.0275 -2.5134 -4.0127 -0.8552 -0.0614 12.1567 0.0098 0.3494 0.1156 0.1740 0.1384 0.9509 0.0843 1.0171 0.0855
-#&gt; 82: 99.2481 -3.9996 -2.4945 -4.0011 -0.8914 -0.0492 11.5489 0.0128 0.3792 0.1098 0.1653 0.1315 0.9915 0.0818 1.0405 0.0928
-#&gt; 83: 99.6941 -3.9998 -2.4851 -3.9845 -0.8802 -0.0560 10.9714 0.0146 0.3602 0.1043 0.1570 0.1249 0.9934 0.0852 0.9707 0.0866
-#&gt; 84: 99.2185 -3.9920 -2.4843 -4.0051 -0.8546 -0.0642 10.4228 0.0153 0.3422 0.0991 0.1492 0.1187 0.9923 0.0833 0.9799 0.0873
-#&gt; 85: 98.8470 -3.9956 -2.4652 -4.0201 -0.8483 -0.0414 9.9017 0.0146 0.3251 0.0941 0.1417 0.1128 0.9732 0.0901 0.9035 0.0858
-#&gt; 86: 98.5012 -3.9841 -2.5148 -4.0250 -0.8408 -0.0551 9.4066 0.0148 0.3088 0.0962 0.1346 0.1071 0.8570 0.0932 0.8532 0.0896
-#&gt; 87: 99.0868 -4.0055 -2.5058 -4.0249 -0.8522 -0.0311 10.3528 0.0175 0.2934 0.1013 0.1411 0.1018 0.8802 0.0838 0.8849 0.0862
-#&gt; 88: 99.5158 -4.0031 -2.4437 -3.9866 -0.8894 -0.0963 9.9832 0.0167 0.3049 0.1030 0.1447 0.0967 0.9955 0.0834 0.8861 0.0893
-#&gt; 89: 99.5538 -4.0347 -2.4494 -4.0213 -0.8695 -0.0494 9.4841 0.0158 0.2897 0.0978 0.1543 0.0918 0.8597 0.0904 0.8959 0.0880
-#&gt; 90: 99.4422 -4.0453 -2.4398 -4.0114 -0.9279 -0.0745 9.8221 0.0150 0.2842 0.0929 0.1466 0.0944 0.9009 0.0871 0.8696 0.0924
-#&gt; 91: 98.8721 -4.0328 -2.4996 -4.0041 -0.8832 -0.0689 9.3310 0.0143 0.2700 0.0896 0.1444 0.1137 0.9567 0.0904 0.8680 0.0891
-#&gt; 92: 99.8390 -4.0418 -2.4914 -4.0182 -0.9279 -0.0460 10.9801 0.0136 0.2585 0.0949 0.1461 0.1210 1.0043 0.0908 0.8310 0.0939
-#&gt; 93: 1.0029e+02 -4.0313e+00 -2.4620e+00 -4.0187e+00 -8.9083e-01 -1.0908e-01 1.0431e+01 1.2890e-02 2.4559e-01 9.5757e-02 1.3878e-01 1.1565e-01 9.9174e-01 9.0056e-02 8.9538e-01 8.8925e-02
-#&gt; 94: 99.3285 -4.0295 -2.4523 -4.0235 -0.8828 -0.1190 10.9003 0.0137 0.2333 0.0915 0.1318 0.1212 1.0729 0.0779 0.9543 0.0907
-#&gt; 95: 99.4117 -4.0422 -2.3807 -4.0870 -0.8960 -0.0889 10.3553 0.0130 0.2216 0.0870 0.1253 0.1366 0.9127 0.0864 0.8901 0.0911
-#&gt; 96: 99.3348 -4.0401 -2.4009 -4.0698 -0.8730 -0.0622 9.8375 0.0123 0.2106 0.0826 0.1241 0.1297 0.8504 0.0836 0.9140 0.0881
-#&gt; 97: 99.4898 -4.0419 -2.4310 -4.0589 -0.8932 -0.0634 9.3456 0.0132 0.2000 0.0785 0.1224 0.1233 0.8770 0.0836 0.8715 0.0837
-#&gt; 98: 99.3750 -4.0704 -2.4353 -4.0616 -0.9333 -0.0846 8.8783 0.0136 0.1900 0.0746 0.1245 0.1171 0.8907 0.0838 0.9066 0.0832
-#&gt; 99: 99.6234 -4.0366 -2.3740 -4.0657 -0.9242 -0.0675 8.4344 0.0129 0.1805 0.0708 0.1182 0.1112 0.8814 0.0808 0.9511 0.0863
-#&gt; 100: 1.0025e+02 -4.0420e+00 -2.3557e+00 -4.0579e+00 -9.5051e-01 -6.3418e-02 8.0319e+00 1.2286e-02 1.7150e-01 6.7291e-02 1.1232e-01 1.0568e-01 8.5851e-01 8.7881e-02 8.9363e-01 8.5897e-02
-#&gt; 101: 1.0041e+02 -4.0461e+00 -2.3840e+00 -4.0384e+00 -9.3752e-01 -7.7594e-02 9.5649e+00 1.1672e-02 1.7509e-01 6.3926e-02 1.2760e-01 1.0039e-01 8.6733e-01 8.2748e-02 9.6277e-01 8.4274e-02
-#&gt; 102: 1.0095e+02 -4.0372e+00 -2.3633e+00 -4.0286e+00 -9.1961e-01 -6.5350e-02 1.1428e+01 1.1088e-02 1.8557e-01 6.0730e-02 1.3211e-01 9.5374e-02 9.3928e-01 8.0161e-02 9.7913e-01 8.4081e-02
-#&gt; 103: 1.0019e+02 -4.0236e+00 -2.4105e+00 -4.0337e+00 -9.1362e-01 -7.3859e-02 1.0856e+01 1.0534e-02 1.7629e-01 5.7693e-02 1.2695e-01 9.1362e-02 9.8491e-01 8.1430e-02 9.7682e-01 8.2250e-02
-#&gt; 104: 99.7755 -4.0280 -2.4452 -4.0197 -0.9112 -0.0810 11.0317 0.0100 0.1796 0.0548 0.1301 0.0868 0.9418 0.0816 0.9170 0.0806
-#&gt; 105: 1.0010e+02 -4.0418e+00 -2.4294e+00 -4.0225e+00 -9.1111e-01 -8.9920e-02 1.0480e+01 9.5070e-03 1.7060e-01 5.2068e-02 1.3987e-01 8.2454e-02 9.1944e-01 7.8110e-02 8.9266e-01 8.7228e-02
-#&gt; 106: 1.0025e+02 -4.0507e+00 -2.4134e+00 -4.0343e+00 -9.0244e-01 -8.4683e-02 1.3506e+01 9.0316e-03 1.6207e-01 4.9465e-02 1.5337e-01 7.8331e-02 9.9609e-01 8.4473e-02 8.7046e-01 8.5479e-02
-#&gt; 107: 1.0014e+02 -4.0468e+00 -2.3972e+00 -4.0196e+00 -9.3650e-01 -2.4087e-02 1.2830e+01 8.5801e-03 1.6027e-01 4.6992e-02 1.5429e-01 8.2493e-02 9.8959e-01 8.2626e-02 8.3427e-01 8.8197e-02
-#&gt; 108: 1.0114e+02 -4.0338e+00 -2.4307e+00 -4.0724e+00 -9.1363e-01 1.1952e-02 1.2189e+01 8.1511e-03 1.5563e-01 4.4854e-02 1.7315e-01 7.8368e-02 9.8589e-01 7.8130e-02 9.0460e-01 8.2870e-02
-#&gt; 109: 1.0066e+02 -4.0550e+00 -2.4094e+00 -4.0641e+00 -9.0945e-01 -1.5401e-03 1.3149e+01 7.7435e-03 1.4785e-01 4.2612e-02 1.7232e-01 7.4450e-02 1.0942e+00 7.4816e-02 9.1706e-01 8.5333e-02
-#&gt; 110: 1.0111e+02 -4.0266e+00 -2.4047e+00 -4.0646e+00 -9.0541e-01 -1.7212e-02 1.2492e+01 7.3563e-03 1.4046e-01 4.0481e-02 1.8132e-01 7.0727e-02 1.0508e+00 7.9457e-02 9.8990e-01 8.2975e-02
-#&gt; 111: 1.0155e+02 -4.0274e+00 -2.3645e+00 -4.0663e+00 -9.4902e-01 -1.8882e-02 1.1867e+01 8.7757e-03 1.4436e-01 3.8457e-02 1.7225e-01 6.7191e-02 1.0217e+00 7.7437e-02 9.9196e-01 8.1580e-02
-#&gt; 112: 1.0209e+02 -4.0230e+00 -2.3938e+00 -4.0375e+00 -9.5447e-01 -5.0888e-02 1.4321e+01 8.3370e-03 1.4863e-01 3.6534e-02 1.6778e-01 8.2186e-02 9.3085e-01 8.3291e-02 9.8775e-01 7.9492e-02
-#&gt; 113: 1.0188e+02 -4.0173e+00 -2.3804e+00 -4.0403e+00 -9.6152e-01 -7.7453e-02 1.3605e+01 7.9201e-03 1.5060e-01 3.4708e-02 1.7341e-01 8.4506e-02 9.0783e-01 8.7383e-02 9.4854e-01 8.2648e-02
-#&gt; 114: 1.0239e+02 -4.0081e+00 -2.3724e+00 -4.0332e+00 -9.4315e-01 -7.4933e-02 1.2925e+01 7.5241e-03 1.4307e-01 3.2972e-02 1.6695e-01 8.0281e-02 9.2775e-01 8.4314e-02 9.6195e-01 7.9448e-02
-#&gt; 115: 1.0199e+02 -4.0127e+00 -2.3773e+00 -4.0472e+00 -9.5157e-01 -2.0947e-02 1.2279e+01 7.4483e-03 1.3592e-01 3.1324e-02 1.6705e-01 7.6267e-02 9.4956e-01 7.6989e-02 1.0340e+00 8.5564e-02
-#&gt; 116: 1.0122e+02 -4.0264e+00 -2.4014e+00 -4.0509e+00 -9.1462e-01 -2.3511e-02 1.1665e+01 7.0759e-03 1.2912e-01 2.9757e-02 1.5870e-01 7.2453e-02 9.3580e-01 8.2952e-02 9.3341e-01 8.3302e-02
-#&gt; 117: 1.0112e+02 -4.0326e+00 -2.4093e+00 -4.0559e+00 -8.9743e-01 -2.0572e-02 1.1082e+01 6.7221e-03 1.2266e-01 2.8269e-02 1.5339e-01 6.8831e-02 9.0879e-01 8.4441e-02 9.1432e-01 8.0538e-02
-#&gt; 118: 1.0123e+02 -4.0411e+00 -2.4077e+00 -4.0556e+00 -9.2971e-01 -2.1885e-02 1.0528e+01 6.3860e-03 1.1653e-01 3.3123e-02 1.6947e-01 6.5389e-02 9.7140e-01 8.6671e-02 8.9874e-01 8.1670e-02
-#&gt; 119: 1.0098e+02 -4.0538e+00 -2.3515e+00 -4.0607e+00 -9.5433e-01 -7.5743e-02 1.0001e+01 6.0667e-03 1.1070e-01 3.1467e-02 1.8338e-01 6.2120e-02 9.1537e-01 8.4827e-02 9.2420e-01 8.2769e-02
-#&gt; 120: 1.0076e+02 -4.0573e+00 -2.3627e+00 -4.0329e+00 -9.3251e-01 -6.7669e-02 9.5011e+00 5.7634e-03 1.0517e-01 3.2868e-02 1.7422e-01 6.6096e-02 9.5247e-01 8.5343e-02 9.4678e-01 8.5335e-02
-#&gt; 121: 1.0085e+02 -4.0450e+00 -2.3478e+00 -4.0692e+00 -9.2333e-01 -9.8005e-03 9.0261e+00 5.4752e-03 9.9911e-02 3.1225e-02 1.6550e-01 7.1593e-02 8.5572e-01 8.8654e-02 1.0248e+00 8.0646e-02
-#&gt; 122: 1.0164e+02 -4.0325e+00 -2.3562e+00 -4.0680e+00 -9.4287e-01 -1.2103e-02 8.5748e+00 5.3493e-03 9.4915e-02 2.9663e-02 1.6347e-01 6.8014e-02 8.4872e-01 8.6803e-02 1.0282e+00 8.0381e-02
-#&gt; 123: 1.0184e+02 -4.0521e+00 -2.3504e+00 -4.0714e+00 -9.5966e-01 -9.1996e-05 8.1460e+00 5.0818e-03 9.8247e-02 3.0007e-02 1.7746e-01 6.4613e-02 9.7181e-01 8.0986e-02 9.8860e-01 8.0317e-02
-#&gt; 124: 1.0235e+02 -4.0674e+00 -2.3315e+00 -4.0874e+00 -9.9802e-01 3.8818e-02 7.7387e+00 4.8277e-03 9.3335e-02 2.8506e-02 1.7611e-01 6.8940e-02 9.7376e-01 7.6658e-02 9.9156e-01 8.4407e-02
-#&gt; 125: 1.0257e+02 -4.0718e+00 -2.3604e+00 -4.0627e+00 -1.0591e+00 2.4685e-02 7.3518e+00 4.5863e-03 8.8668e-02 3.0650e-02 1.8671e-01 6.5493e-02 1.0275e+00 8.2278e-02 1.0896e+00 8.0976e-02
-#&gt; 126: 1.0287e+02 -4.0691e+00 -2.3103e+00 -4.0552e+00 -1.0174e+00 2.1863e-02 7.5644e+00 4.3570e-03 1.0937e-01 2.9117e-02 1.7738e-01 6.2218e-02 9.2668e-01 7.9560e-02 9.5409e-01 8.4671e-02
-#&gt; 127: 1.0327e+02 -4.0528e+00 -2.3141e+00 -4.0522e+00 -1.0108e+00 4.4779e-03 7.1862e+00 4.1392e-03 1.2239e-01 2.7661e-02 1.6925e-01 5.9107e-02 9.1372e-01 7.9536e-02 9.9164e-01 8.2999e-02
-#&gt; 128: 1.0352e+02 -4.0496e+00 -2.2880e+00 -4.0496e+00 -1.0063e+00 -1.3248e-02 7.6721e+00 3.9613e-03 1.1627e-01 2.6278e-02 1.7517e-01 8.0231e-02 8.4407e-01 8.5078e-02 9.4382e-01 8.7530e-02
-#&gt; 129: 1.0345e+02 -4.0715e+00 -2.3090e+00 -4.0400e+00 -1.0276e+00 -1.8301e-02 8.2197e+00 3.7633e-03 1.1046e-01 2.7141e-02 1.9366e-01 7.6220e-02 9.3357e-01 8.2674e-02 9.7064e-01 8.6011e-02
-#&gt; 130: 1.0245e+02 -4.0787e+00 -2.3263e+00 -4.0106e+00 -1.0200e+00 -8.5976e-02 7.8087e+00 4.0830e-03 1.3607e-01 2.6631e-02 2.2700e-01 7.2409e-02 9.8233e-01 7.9348e-02 9.6780e-01 8.2658e-02
-#&gt; 131: 1.0217e+02 -4.0760e+00 -2.2525e+00 -4.0082e+00 -1.0099e+00 -1.6111e-01 7.4183e+00 3.8789e-03 1.3972e-01 2.5299e-02 2.2508e-01 6.8788e-02 1.0066e+00 7.8692e-02 9.4684e-01 8.4349e-02
-#&gt; 132: 1.0185e+02 -4.0792e+00 -2.2309e+00 -3.9996e+00 -9.8302e-01 -2.2504e-01 7.0474e+00 4.0356e-03 1.3743e-01 2.4034e-02 2.1383e-01 7.7346e-02 9.4225e-01 7.9110e-02 9.5160e-01 8.4398e-02
-#&gt; 133: 1.0135e+02 -4.0818e+00 -2.2219e+00 -4.0054e+00 -9.7264e-01 -1.8912e-01 7.1932e+00 3.8338e-03 1.3056e-01 2.2833e-02 2.0314e-01 7.6769e-02 1.0031e+00 8.5400e-02 1.0034e+00 8.4805e-02
-#&gt; 134: 1.0148e+02 -4.0782e+00 -2.2492e+00 -3.9886e+00 -9.5184e-01 -1.5049e-01 6.8336e+00 3.6422e-03 1.2403e-01 2.3398e-02 1.9298e-01 7.2931e-02 9.3696e-01 8.3566e-02 9.4742e-01 8.9137e-02
-#&gt; 135: 1.0145e+02 -4.0852e+00 -2.3062e+00 -4.0011e+00 -9.4444e-01 -1.6803e-01 6.4919e+00 3.4600e-03 1.1783e-01 2.2228e-02 1.8333e-01 6.9284e-02 9.4846e-01 8.3087e-02 9.7774e-01 8.2610e-02
-#&gt; 136: 1.0177e+02 -4.0861e+00 -2.2785e+00 -3.9890e+00 -9.9625e-01 -1.8938e-01 6.1673e+00 3.2870e-03 1.1752e-01 2.1116e-02 1.8815e-01 6.5820e-02 9.3634e-01 8.5255e-02 1.1001e+00 8.5332e-02
-#&gt; 137: 1.0200e+02 -4.0928e+00 -2.1946e+00 -3.9974e+00 -1.0098e+00 -1.8810e-01 5.8589e+00 3.1227e-03 1.2394e-01 2.1203e-02 1.7874e-01 7.2232e-02 1.0048e+00 7.3422e-02 1.0222e+00 8.3484e-02
-#&gt; 138: 1.0214e+02 -4.0820e+00 -2.2052e+00 -3.9737e+00 -1.0420e+00 -2.0594e-01 5.5660e+00 3.8937e-03 1.9164e-01 2.0143e-02 1.6980e-01 6.8621e-02 1.0126e+00 7.6106e-02 1.0780e+00 8.2960e-02
-#&gt; 139: 1.0249e+02 -4.0785e+00 -2.1649e+00 -3.9567e+00 -1.0095e+00 -2.8807e-01 5.2877e+00 3.6990e-03 1.8647e-01 1.9135e-02 1.6131e-01 6.5190e-02 1.0030e+00 7.9858e-02 1.0611e+00 8.4109e-02
-#&gt; 140: 1.0184e+02 -4.0847e+00 -2.1800e+00 -3.9565e+00 -9.9415e-01 -2.8869e-01 5.0233e+00 4.0857e-03 1.9502e-01 1.8179e-02 1.6676e-01 6.2879e-02 9.5962e-01 7.8117e-02 9.9649e-01 8.4914e-02
-#&gt; 141: 1.0195e+02 -4.1012e+00 -2.1831e+00 -3.9488e+00 -9.9515e-01 -3.1864e-01 4.7721e+00 3.8814e-03 1.8527e-01 1.7270e-02 1.6797e-01 6.1084e-02 9.0969e-01 8.2722e-02 1.0122e+00 8.2518e-02
-#&gt; 142: 1.0233e+02 -4.1139e+00 -2.1692e+00 -3.9542e+00 -1.0023e+00 -3.3242e-01 4.5335e+00 3.6873e-03 2.0662e-01 1.6406e-02 1.5957e-01 5.8030e-02 9.4761e-01 8.4629e-02 1.0342e+00 8.3954e-02
-#&gt; 143: 1.0217e+02 -4.1103e+00 -2.1380e+00 -3.9511e+00 -1.0300e+00 -2.5992e-01 5.2035e+00 4.7053e-03 1.9629e-01 1.5586e-02 1.5979e-01 5.5128e-02 8.9255e-01 7.9042e-02 1.0461e+00 8.6952e-02
-#&gt; 144: 1.0185e+02 -4.1335e+00 -2.1911e+00 -3.9650e+00 -1.0440e+00 -2.4451e-01 5.0998e+00 4.4700e-03 1.8648e-01 1.9590e-02 1.5534e-01 5.2372e-02 9.7863e-01 8.3932e-02 1.0197e+00 8.7673e-02
-#&gt; 145: 1.0242e+02 -4.1445e+00 -2.1203e+00 -3.9616e+00 -1.0426e+00 -2.7120e-01 4.8448e+00 4.2465e-03 1.7715e-01 1.8611e-02 1.4757e-01 4.9753e-02 1.0024e+00 8.4131e-02 1.0768e+00 8.5388e-02
-#&gt; 146: 1.0236e+02 -4.1519e+00 -2.1958e+00 -3.9779e+00 -9.8615e-01 -2.5863e-01 4.6026e+00 4.0718e-03 1.6829e-01 1.7680e-02 1.6407e-01 4.7266e-02 1.0740e+00 8.2413e-02 1.0706e+00 8.3410e-02
-#&gt; 147: 1.0251e+02 -4.1465e+00 -2.2042e+00 -3.9775e+00 -1.0317e+00 -2.2757e-01 4.3725e+00 3.8682e-03 1.5988e-01 1.6796e-02 1.7016e-01 4.4902e-02 9.7748e-01 8.3376e-02 1.0880e+00 8.1968e-02
-#&gt; 148: 1.0244e+02 -4.1432e+00 -2.1786e+00 -3.9792e+00 -1.0442e+00 -2.2002e-01 4.9671e+00 3.6748e-03 1.5189e-01 1.5956e-02 2.2196e-01 4.2657e-02 1.0412e+00 7.8051e-02 1.1051e+00 8.1618e-02
-#&gt; 149: 1.0219e+02 -4.1384e+00 -2.2318e+00 -3.9757e+00 -1.0438e+00 -2.4124e-01 4.7187e+00 3.4910e-03 1.4429e-01 1.6061e-02 2.1086e-01 4.0524e-02 1.0082e+00 8.0377e-02 1.1455e+00 8.0545e-02
-#&gt; 150: 1.0264e+02 -4.1498e+00 -2.2352e+00 -3.9915e+00 -1.0669e+00 -2.1255e-01 4.4828e+00 3.3165e-03 1.3708e-01 1.7218e-02 2.0032e-01 3.8498e-02 9.5031e-01 8.7248e-02 9.8770e-01 8.3250e-02
-#&gt; 151: 1.0250e+02 -4.1365e+00 -2.1876e+00 -3.9939e+00 -1.0568e+00 -1.8159e-01 4.2587e+00 3.1507e-03 1.3022e-01 1.7383e-02 1.9030e-01 3.6573e-02 9.6938e-01 8.0203e-02 1.0578e+00 8.3430e-02
-#&gt; 152: 1.0256e+02 -4.1370e+00 -2.2238e+00 -4.0047e+00 -1.0406e+00 -1.8764e-01 1.9609e+00 1.4191e-03 1.1882e-01 1.7924e-02 1.6889e-01 4.1216e-02 9.1972e-01 7.8573e-02 1.0717e+00 8.0882e-02
-#&gt; 153: 1.0219e+02 -4.1299e+00 -2.2139e+00 -3.9917e+00 -9.9964e-01 -2.0505e-01 1.8258e+00 1.0432e-03 8.4660e-02 2.1446e-02 1.7634e-01 3.5573e-02 9.3702e-01 8.4860e-02 1.0145e+00 8.3329e-02
-#&gt; 154: 1.0199e+02 -4.1354e+00 -2.2231e+00 -3.9779e+00 -1.0155e+00 -2.2573e-01 2.6463e+00 5.8153e-04 8.8101e-02 2.3167e-02 1.6103e-01 3.3874e-02 9.5360e-01 8.6215e-02 9.5723e-01 8.4603e-02
-#&gt; 155: 1.0234e+02 -4.1239e+00 -2.2137e+00 -3.9802e+00 -1.0070e+00 -2.3158e-01 2.9697e+00 6.6709e-04 1.1190e-01 2.0949e-02 1.8298e-01 3.1557e-02 9.2910e-01 8.2509e-02 9.8680e-01 8.5206e-02
-#&gt; 156: 1.0253e+02 -4.1269e+00 -2.2370e+00 -3.9682e+00 -1.0420e+00 -2.1219e-01 2.7267e+00 6.8451e-04 8.9651e-02 2.4380e-02 1.6613e-01 3.4846e-02 9.3608e-01 8.7506e-02 9.0446e-01 8.1755e-02
-#&gt; 157: 1.0265e+02 -4.1241e+00 -2.2179e+00 -3.9676e+00 -1.0308e+00 -2.2480e-01 2.1278e+00 4.9811e-04 6.7161e-02 1.9758e-02 1.5607e-01 4.4198e-02 9.4162e-01 8.7311e-02 9.9147e-01 7.9857e-02
-#&gt; 158: 1.0239e+02 -4.1219e+00 -2.1615e+00 -3.9781e+00 -1.0384e+00 -2.6750e-01 2.5310e+00 4.8270e-04 6.5662e-02 1.8085e-02 1.7665e-01 4.4020e-02 8.8632e-01 8.6004e-02 1.0425e+00 8.2894e-02
-#&gt; 159: 1.0270e+02 -4.1204e+00 -2.1837e+00 -3.9530e+00 -1.0587e+00 -2.5809e-01 3.4348e+00 5.6788e-04 6.5500e-02 1.9540e-02 1.8629e-01 4.0730e-02 9.5079e-01 8.2399e-02 9.9316e-01 8.3381e-02
-#&gt; 160: 1.0282e+02 -4.1223e+00 -2.1325e+00 -3.9734e+00 -1.0068e+00 -2.8751e-01 3.9652e+00 7.6565e-04 8.5246e-02 1.7068e-02 1.7587e-01 3.0778e-02 9.1802e-01 8.0158e-02 9.9642e-01 8.1564e-02
-#&gt; 161: 1.0330e+02 -4.1180e+00 -2.1879e+00 -3.9743e+00 -1.0268e+00 -2.8812e-01 4.9153e+00 5.8033e-04 8.0457e-02 1.8555e-02 1.7312e-01 3.3941e-02 8.6920e-01 8.2509e-02 9.5632e-01 8.1798e-02
-#&gt; 162: 1.0335e+02 -4.1182e+00 -2.2089e+00 -3.9566e+00 -1.0409e+00 -2.7390e-01 3.6169e+00 2.8392e-04 1.0776e-01 1.9589e-02 1.6479e-01 2.8481e-02 8.8603e-01 8.7799e-02 9.5197e-01 7.9563e-02
-#&gt; 163: 1.0294e+02 -4.1181e+00 -2.2025e+00 -3.9462e+00 -9.9783e-01 -3.0753e-01 3.7234e+00 1.6293e-04 9.6922e-02 2.4842e-02 1.9367e-01 3.1473e-02 9.0380e-01 9.1697e-02 9.4394e-01 8.2786e-02
-#&gt; 164: 1.0246e+02 -4.1155e+00 -2.2157e+00 -3.9736e+00 -9.9866e-01 -2.9356e-01 3.9439e+00 1.9405e-04 1.0404e-01 2.8435e-02 1.9043e-01 3.1239e-02 8.9853e-01 8.9427e-02 9.2586e-01 8.3170e-02
-#&gt; 165: 1.0204e+02 -4.1117e+00 -2.2133e+00 -3.9674e+00 -1.0079e+00 -2.6996e-01 3.0774e+00 1.6591e-04 7.0005e-02 2.8285e-02 2.0813e-01 2.4574e-02 8.9719e-01 9.1629e-02 9.8242e-01 8.3692e-02
-#&gt; 166: 1.0207e+02 -4.1164e+00 -2.2192e+00 -3.9893e+00 -1.0354e+00 -2.7396e-01 1.8145e+00 8.4168e-05 9.0739e-02 2.7410e-02 2.1403e-01 2.4311e-02 8.9386e-01 9.2727e-02 9.4636e-01 8.4238e-02
-#&gt; 167: 1.0187e+02 -4.1149e+00 -2.2185e+00 -3.9708e+00 -1.0036e+00 -2.5751e-01 1.5355e+00 4.0974e-05 9.9346e-02 2.2030e-02 2.1916e-01 2.6726e-02 9.1055e-01 8.1030e-02 1.0098e+00 7.9180e-02
-#&gt; 168: 1.0172e+02 -4.1167e+00 -2.2673e+00 -3.9702e+00 -9.8388e-01 -2.1404e-01 1.4836e+00 2.7779e-05 7.7509e-02 2.9513e-02 1.9543e-01 3.4526e-02 1.0152e+00 8.1248e-02 9.7482e-01 8.0746e-02
-#&gt; 169: 1.0175e+02 -4.1171e+00 -2.2634e+00 -3.9701e+00 -9.5962e-01 -2.4130e-01 1.4263e+00 4.7370e-05 5.0986e-02 2.8211e-02 2.2554e-01 3.9909e-02 9.8519e-01 7.8842e-02 1.0023e+00 8.5684e-02
-#&gt; 170: 1.0177e+02 -4.1189e+00 -2.2417e+00 -3.9834e+00 -1.0059e+00 -2.6551e-01 9.9010e-01 3.7247e-05 4.2517e-02 2.9791e-02 1.8705e-01 4.2435e-02 9.6604e-01 8.8427e-02 9.6699e-01 8.3986e-02
-#&gt; 171: 1.0182e+02 -4.1187e+00 -2.2464e+00 -3.9953e+00 -9.8154e-01 -2.5146e-01 7.4179e-01 3.2420e-05 5.0690e-02 3.0483e-02 1.7888e-01 6.3177e-02 9.2784e-01 8.4814e-02 1.0018e+00 8.4070e-02
-#&gt; 172: 1.0184e+02 -4.1178e+00 -2.2483e+00 -4.0009e+00 -1.0096e+00 -2.2636e-01 9.6710e-01 2.6981e-05 3.1321e-02 2.7772e-02 1.9767e-01 7.4969e-02 9.9720e-01 8.1434e-02 9.5483e-01 8.3419e-02
-#&gt; 173: 1.0160e+02 -4.1183e+00 -2.2513e+00 -3.9920e+00 -9.8456e-01 -2.0144e-01 4.9964e-01 2.1222e-05 4.1909e-02 2.8101e-02 2.1163e-01 1.2811e-01 9.6384e-01 8.0352e-02 9.2496e-01 8.2328e-02
-#&gt; 174: 1.0159e+02 -4.1179e+00 -2.2334e+00 -4.0068e+00 -1.0316e+00 -2.0656e-01 4.6608e-01 1.8044e-05 4.4647e-02 2.8273e-02 2.0083e-01 1.2780e-01 9.4612e-01 8.3630e-02 8.9385e-01 8.3930e-02
-#&gt; 175: 1.0159e+02 -4.1182e+00 -2.2567e+00 -3.9972e+00 -1.0299e+00 -1.6534e-01 4.5228e-01 2.0060e-05 8.5751e-02 2.5343e-02 1.7864e-01 8.6977e-02 9.5795e-01 7.8867e-02 8.9213e-01 8.4362e-02
-#&gt; 176: 1.0159e+02 -4.1183e+00 -2.2109e+00 -3.9983e+00 -1.0210e+00 -2.0879e-01 5.3694e-01 2.0264e-05 1.2835e-01 2.5563e-02 1.9469e-01 6.0808e-02 9.1537e-01 7.8520e-02 9.3355e-01 8.3608e-02
-#&gt; 177: 1.0155e+02 -4.1193e+00 -2.2587e+00 -3.9825e+00 -1.0180e+00 -1.6859e-01 4.4935e-01 3.0321e-05 1.3509e-01 2.4979e-02 2.0113e-01 6.3617e-02 9.7277e-01 7.8515e-02 9.2667e-01 8.5309e-02
-#&gt; 178: 1.0158e+02 -4.1196e+00 -2.2679e+00 -4.0231e+00 -1.0143e+00 -1.6084e-01 6.7629e-01 3.2855e-05 6.8816e-02 2.7808e-02 1.8944e-01 8.1814e-02 8.8319e-01 8.0114e-02 9.5183e-01 8.2195e-02
-#&gt; 179: 1.0166e+02 -4.1190e+00 -2.2764e+00 -3.9875e+00 -1.0061e+00 -1.8260e-01 7.1129e-01 3.8250e-05 7.5489e-02 2.4148e-02 1.8082e-01 7.1172e-02 9.1387e-01 8.0813e-02 9.6660e-01 8.2457e-02
-#&gt; 180: 1.0179e+02 -4.1202e+00 -2.2848e+00 -3.9974e+00 -9.9825e-01 -2.0277e-01 5.5755e-01 2.8041e-05 8.6779e-02 2.7193e-02 1.8826e-01 6.5133e-02 8.8812e-01 8.2655e-02 9.2100e-01 7.9919e-02
-#&gt; 181: 1.0176e+02 -4.1200e+00 -2.2704e+00 -3.9954e+00 -1.0194e+00 -1.6896e-01 4.3842e-01 2.2428e-05 7.4093e-02 3.0526e-02 2.3473e-01 1.0537e-01 9.2303e-01 8.2141e-02 9.2941e-01 8.4699e-02
-#&gt; 182: 1.0182e+02 -4.1211e+00 -2.3159e+00 -4.0259e+00 -1.0162e+00 -1.2876e-01 3.4993e-01 1.5716e-05 5.9887e-02 2.6422e-02 2.1757e-01 1.0488e-01 9.1725e-01 9.4143e-02 9.7674e-01 8.8668e-02
-#&gt; 183: 1.0184e+02 -4.1216e+00 -2.2985e+00 -4.0278e+00 -1.0136e+00 -1.3154e-01 2.6456e-01 1.2552e-05 5.7149e-02 3.2712e-02 2.0632e-01 1.5501e-01 9.2464e-01 8.5394e-02 8.8699e-01 8.4279e-02
-#&gt; 184: 1.0172e+02 -4.1212e+00 -2.2726e+00 -4.0189e+00 -1.0280e+00 -1.2967e-01 3.0582e-01 7.5239e-06 8.2812e-02 2.9556e-02 1.9725e-01 1.3753e-01 9.0862e-01 8.1319e-02 9.0031e-01 8.3491e-02
-#&gt; 185: 1.0178e+02 -4.1208e+00 -2.2858e+00 -4.0272e+00 -1.0063e+00 -1.6155e-01 3.0856e-01 4.5894e-06 8.8870e-02 2.5817e-02 1.9251e-01 1.0670e-01 9.1157e-01 7.7834e-02 9.6258e-01 7.8990e-02
-#&gt; 186: 1.0198e+02 -4.1208e+00 -2.2682e+00 -4.0401e+00 -9.8523e-01 -1.1556e-01 2.4761e-01 3.2640e-06 7.5614e-02 2.1067e-02 1.9085e-01 9.0045e-02 8.5090e-01 8.6621e-02 1.0145e+00 8.1864e-02
-#&gt; 187: 1.0197e+02 -4.1208e+00 -2.2788e+00 -4.0281e+00 -1.0066e+00 -1.0149e-01 2.0460e-01 4.5073e-06 7.8797e-02 2.3861e-02 2.0725e-01 7.9771e-02 9.6253e-01 8.2363e-02 9.3855e-01 8.3939e-02
-#&gt; 188: 1.0196e+02 -4.1207e+00 -2.3105e+00 -4.0149e+00 -1.0217e+00 -9.0603e-02 2.2178e-01 3.6903e-06 8.9793e-02 2.1775e-02 1.9248e-01 8.2415e-02 9.4078e-01 8.1247e-02 9.1756e-01 8.2786e-02
-#&gt; 189: 1.0202e+02 -4.1204e+00 -2.2702e+00 -4.0430e+00 -1.0032e+00 -1.1308e-01 2.2944e-01 3.5141e-06 7.8575e-02 2.4885e-02 2.0968e-01 8.2380e-02 9.5115e-01 8.1619e-02 9.2134e-01 8.9958e-02
-#&gt; 190: 1.0195e+02 -4.1207e+00 -2.3126e+00 -4.0312e+00 -1.0154e+00 -6.3842e-02 2.5129e-01 2.6517e-06 4.2267e-02 2.2084e-02 1.9361e-01 7.0492e-02 9.3985e-01 8.5817e-02 9.3893e-01 8.7011e-02
-#&gt; 191: 1.0203e+02 -4.1206e+00 -2.2758e+00 -4.0290e+00 -1.0102e+00 -3.1042e-02 1.7935e-01 3.4489e-06 5.7444e-02 2.3544e-02 1.9651e-01 7.9509e-02 9.5213e-01 8.2030e-02 1.0054e+00 8.7523e-02
-#&gt; 192: 1.0199e+02 -4.1205e+00 -2.2969e+00 -4.0329e+00 -1.0364e+00 -8.3705e-02 1.5785e-01 3.5081e-06 7.4305e-02 2.2992e-02 1.9662e-01 7.7684e-02 9.2601e-01 8.3027e-02 9.8642e-01 8.3428e-02
-#&gt; 193: 1.0196e+02 -4.1205e+00 -2.2661e+00 -4.0513e+00 -9.9271e-01 -4.6516e-02 1.2084e-01 2.6911e-06 6.8360e-02 3.5444e-02 1.9649e-01 7.5188e-02 9.1949e-01 7.9194e-02 1.0046e+00 8.5964e-02
-#&gt; 194: 1.0198e+02 -4.1207e+00 -2.2817e+00 -4.0520e+00 -9.9852e-01 -8.4466e-02 1.3596e-01 1.5511e-06 6.5142e-02 4.1562e-02 1.9137e-01 9.6992e-02 9.6709e-01 7.6757e-02 9.7566e-01 8.3784e-02
-#&gt; 195: 1.0200e+02 -4.1207e+00 -2.3076e+00 -4.0637e+00 -1.0028e+00 -7.2489e-02 1.0942e-01 1.6451e-06 6.1364e-02 4.6242e-02 1.9470e-01 9.3546e-02 9.9614e-01 8.1292e-02 9.7814e-01 8.1909e-02
-#&gt; 196: 1.0194e+02 -4.1205e+00 -2.2970e+00 -4.0482e+00 -9.8816e-01 -6.8493e-02 1.1918e-01 1.2629e-06 4.2775e-02 3.6925e-02 2.3565e-01 7.7784e-02 8.9524e-01 9.2250e-02 9.8003e-01 8.2408e-02
-#&gt; 197: 1.0199e+02 -4.1205e+00 -2.3075e+00 -4.0418e+00 -1.0196e+00 -6.8458e-02 1.7674e-01 7.5205e-07 5.2125e-02 2.9288e-02 2.1892e-01 8.4416e-02 8.9857e-01 9.1154e-02 1.0377e+00 8.3604e-02
-#&gt; 198: 1.0197e+02 -4.1206e+00 -2.3051e+00 -4.0367e+00 -1.0252e+00 -6.9200e-02 9.1625e-02 6.6068e-07 4.7665e-02 2.8907e-02 1.8679e-01 7.5787e-02 9.0272e-01 8.8077e-02 9.2929e-01 8.0385e-02
-#&gt; 199: 1.0192e+02 -4.1204e+00 -2.3163e+00 -4.0506e+00 -1.0152e+00 -5.3872e-02 6.8196e-02 5.5789e-07 6.0471e-02 3.1730e-02 2.0053e-01 6.8557e-02 9.0478e-01 8.5910e-02 9.3814e-01 8.2211e-02
-#&gt; 200: 1.0195e+02 -4.1205e+00 -2.3141e+00 -4.0728e+00 -1.0010e+00 -2.5675e-03 6.5235e-02 6.9762e-07 5.8458e-02 2.8504e-02 2.0377e-01 4.9513e-02 8.5640e-01 8.6640e-02 9.5731e-01 8.4390e-02
-#&gt; 201: 1.0195e+02 -4.1205e+00 -2.3106e+00 -4.0774e+00 -9.9012e-01 5.1724e-03 5.1225e-02 5.4222e-07 6.0577e-02 3.3554e-02 2.0505e-01 4.4738e-02 8.8073e-01 8.5488e-02 9.6928e-01 8.4895e-02
-#&gt; 202: 1.0194e+02 -4.1205e+00 -2.3078e+00 -4.0767e+00 -9.9283e-01 3.9328e-03 4.5461e-02 4.8520e-07 6.7405e-02 3.4599e-02 2.1312e-01 4.6664e-02 9.0528e-01 8.4189e-02 9.8043e-01 8.5266e-02
-#&gt; 203: 1.0193e+02 -4.1205e+00 -2.3029e+00 -4.0790e+00 -9.8990e-01 -9.1380e-03 4.7128e-02 5.0468e-07 6.8524e-02 3.6050e-02 2.1378e-01 5.1774e-02 9.0923e-01 8.4899e-02 9.8928e-01 8.4613e-02
-#&gt; 204: 1.0192e+02 -4.1205e+00 -2.3080e+00 -4.0760e+00 -9.8833e-01 -1.2434e-02 4.8184e-02 4.9472e-07 6.4152e-02 3.5604e-02 2.0954e-01 5.1354e-02 9.1294e-01 8.5219e-02 9.8301e-01 8.4374e-02
-#&gt; 205: 1.0192e+02 -4.1205e+00 -2.3100e+00 -4.0712e+00 -9.9253e-01 -2.3365e-02 4.5888e-02 5.0564e-07 5.9894e-02 3.5053e-02 2.0322e-01 5.4423e-02 9.0925e-01 8.5899e-02 9.8418e-01 8.3421e-02
-#&gt; 206: 1.0192e+02 -4.1205e+00 -2.3095e+00 -4.0715e+00 -9.9721e-01 -2.6262e-02 4.3985e-02 5.1954e-07 5.8681e-02 3.4539e-02 2.0202e-01 5.8248e-02 9.1301e-01 8.5459e-02 9.8621e-01 8.3465e-02
-#&gt; 207: 1.0192e+02 -4.1205e+00 -2.3179e+00 -4.0731e+00 -9.9906e-01 -2.3191e-02 4.3649e-02 5.3824e-07 5.7537e-02 3.4790e-02 2.0220e-01 6.0242e-02 9.1783e-01 8.5307e-02 9.8436e-01 8.3111e-02
-#&gt; 208: 1.0191e+02 -4.1205e+00 -2.3238e+00 -4.0734e+00 -9.9920e-01 -1.9434e-02 4.3223e-02 5.3831e-07 5.7908e-02 3.4909e-02 2.0126e-01 6.0353e-02 9.2010e-01 8.5244e-02 9.8002e-01 8.2975e-02
-#&gt; 209: 1.0191e+02 -4.1205e+00 -2.3279e+00 -4.0726e+00 -1.0053e+00 -1.5390e-02 4.1064e-02 5.3171e-07 5.8749e-02 3.4510e-02 1.9942e-01 6.3063e-02 9.3192e-01 8.4436e-02 9.8298e-01 8.3187e-02
-#&gt; 210: 1.0191e+02 -4.1205e+00 -2.3310e+00 -4.0705e+00 -1.0061e+00 -1.3507e-02 3.8265e-02 5.2762e-07 5.9344e-02 3.3374e-02 1.9612e-01 6.7006e-02 9.3199e-01 8.4573e-02 9.8382e-01 8.3227e-02
-#&gt; 211: 1.0191e+02 -4.1205e+00 -2.3383e+00 -4.0683e+00 -1.0043e+00 -1.3973e-02 3.6076e-02 5.2584e-07 6.1568e-02 3.2369e-02 1.9504e-01 6.9982e-02 9.4179e-01 8.4625e-02 9.9145e-01 8.3067e-02
-#&gt; 212: 1.0192e+02 -4.1204e+00 -2.3396e+00 -4.0662e+00 -1.0055e+00 -1.8011e-02 3.4746e-02 5.4375e-07 6.2747e-02 3.1588e-02 1.9405e-01 7.2360e-02 9.4525e-01 8.4466e-02 9.9581e-01 8.2952e-02
-#&gt; 213: 1.0192e+02 -4.1204e+00 -2.3407e+00 -4.0649e+00 -1.0066e+00 -2.1077e-02 3.4708e-02 5.5843e-07 6.1940e-02 3.0715e-02 1.9382e-01 7.4602e-02 9.4611e-01 8.4322e-02 9.9397e-01 8.2717e-02
-#&gt; 214: 1.0192e+02 -4.1204e+00 -2.3392e+00 -4.0648e+00 -1.0076e+00 -2.3417e-02 3.4282e-02 5.8157e-07 6.1893e-02 3.0158e-02 1.9322e-01 7.8942e-02 9.5250e-01 8.3922e-02 9.9723e-01 8.2793e-02
-#&gt; 215: 1.0192e+02 -4.1204e+00 -2.3410e+00 -4.0645e+00 -1.0087e+00 -2.1950e-02 3.5820e-02 6.0691e-07 6.2032e-02 2.9890e-02 1.9172e-01 8.3774e-02 9.5617e-01 8.3280e-02 1.0003e+00 8.2881e-02
-#&gt; 216: 1.0192e+02 -4.1203e+00 -2.3425e+00 -4.0628e+00 -1.0069e+00 -2.4268e-02 3.7597e-02 6.4187e-07 6.1733e-02 2.9353e-02 1.9092e-01 8.8150e-02 9.5834e-01 8.3091e-02 1.0027e+00 8.2753e-02
-#&gt; 217: 1.0192e+02 -4.1203e+00 -2.3439e+00 -4.0613e+00 -1.0064e+00 -2.4197e-02 3.9291e-02 6.5775e-07 6.2318e-02 2.8903e-02 1.8958e-01 9.0470e-02 9.5766e-01 8.3234e-02 1.0020e+00 8.2707e-02
-#&gt; 218: 1.0191e+02 -4.1203e+00 -2.3441e+00 -4.0619e+00 -1.0065e+00 -2.2460e-02 4.0043e-02 6.4921e-07 6.2280e-02 2.8349e-02 1.8800e-01 9.4476e-02 9.5499e-01 8.3416e-02 1.0036e+00 8.2628e-02
-#&gt; 219: 1.0191e+02 -4.1203e+00 -2.3437e+00 -4.0624e+00 -1.0066e+00 -1.9698e-02 3.9735e-02 6.3365e-07 6.2264e-02 2.7720e-02 1.8768e-01 9.7275e-02 9.4994e-01 8.3350e-02 1.0047e+00 8.2572e-02
-#&gt; 220: 1.0191e+02 -4.1203e+00 -2.3447e+00 -4.0630e+00 -1.0070e+00 -1.5871e-02 4.0198e-02 6.3507e-07 6.1981e-02 2.7259e-02 1.8786e-01 9.9168e-02 9.4781e-01 8.3355e-02 1.0046e+00 8.2752e-02
-#&gt; 221: 1.0191e+02 -4.1203e+00 -2.3459e+00 -4.0638e+00 -1.0069e+00 -1.4298e-02 4.0161e-02 6.2865e-07 6.2113e-02 2.7201e-02 1.8810e-01 1.0163e-01 9.4863e-01 8.3154e-02 1.0042e+00 8.2670e-02
-#&gt; 222: 1.0191e+02 -4.1203e+00 -2.3472e+00 -4.0646e+00 -1.0064e+00 -1.0921e-02 4.0310e-02 6.2450e-07 6.2436e-02 2.6979e-02 1.8736e-01 1.0306e-01 9.4914e-01 8.3081e-02 1.0050e+00 8.2757e-02
-#&gt; 223: 1.0191e+02 -4.1203e+00 -2.3478e+00 -4.0650e+00 -1.0063e+00 -1.1053e-02 3.9741e-02 6.1973e-07 6.2918e-02 2.6636e-02 1.8806e-01 1.0506e-01 9.4996e-01 8.2927e-02 1.0054e+00 8.2579e-02
-#&gt; 224: 1.0191e+02 -4.1203e+00 -2.3478e+00 -4.0653e+00 -1.0061e+00 -1.0324e-02 3.9480e-02 6.1421e-07 6.4180e-02 2.6403e-02 1.8833e-01 1.0733e-01 9.4750e-01 8.2697e-02 1.0033e+00 8.2517e-02
-#&gt; 225: 1.0191e+02 -4.1203e+00 -2.3479e+00 -4.0654e+00 -1.0060e+00 -1.0650e-02 3.9188e-02 6.0959e-07 6.3862e-02 2.6122e-02 1.8815e-01 1.0786e-01 9.4504e-01 8.2833e-02 1.0002e+00 8.2398e-02
-#&gt; 226: 1.0192e+02 -4.1204e+00 -2.3469e+00 -4.0657e+00 -1.0052e+00 -1.0205e-02 3.9129e-02 6.0577e-07 6.4045e-02 2.5875e-02 1.8762e-01 1.0921e-01 9.4663e-01 8.2599e-02 9.9857e-01 8.2472e-02
-#&gt; 227: 1.0192e+02 -4.1203e+00 -2.3467e+00 -4.0658e+00 -1.0053e+00 -1.0189e-02 3.8797e-02 6.0837e-07 6.5125e-02 2.5679e-02 1.8721e-01 1.1060e-01 9.4729e-01 8.2470e-02 9.9802e-01 8.2753e-02
-#&gt; 228: 1.0192e+02 -4.1204e+00 -2.3469e+00 -4.0657e+00 -1.0054e+00 -1.0575e-02 3.8741e-02 6.0738e-07 6.5467e-02 2.5448e-02 1.8548e-01 1.1134e-01 9.4840e-01 8.2580e-02 9.9829e-01 8.2888e-02
-#&gt; 229: 1.0192e+02 -4.1204e+00 -2.3479e+00 -4.0650e+00 -1.0056e+00 -1.1215e-02 3.9360e-02 6.0182e-07 6.4817e-02 2.5237e-02 1.8448e-01 1.1090e-01 9.5039e-01 8.2625e-02 9.9900e-01 8.2896e-02
-#&gt; 230: 1.0192e+02 -4.1204e+00 -2.3482e+00 -4.0652e+00 -1.0060e+00 -9.9775e-03 3.9501e-02 5.9385e-07 6.4132e-02 2.5093e-02 1.8510e-01 1.1122e-01 9.4938e-01 8.2763e-02 9.9961e-01 8.2886e-02
-#&gt; 231: 1.0192e+02 -4.1204e+00 -2.3479e+00 -4.0654e+00 -1.0070e+00 -8.9509e-03 3.9907e-02 5.9290e-07 6.3744e-02 2.4829e-02 1.8560e-01 1.1062e-01 9.4790e-01 8.2872e-02 1.0022e+00 8.2955e-02
-#&gt; 232: 1.0192e+02 -4.1204e+00 -2.3484e+00 -4.0657e+00 -1.0081e+00 -6.9066e-03 4.0738e-02 5.7862e-07 6.3242e-02 2.4729e-02 1.8626e-01 1.0975e-01 9.4866e-01 8.2846e-02 1.0036e+00 8.3065e-02
-#&gt; 233: 1.0191e+02 -4.1204e+00 -2.3487e+00 -4.0660e+00 -1.0080e+00 -5.1163e-03 4.0708e-02 5.7326e-07 6.2392e-02 2.4475e-02 1.8701e-01 1.0932e-01 9.4816e-01 8.2933e-02 1.0059e+00 8.3155e-02
-#&gt; 234: 1.0191e+02 -4.1204e+00 -2.3500e+00 -4.0660e+00 -1.0077e+00 -4.0637e-03 4.1065e-02 5.6885e-07 6.1938e-02 2.4418e-02 1.8673e-01 1.0923e-01 9.5001e-01 8.3005e-02 1.0080e+00 8.3207e-02
-#&gt; 235: 1.0191e+02 -4.1204e+00 -2.3526e+00 -4.0653e+00 -1.0074e+00 -3.6541e-03 4.1151e-02 5.6498e-07 6.2228e-02 2.4447e-02 1.8667e-01 1.0995e-01 9.5059e-01 8.3101e-02 1.0055e+00 8.3101e-02
-#&gt; 236: 1.0191e+02 -4.1204e+00 -2.3540e+00 -4.0648e+00 -1.0078e+00 -4.0127e-03 4.0966e-02 5.7047e-07 6.1779e-02 2.4457e-02 1.8777e-01 1.0971e-01 9.4919e-01 8.3203e-02 1.0044e+00 8.3078e-02
-#&gt; 237: 1.0191e+02 -4.1204e+00 -2.3528e+00 -4.0645e+00 -1.0078e+00 -4.4251e-03 4.0491e-02 5.6811e-07 6.1507e-02 2.4421e-02 1.8827e-01 1.1047e-01 9.4870e-01 8.3149e-02 1.0031e+00 8.3008e-02
-#&gt; 238: 1.0190e+02 -4.1204e+00 -2.3517e+00 -4.0647e+00 -1.0076e+00 -5.2540e-03 3.9988e-02 5.6832e-07 6.1612e-02 2.4262e-02 1.8801e-01 1.1019e-01 9.4737e-01 8.3172e-02 1.0037e+00 8.2959e-02
-#&gt; 239: 1.0190e+02 -4.1204e+00 -2.3509e+00 -4.0650e+00 -1.0089e+00 -5.1598e-03 3.9373e-02 5.6396e-07 6.1635e-02 2.4040e-02 1.8812e-01 1.1055e-01 9.4885e-01 8.3140e-02 1.0053e+00 8.2956e-02
-#&gt; 240: 1.0190e+02 -4.1204e+00 -2.3515e+00 -4.0643e+00 -1.0095e+00 -4.5817e-03 3.9031e-02 5.5929e-07 6.2233e-02 2.3840e-02 1.8766e-01 1.1014e-01 9.5018e-01 8.3172e-02 1.0066e+00 8.2937e-02
-#&gt; 241: 1.0190e+02 -4.1204e+00 -2.3524e+00 -4.0642e+00 -1.0097e+00 -3.9061e-03 3.8686e-02 5.5496e-07 6.3349e-02 2.3663e-02 1.8759e-01 1.1046e-01 9.4922e-01 8.3162e-02 1.0064e+00 8.2940e-02
-#&gt; 242: 1.0190e+02 -4.1204e+00 -2.3535e+00 -4.0642e+00 -1.0092e+00 -2.9411e-03 3.8674e-02 5.5359e-07 6.3930e-02 2.3604e-02 1.8742e-01 1.1027e-01 9.4748e-01 8.3177e-02 1.0052e+00 8.2955e-02
-#&gt; 243: 1.0190e+02 -4.1204e+00 -2.3551e+00 -4.0642e+00 -1.0089e+00 -1.6071e-03 3.8635e-02 5.4669e-07 6.4141e-02 2.3570e-02 1.8666e-01 1.1022e-01 9.4770e-01 8.3208e-02 1.0048e+00 8.2962e-02
-#&gt; 244: 1.0190e+02 -4.1204e+00 -2.3566e+00 -4.0645e+00 -1.0093e+00 -7.0474e-04 3.8502e-02 5.4194e-07 6.4399e-02 2.3591e-02 1.8627e-01 1.0938e-01 9.4615e-01 8.3402e-02 1.0043e+00 8.2891e-02
-#&gt; 245: 1.0189e+02 -4.1204e+00 -2.3575e+00 -4.0649e+00 -1.0093e+00 1.3351e-03 3.8372e-02 5.4266e-07 6.4935e-02 2.3511e-02 1.8609e-01 1.0840e-01 9.4586e-01 8.3393e-02 1.0041e+00 8.2835e-02
-#&gt; 246: 1.0189e+02 -4.1204e+00 -2.3595e+00 -4.0655e+00 -1.0085e+00 4.2316e-03 3.8487e-02 5.4393e-07 6.5284e-02 2.3457e-02 1.8581e-01 1.0811e-01 9.4656e-01 8.3372e-02 1.0036e+00 8.2746e-02
-#&gt; 247: 1.0189e+02 -4.1204e+00 -2.3608e+00 -4.0659e+00 -1.0081e+00 6.1314e-03 3.8249e-02 5.4752e-07 6.5440e-02 2.3455e-02 1.8584e-01 1.0706e-01 9.4795e-01 8.3330e-02 1.0025e+00 8.2710e-02
-#&gt; 248: 1.0189e+02 -4.1204e+00 -2.3617e+00 -4.0662e+00 -1.0084e+00 8.1978e-03 3.8017e-02 5.4713e-07 6.5853e-02 2.3439e-02 1.8637e-01 1.0634e-01 9.4748e-01 8.3377e-02 1.0016e+00 8.2677e-02
-#&gt; 249: 1.0189e+02 -4.1204e+00 -2.3633e+00 -4.0667e+00 -1.0085e+00 9.8011e-03 3.7934e-02 5.5069e-07 6.6442e-02 2.3533e-02 1.8652e-01 1.0606e-01 9.4761e-01 8.3449e-02 1.0009e+00 8.2712e-02
-#&gt; 250: 1.0189e+02 -4.1204e+00 -2.3644e+00 -4.0668e+00 -1.0087e+00 1.0992e-02 3.8199e-02 5.5486e-07 6.6746e-02 2.3638e-02 1.8739e-01 1.0611e-01 9.4838e-01 8.3442e-02 9.9958e-01 8.2692e-02
-#&gt; 251: 1.0189e+02 -4.1204e+00 -2.3644e+00 -4.0671e+00 -1.0097e+00 1.2215e-02 3.8648e-02 5.5448e-07 6.6916e-02 2.3592e-02 1.8753e-01 1.0607e-01 9.4773e-01 8.3511e-02 9.9919e-01 8.2701e-02
-#&gt; 252: 1.0189e+02 -4.1204e+00 -2.3645e+00 -4.0671e+00 -1.0100e+00 1.2881e-02 3.8792e-02 5.5615e-07 6.7323e-02 2.3559e-02 1.8811e-01 1.0641e-01 9.4665e-01 8.3575e-02 9.9809e-01 8.2743e-02
-#&gt; 253: 1.0189e+02 -4.1204e+00 -2.3646e+00 -4.0675e+00 -1.0100e+00 1.3605e-02 3.9013e-02 5.5568e-07 6.7625e-02 2.3432e-02 1.8825e-01 1.0688e-01 9.4424e-01 8.3598e-02 9.9825e-01 8.2702e-02
-#&gt; 254: 1.0189e+02 -4.1204e+00 -2.3642e+00 -4.0677e+00 -1.0101e+00 1.3119e-02 3.8838e-02 5.5231e-07 6.7802e-02 2.3429e-02 1.8849e-01 1.0680e-01 9.4281e-01 8.3706e-02 9.9829e-01 8.2631e-02
-#&gt; 255: 1.0189e+02 -4.1204e+00 -2.3627e+00 -4.0679e+00 -1.0104e+00 1.2490e-02 3.8574e-02 5.4955e-07 6.8395e-02 2.3368e-02 1.8890e-01 1.0661e-01 9.4101e-01 8.3756e-02 9.9798e-01 8.2674e-02
-#&gt; 256: 1.0189e+02 -4.1204e+00 -2.3615e+00 -4.0677e+00 -1.0102e+00 1.1525e-02 3.8502e-02 5.4764e-07 6.8824e-02 2.3405e-02 1.8912e-01 1.0649e-01 9.4109e-01 8.3709e-02 9.9811e-01 8.2698e-02
-#&gt; 257: 1.0189e+02 -4.1204e+00 -2.3604e+00 -4.0673e+00 -1.0104e+00 1.0381e-02 3.8286e-02 5.4694e-07 6.9020e-02 2.3338e-02 1.8925e-01 1.0614e-01 9.4075e-01 8.3695e-02 9.9738e-01 8.2689e-02
-#&gt; 258: 1.0189e+02 -4.1204e+00 -2.3591e+00 -4.0670e+00 -1.0103e+00 8.9559e-03 3.7972e-02 5.4665e-07 6.9077e-02 2.3267e-02 1.8919e-01 1.0590e-01 9.4089e-01 8.3618e-02 9.9742e-01 8.2681e-02
-#&gt; 259: 1.0189e+02 -4.1204e+00 -2.3585e+00 -4.0669e+00 -1.0099e+00 8.6011e-03 3.7874e-02 5.4788e-07 6.9455e-02 2.3264e-02 1.8885e-01 1.0519e-01 9.3952e-01 8.3583e-02 9.9610e-01 8.2650e-02
-#&gt; 260: 1.0189e+02 -4.1204e+00 -2.3584e+00 -4.0666e+00 -1.0098e+00 8.0471e-03 3.7771e-02 5.5294e-07 7.0269e-02 2.3292e-02 1.8877e-01 1.0442e-01 9.3898e-01 8.3519e-02 9.9504e-01 8.2641e-02
-#&gt; 261: 1.0189e+02 -4.1204e+00 -2.3583e+00 -4.0664e+00 -1.0100e+00 7.9344e-03 3.7597e-02 5.5650e-07 7.1087e-02 2.3370e-02 1.8867e-01 1.0399e-01 9.3810e-01 8.3488e-02 9.9419e-01 8.2673e-02
-#&gt; 262: 1.0189e+02 -4.1204e+00 -2.3575e+00 -4.0662e+00 -1.0106e+00 7.2123e-03 3.7203e-02 5.5375e-07 7.1794e-02 2.3393e-02 1.8855e-01 1.0356e-01 9.3773e-01 8.3458e-02 9.9406e-01 8.2739e-02
-#&gt; 263: 1.0189e+02 -4.1204e+00 -2.3564e+00 -4.0659e+00 -1.0112e+00 6.6044e-03 3.6977e-02 5.5306e-07 7.2290e-02 2.3475e-02 1.8847e-01 1.0316e-01 9.3744e-01 8.3383e-02 9.9341e-01 8.2818e-02
-#&gt; 264: 1.0189e+02 -4.1204e+00 -2.3549e+00 -4.0657e+00 -1.0118e+00 6.0119e-03 3.6749e-02 5.5152e-07 7.2896e-02 2.3530e-02 1.8849e-01 1.0277e-01 9.3658e-01 8.3443e-02 9.9248e-01 8.2877e-02
-#&gt; 265: 1.0189e+02 -4.1204e+00 -2.3545e+00 -4.0655e+00 -1.0121e+00 5.6547e-03 3.6562e-02 5.4816e-07 7.3238e-02 2.3560e-02 1.8863e-01 1.0269e-01 9.3597e-01 8.3434e-02 9.9139e-01 8.2879e-02
-#&gt; 266: 1.0189e+02 -4.1204e+00 -2.3545e+00 -4.0651e+00 -1.0121e+00 5.0995e-03 3.6357e-02 5.4458e-07 7.3522e-02 2.3561e-02 1.8883e-01 1.0270e-01 9.3607e-01 8.3407e-02 9.9133e-01 8.2857e-02
-#&gt; 267: 1.0189e+02 -4.1204e+00 -2.3541e+00 -4.0648e+00 -1.0122e+00 4.0105e-03 3.6306e-02 5.4160e-07 7.3833e-02 2.3499e-02 1.8889e-01 1.0317e-01 9.3624e-01 8.3359e-02 9.9151e-01 8.2865e-02
-#&gt; 268: 1.0189e+02 -4.1204e+00 -2.3530e+00 -4.0646e+00 -1.0122e+00 3.0925e-03 3.6248e-02 5.3845e-07 7.4663e-02 2.3413e-02 1.8895e-01 1.0371e-01 9.3624e-01 8.3277e-02 9.9210e-01 8.2909e-02
-#&gt; 269: 1.0189e+02 -4.1204e+00 -2.3518e+00 -4.0643e+00 -1.0123e+00 2.0507e-03 3.6181e-02 5.3602e-07 7.5442e-02 2.3291e-02 1.8886e-01 1.0397e-01 9.3581e-01 8.3260e-02 9.9238e-01 8.2898e-02
-#&gt; 270: 1.0189e+02 -4.1204e+00 -2.3513e+00 -4.0640e+00 -1.0127e+00 1.3309e-03 3.5900e-02 5.3234e-07 7.6677e-02 2.3220e-02 1.8860e-01 1.0367e-01 9.3573e-01 8.3250e-02 9.9169e-01 8.2904e-02
-#&gt; 271: 1.0189e+02 -4.1204e+00 -2.3514e+00 -4.0637e+00 -1.0129e+00 1.1237e-03 3.5608e-02 5.3092e-07 7.7065e-02 2.3102e-02 1.8826e-01 1.0384e-01 9.3645e-01 8.3228e-02 9.9173e-01 8.2896e-02
-#&gt; 272: 1.0189e+02 -4.1204e+00 -2.3510e+00 -4.0639e+00 -1.0134e+00 9.7855e-04 3.5328e-02 5.3100e-07 7.7173e-02 2.3014e-02 1.8817e-01 1.0367e-01 9.3538e-01 8.3266e-02 9.9139e-01 8.2943e-02
-#&gt; 273: 1.0189e+02 -4.1204e+00 -2.3501e+00 -4.0643e+00 -1.0133e+00 1.1275e-03 3.5187e-02 5.3298e-07 7.7467e-02 2.2923e-02 1.8793e-01 1.0344e-01 9.3474e-01 8.3194e-02 9.9249e-01 8.2973e-02
-#&gt; 274: 1.0189e+02 -4.1204e+00 -2.3498e+00 -4.0643e+00 -1.0134e+00 1.4524e-03 3.4996e-02 5.3407e-07 7.7929e-02 2.2819e-02 1.8837e-01 1.0316e-01 9.3399e-01 8.3168e-02 9.9307e-01 8.2981e-02
-#&gt; 275: 1.0189e+02 -4.1204e+00 -2.3500e+00 -4.0641e+00 -1.0136e+00 1.3605e-03 3.4786e-02 5.3269e-07 7.8177e-02 2.2747e-02 1.8855e-01 1.0305e-01 9.3319e-01 8.3205e-02 9.9277e-01 8.2938e-02
-#&gt; 276: 1.0189e+02 -4.1204e+00 -2.3504e+00 -4.0641e+00 -1.0136e+00 1.5273e-03 3.4581e-02 5.3172e-07 7.8495e-02 2.2764e-02 1.8824e-01 1.0297e-01 9.3267e-01 8.3223e-02 9.9204e-01 8.2884e-02
-#&gt; 277: 1.0189e+02 -4.1204e+00 -2.3506e+00 -4.0643e+00 -1.0133e+00 1.2961e-03 3.4373e-02 5.2917e-07 7.8721e-02 2.2791e-02 1.8801e-01 1.0288e-01 9.3253e-01 8.3185e-02 9.9192e-01 8.2854e-02
-#&gt; 278: 1.0189e+02 -4.1204e+00 -2.3508e+00 -4.0643e+00 -1.0129e+00 1.1750e-03 3.4396e-02 5.2693e-07 7.8999e-02 2.2787e-02 1.8793e-01 1.0278e-01 9.3279e-01 8.3113e-02 9.9144e-01 8.2856e-02
-#&gt; 279: 1.0189e+02 -4.1204e+00 -2.3507e+00 -4.0642e+00 -1.0126e+00 1.2755e-03 3.4381e-02 5.2405e-07 7.9351e-02 2.2804e-02 1.8779e-01 1.0255e-01 9.3319e-01 8.3049e-02 9.9099e-01 8.2875e-02
-#&gt; 280: 1.0189e+02 -4.1204e+00 -2.3507e+00 -4.0641e+00 -1.0127e+00 6.3408e-04 3.4519e-02 5.2180e-07 7.9825e-02 2.2801e-02 1.8775e-01 1.0292e-01 9.3349e-01 8.2970e-02 9.9076e-01 8.2918e-02
-#&gt; 281: 1.0189e+02 -4.1204e+00 -2.3508e+00 -4.0639e+00 -1.0124e+00 6.2438e-04 3.4782e-02 5.1859e-07 8.0328e-02 2.2816e-02 1.8757e-01 1.0299e-01 9.3299e-01 8.3025e-02 9.9050e-01 8.2897e-02
-#&gt; 282: 1.0189e+02 -4.1205e+00 -2.3511e+00 -4.0641e+00 -1.0122e+00 1.1770e-03 3.4754e-02 5.1798e-07 8.0649e-02 2.2836e-02 1.8766e-01 1.0297e-01 9.3351e-01 8.2989e-02 9.9171e-01 8.2893e-02
-#&gt; 283: 1.0189e+02 -4.1205e+00 -2.3519e+00 -4.0644e+00 -1.0120e+00 2.1716e-03 3.4711e-02 5.1567e-07 8.0910e-02 2.2836e-02 1.8774e-01 1.0270e-01 9.3288e-01 8.3029e-02 9.9246e-01 8.2853e-02
-#&gt; 284: 1.0189e+02 -4.1205e+00 -2.3524e+00 -4.0647e+00 -1.0115e+00 2.6623e-03 3.4646e-02 5.1350e-07 8.1153e-02 2.2950e-02 1.8775e-01 1.0277e-01 9.3238e-01 8.2990e-02 9.9212e-01 8.2836e-02
-#&gt; 285: 1.0189e+02 -4.1205e+00 -2.3531e+00 -4.0649e+00 -1.0116e+00 3.7830e-03 3.4626e-02 5.1216e-07 8.1058e-02 2.3007e-02 1.8782e-01 1.0270e-01 9.3232e-01 8.3017e-02 9.9094e-01 8.2829e-02
-#&gt; 286: 1.0189e+02 -4.1205e+00 -2.3539e+00 -4.0651e+00 -1.0111e+00 5.1752e-03 3.4599e-02 5.0989e-07 8.0970e-02 2.3004e-02 1.8757e-01 1.0254e-01 9.3280e-01 8.3006e-02 9.9130e-01 8.2818e-02
-#&gt; 287: 1.0189e+02 -4.1205e+00 -2.3541e+00 -4.0654e+00 -1.0112e+00 6.3747e-03 3.4592e-02 5.0930e-07 8.1117e-02 2.2959e-02 1.8756e-01 1.0222e-01 9.3212e-01 8.3146e-02 9.9183e-01 8.2863e-02
-#&gt; 288: 1.0189e+02 -4.1205e+00 -2.3540e+00 -4.0656e+00 -1.0115e+00 6.5668e-03 3.4598e-02 5.0976e-07 8.1125e-02 2.2895e-02 1.8782e-01 1.0183e-01 9.3310e-01 8.3169e-02 9.9404e-01 8.2836e-02
-#&gt; 289: 1.0189e+02 -4.1205e+00 -2.3539e+00 -4.0658e+00 -1.0119e+00 7.3521e-03 3.4525e-02 5.1097e-07 8.1097e-02 2.2869e-02 1.8753e-01 1.0126e-01 9.3336e-01 8.3244e-02 9.9435e-01 8.2833e-02
-#&gt; 290: 1.0189e+02 -4.1205e+00 -2.3539e+00 -4.0659e+00 -1.0122e+00 7.5226e-03 3.4377e-02 5.0846e-07 8.1212e-02 2.2831e-02 1.8724e-01 1.0073e-01 9.3292e-01 8.3261e-02 9.9415e-01 8.2837e-02
-#&gt; 291: 1.0189e+02 -4.1205e+00 -2.3536e+00 -4.0659e+00 -1.0122e+00 7.2889e-03 3.4263e-02 5.0823e-07 8.1182e-02 2.2801e-02 1.8711e-01 1.0056e-01 9.3309e-01 8.3300e-02 9.9427e-01 8.2805e-02
-#&gt; 292: 1.0189e+02 -4.1205e+00 -2.3531e+00 -4.0659e+00 -1.0123e+00 7.1827e-03 3.4146e-02 5.0825e-07 8.1696e-02 2.2760e-02 1.8703e-01 1.0039e-01 9.3324e-01 8.3306e-02 9.9379e-01 8.2784e-02
-#&gt; 293: 1.0189e+02 -4.1205e+00 -2.3528e+00 -4.0660e+00 -1.0125e+00 7.7142e-03 3.4126e-02 5.0971e-07 8.2026e-02 2.2705e-02 1.8721e-01 1.0036e-01 9.3316e-01 8.3316e-02 9.9357e-01 8.2756e-02
-#&gt; 294: 1.0188e+02 -4.1204e+00 -2.3529e+00 -4.0663e+00 -1.0126e+00 8.5146e-03 3.4314e-02 5.0823e-07 8.2197e-02 2.2608e-02 1.8743e-01 1.0009e-01 9.3356e-01 8.3308e-02 9.9367e-01 8.2719e-02
-#&gt; 295: 1.0188e+02 -4.1204e+00 -2.3532e+00 -4.0666e+00 -1.0123e+00 9.2199e-03 3.4472e-02 5.0839e-07 8.2550e-02 2.2529e-02 1.8745e-01 9.9731e-02 9.3393e-01 8.3255e-02 9.9373e-01 8.2686e-02
-#&gt; 296: 1.0188e+02 -4.1204e+00 -2.3537e+00 -4.0667e+00 -1.0121e+00 9.7869e-03 3.4678e-02 5.0983e-07 8.3059e-02 2.2497e-02 1.8729e-01 9.9260e-02 9.3395e-01 8.3198e-02 9.9300e-01 8.2681e-02
-#&gt; 297: 1.0188e+02 -4.1204e+00 -2.3540e+00 -4.0670e+00 -1.0118e+00 1.0166e-02 3.4957e-02 5.1049e-07 8.3080e-02 2.2448e-02 1.8710e-01 9.8969e-02 9.3321e-01 8.3178e-02 9.9255e-01 8.2663e-02
-#&gt; 298: 1.0188e+02 -4.1204e+00 -2.3544e+00 -4.0673e+00 -1.0117e+00 1.0649e-02 3.5259e-02 5.1103e-07 8.3179e-02 2.2383e-02 1.8704e-01 9.8442e-02 9.3227e-01 8.3199e-02 9.9266e-01 8.2646e-02
-#&gt; 299: 1.0188e+02 -4.1204e+00 -2.3542e+00 -4.0676e+00 -1.0117e+00 1.0927e-02 3.5438e-02 5.1128e-07 8.3068e-02 2.2378e-02 1.8699e-01 9.8203e-02 9.3263e-01 8.3138e-02 9.9353e-01 8.2671e-02
-#&gt; 300: 1.0188e+02 -4.1204e+00 -2.3544e+00 -4.0678e+00 -1.0116e+00 1.1083e-02 3.5694e-02 5.1107e-07 8.2896e-02 2.2344e-02 1.8733e-01 9.7775e-02 9.3179e-01 8.3124e-02 9.9379e-01 8.2657e-02
-#&gt; 301: 1.0188e+02 -4.1204e+00 -2.3542e+00 -4.0680e+00 -1.0115e+00 1.0992e-02 3.5896e-02 5.1262e-07 8.2816e-02 2.2349e-02 1.8753e-01 9.7431e-02 9.3209e-01 8.3086e-02 9.9388e-01 8.2674e-02
-#&gt; 302: 1.0188e+02 -4.1204e+00 -2.3540e+00 -4.0681e+00 -1.0113e+00 1.0410e-02 3.6050e-02 5.1256e-07 8.2817e-02 2.2308e-02 1.8734e-01 9.7153e-02 9.3221e-01 8.3073e-02 9.9402e-01 8.2670e-02
-#&gt; 303: 1.0188e+02 -4.1204e+00 -2.3540e+00 -4.0681e+00 -1.0112e+00 1.0301e-02 3.6150e-02 5.1127e-07 8.2826e-02 2.2325e-02 1.8730e-01 9.6656e-02 9.3192e-01 8.3040e-02 9.9393e-01 8.2665e-02
-#&gt; 304: 1.0188e+02 -4.1204e+00 -2.3536e+00 -4.0681e+00 -1.0113e+00 1.0235e-02 3.6393e-02 5.1176e-07 8.2606e-02 2.2353e-02 1.8724e-01 9.6171e-02 9.3161e-01 8.3068e-02 9.9361e-01 8.2698e-02
-#&gt; 305: 1.0188e+02 -4.1204e+00 -2.3533e+00 -4.0683e+00 -1.0112e+00 9.9655e-03 3.6369e-02 5.1442e-07 8.2520e-02 2.2378e-02 1.8707e-01 9.5656e-02 9.3113e-01 8.3109e-02 9.9338e-01 8.2731e-02
-#&gt; 306: 1.0188e+02 -4.1204e+00 -2.3531e+00 -4.0684e+00 -1.0110e+00 9.9701e-03 3.6346e-02 5.1546e-07 8.2789e-02 2.2360e-02 1.8702e-01 9.5116e-02 9.3102e-01 8.3065e-02 9.9405e-01 8.2761e-02
-#&gt; 307: 1.0188e+02 -4.1204e+00 -2.3530e+00 -4.0684e+00 -1.0112e+00 1.0194e-02 3.6300e-02 5.1196e-07 8.3035e-02 2.2381e-02 1.8704e-01 9.4760e-02 9.3082e-01 8.3003e-02 9.9410e-01 8.2779e-02
-#&gt; 308: 1.0189e+02 -4.1204e+00 -2.3530e+00 -4.0685e+00 -1.0109e+00 9.9531e-03 3.6400e-02 5.1140e-07 8.3511e-02 2.2334e-02 1.8726e-01 9.4494e-02 9.3151e-01 8.2910e-02 9.9484e-01 8.2760e-02
-#&gt; 309: 1.0188e+02 -4.1204e+00 -2.3530e+00 -4.0685e+00 -1.0107e+00 1.0089e-02 3.6382e-02 5.1081e-07 8.3917e-02 2.2276e-02 1.8728e-01 9.4285e-02 9.3133e-01 8.2875e-02 9.9545e-01 8.2757e-02
-#&gt; 310: 1.0188e+02 -4.1204e+00 -2.3533e+00 -4.0685e+00 -1.0105e+00 1.0805e-02 3.6375e-02 5.1041e-07 8.4245e-02 2.2246e-02 1.8753e-01 9.3894e-02 9.3052e-01 8.2899e-02 9.9500e-01 8.2743e-02
-#&gt; 311: 1.0188e+02 -4.1204e+00 -2.3534e+00 -4.0685e+00 -1.0103e+00 1.1449e-02 3.6311e-02 5.0884e-07 8.4434e-02 2.2231e-02 1.8783e-01 9.3542e-02 9.3039e-01 8.2864e-02 9.9458e-01 8.2733e-02
-#&gt; 312: 1.0188e+02 -4.1204e+00 -2.3535e+00 -4.0685e+00 -1.0102e+00 1.2173e-02 3.6373e-02 5.0821e-07 8.4730e-02 2.2176e-02 1.8769e-01 9.3317e-02 9.2982e-01 8.2916e-02 9.9438e-01 8.2740e-02
-#&gt; 313: 1.0188e+02 -4.1204e+00 -2.3533e+00 -4.0688e+00 -1.0103e+00 1.2812e-02 3.6558e-02 5.0751e-07 8.5211e-02 2.2131e-02 1.8754e-01 9.3387e-02 9.2962e-01 8.2892e-02 9.9458e-01 8.2741e-02
-#&gt; 314: 1.0188e+02 -4.1204e+00 -2.3534e+00 -4.0690e+00 -1.0103e+00 1.3241e-02 3.6680e-02 5.0887e-07 8.5667e-02 2.2079e-02 1.8772e-01 9.3442e-02 9.2941e-01 8.2947e-02 9.9511e-01 8.2743e-02
-#&gt; 315: 1.0188e+02 -4.1204e+00 -2.3534e+00 -4.0691e+00 -1.0104e+00 1.3699e-02 3.6924e-02 5.0965e-07 8.5865e-02 2.2028e-02 1.8766e-01 9.3264e-02 9.2904e-01 8.2986e-02 9.9543e-01 8.2763e-02
-#&gt; 316: 1.0188e+02 -4.1204e+00 -2.3533e+00 -4.0693e+00 -1.0103e+00 1.4121e-02 3.7218e-02 5.1041e-07 8.6216e-02 2.2076e-02 1.8773e-01 9.3035e-02 9.2917e-01 8.3013e-02 9.9486e-01 8.2782e-02
-#&gt; 317: 1.0188e+02 -4.1204e+00 -2.3533e+00 -4.0694e+00 -1.0102e+00 1.4588e-02 3.7304e-02 5.0994e-07 8.6513e-02 2.2128e-02 1.8773e-01 9.2766e-02 9.2943e-01 8.3025e-02 9.9441e-01 8.2779e-02
-#&gt; 318: 1.0188e+02 -4.1204e+00 -2.3534e+00 -4.0693e+00 -1.0101e+00 1.4714e-02 3.7538e-02 5.0773e-07 8.6801e-02 2.2128e-02 1.8767e-01 9.2698e-02 9.2907e-01 8.3052e-02 9.9378e-01 8.2780e-02
-#&gt; 319: 1.0187e+02 -4.1204e+00 -2.3533e+00 -4.0692e+00 -1.0099e+00 1.4582e-02 3.7563e-02 5.0550e-07 8.6669e-02 2.2135e-02 1.8775e-01 9.2604e-02 9.2925e-01 8.3042e-02 9.9356e-01 8.2773e-02
-#&gt; 320: 1.0187e+02 -4.1204e+00 -2.3535e+00 -4.0690e+00 -1.0102e+00 1.4511e-02 3.7580e-02 5.0281e-07 8.6617e-02 2.2121e-02 1.8780e-01 9.2508e-02 9.3001e-01 8.3032e-02 9.9322e-01 8.2780e-02
-#&gt; 321: 1.0187e+02 -4.1204e+00 -2.3534e+00 -4.0688e+00 -1.0100e+00 1.4288e-02 3.7624e-02 5.0172e-07 8.6311e-02 2.2115e-02 1.8783e-01 9.2445e-02 9.3011e-01 8.3054e-02 9.9288e-01 8.2772e-02
-#&gt; 322: 1.0187e+02 -4.1204e+00 -2.3532e+00 -4.0687e+00 -1.0098e+00 1.3834e-02 3.7497e-02 5.0086e-07 8.6187e-02 2.2111e-02 1.8791e-01 9.2699e-02 9.3037e-01 8.3069e-02 9.9284e-01 8.2773e-02
-#&gt; 323: 1.0187e+02 -4.1204e+00 -2.3524e+00 -4.0683e+00 -1.0097e+00 1.2977e-02 3.7420e-02 4.9925e-07 8.6082e-02 2.2084e-02 1.8818e-01 9.3123e-02 9.3036e-01 8.3012e-02 9.9265e-01 8.2813e-02
-#&gt; 324: 1.0187e+02 -4.1204e+00 -2.3523e+00 -4.0682e+00 -1.0096e+00 1.2679e-02 3.7420e-02 4.9836e-07 8.5721e-02 2.2071e-02 1.8829e-01 9.3535e-02 9.3062e-01 8.3011e-02 9.9241e-01 8.2827e-02
-#&gt; 325: 1.0187e+02 -4.1204e+00 -2.3520e+00 -4.0680e+00 -1.0094e+00 1.2196e-02 3.7298e-02 4.9735e-07 8.5411e-02 2.2028e-02 1.8848e-01 9.3706e-02 9.3043e-01 8.3020e-02 9.9256e-01 8.2826e-02
-#&gt; 326: 1.0187e+02 -4.1204e+00 -2.3517e+00 -4.0678e+00 -1.0091e+00 1.1924e-02 3.7185e-02 4.9661e-07 8.5453e-02 2.1983e-02 1.8830e-01 9.3688e-02 9.3050e-01 8.2996e-02 9.9284e-01 8.2806e-02
-#&gt; 327: 1.0187e+02 -4.1204e+00 -2.3516e+00 -4.0677e+00 -1.0090e+00 1.1449e-02 3.7155e-02 4.9755e-07 8.5761e-02 2.1967e-02 1.8819e-01 9.3936e-02 9.3052e-01 8.2912e-02 9.9245e-01 8.2806e-02
-#&gt; 328: 1.0187e+02 -4.1204e+00 -2.3514e+00 -4.0675e+00 -1.0089e+00 1.0758e-02 3.7146e-02 4.9892e-07 8.6019e-02 2.1971e-02 1.8806e-01 9.4361e-02 9.3070e-01 8.2833e-02 9.9182e-01 8.2840e-02
-#&gt; 329: 1.0187e+02 -4.1204e+00 -2.3515e+00 -4.0672e+00 -1.0087e+00 1.0256e-02 3.7342e-02 5.0019e-07 8.5965e-02 2.1989e-02 1.8796e-01 9.4614e-02 9.3067e-01 8.2818e-02 9.9159e-01 8.2858e-02
-#&gt; 330: 1.0187e+02 -4.1204e+00 -2.3520e+00 -4.0670e+00 -1.0086e+00 1.0021e-02 3.7376e-02 4.9911e-07 8.6124e-02 2.1978e-02 1.8796e-01 9.4836e-02 9.3036e-01 8.2819e-02 9.9148e-01 8.2866e-02
-#&gt; 331: 1.0187e+02 -4.1204e+00 -2.3521e+00 -4.0668e+00 -1.0086e+00 9.5790e-03 3.7296e-02 4.9753e-07 8.6122e-02 2.1951e-02 1.8782e-01 9.5042e-02 9.3064e-01 8.2783e-02 9.9196e-01 8.2863e-02
-#&gt; 332: 1.0187e+02 -4.1204e+00 -2.3523e+00 -4.0667e+00 -1.0085e+00 9.2971e-03 3.7221e-02 4.9729e-07 8.6215e-02 2.1952e-02 1.8787e-01 9.5082e-02 9.3103e-01 8.2782e-02 9.9224e-01 8.2861e-02
-#&gt; 333: 1.0187e+02 -4.1204e+00 -2.3524e+00 -4.0667e+00 -1.0084e+00 9.2591e-03 3.7097e-02 4.9556e-07 8.6302e-02 2.1922e-02 1.8792e-01 9.5155e-02 9.3058e-01 8.2798e-02 9.9202e-01 8.2831e-02
-#&gt; 334: 1.0187e+02 -4.1204e+00 -2.3528e+00 -4.0667e+00 -1.0082e+00 9.5799e-03 3.6997e-02 4.9398e-07 8.6409e-02 2.1911e-02 1.8792e-01 9.5231e-02 9.3035e-01 8.2810e-02 9.9157e-01 8.2803e-02
-#&gt; 335: 1.0187e+02 -4.1204e+00 -2.3529e+00 -4.0667e+00 -1.0080e+00 9.5724e-03 3.6912e-02 4.9206e-07 8.6310e-02 2.1923e-02 1.8791e-01 9.5379e-02 9.3054e-01 8.2759e-02 9.9143e-01 8.2776e-02
-#&gt; 336: 1.0187e+02 -4.1204e+00 -2.3525e+00 -4.0667e+00 -1.0082e+00 9.5794e-03 3.6983e-02 4.9255e-07 8.6282e-02 2.1882e-02 1.8789e-01 9.5422e-02 9.3064e-01 8.2705e-02 9.9138e-01 8.2778e-02
-#&gt; 337: 1.0187e+02 -4.1204e+00 -2.3525e+00 -4.0669e+00 -1.0083e+00 1.0008e-02 3.6943e-02 4.9278e-07 8.6483e-02 2.1844e-02 1.8794e-01 9.5240e-02 9.2981e-01 8.2753e-02 9.9100e-01 8.2774e-02
-#&gt; 338: 1.0187e+02 -4.1204e+00 -2.3525e+00 -4.0669e+00 -1.0084e+00 1.0297e-02 3.6869e-02 4.9309e-07 8.6547e-02 2.1803e-02 1.8808e-01 9.5094e-02 9.2978e-01 8.2764e-02 9.9113e-01 8.2759e-02
-#&gt; 339: 1.0187e+02 -4.1204e+00 -2.3528e+00 -4.0669e+00 -1.0083e+00 1.0465e-02 3.6822e-02 4.9257e-07 8.6779e-02 2.1769e-02 1.8813e-01 9.5062e-02 9.3020e-01 8.2702e-02 9.9135e-01 8.2750e-02
-#&gt; 340: 1.0187e+02 -4.1204e+00 -2.3531e+00 -4.0668e+00 -1.0083e+00 1.0321e-02 3.6733e-02 4.9228e-07 8.7033e-02 2.1721e-02 1.8827e-01 9.4862e-02 9.3062e-01 8.2698e-02 9.9195e-01 8.2729e-02
-#&gt; 341: 1.0187e+02 -4.1204e+00 -2.3531e+00 -4.0670e+00 -1.0085e+00 1.0501e-02 3.6671e-02 4.9236e-07 8.7297e-02 2.1733e-02 1.8820e-01 9.4558e-02 9.3121e-01 8.2677e-02 9.9238e-01 8.2713e-02
-#&gt; 342: 1.0187e+02 -4.1204e+00 -2.3534e+00 -4.0670e+00 -1.0085e+00 1.0818e-02 3.6715e-02 4.9084e-07 8.7450e-02 2.1726e-02 1.8801e-01 9.4252e-02 9.3160e-01 8.2657e-02 9.9232e-01 8.2708e-02
-#&gt; 343: 1.0187e+02 -4.1204e+00 -2.3535e+00 -4.0670e+00 -1.0087e+00 1.1046e-02 3.6784e-02 4.8872e-07 8.7718e-02 2.1718e-02 1.8799e-01 9.3887e-02 9.3187e-01 8.2645e-02 9.9225e-01 8.2722e-02
-#&gt; 344: 1.0187e+02 -4.1204e+00 -2.3535e+00 -4.0670e+00 -1.0087e+00 1.0652e-02 3.6736e-02 4.8852e-07 8.7725e-02 2.1730e-02 1.8792e-01 9.3731e-02 9.3202e-01 8.2618e-02 9.9218e-01 8.2712e-02
-#&gt; 345: 1.0187e+02 -4.1204e+00 -2.3536e+00 -4.0669e+00 -1.0090e+00 1.0445e-02 3.6714e-02 4.8690e-07 8.7782e-02 2.1751e-02 1.8798e-01 9.3450e-02 9.3223e-01 8.2582e-02 9.9239e-01 8.2706e-02
-#&gt; 346: 1.0187e+02 -4.1204e+00 -2.3536e+00 -4.0668e+00 -1.0089e+00 1.0173e-02 3.6743e-02 4.8656e-07 8.7733e-02 2.1810e-02 1.8814e-01 9.3151e-02 9.3257e-01 8.2575e-02 9.9181e-01 8.2708e-02
-#&gt; 347: 1.0187e+02 -4.1205e+00 -2.3532e+00 -4.0668e+00 -1.0089e+00 9.9457e-03 3.6808e-02 4.8756e-07 8.7948e-02 2.1819e-02 1.8813e-01 9.3040e-02 9.3255e-01 8.2599e-02 9.9124e-01 8.2727e-02
-#&gt; 348: 1.0187e+02 -4.1205e+00 -2.3534e+00 -4.0667e+00 -1.0090e+00 9.8498e-03 3.6967e-02 4.8883e-07 8.7998e-02 2.1841e-02 1.8820e-01 9.3180e-02 9.3259e-01 8.2612e-02 9.9148e-01 8.2750e-02
-#&gt; 349: 1.0187e+02 -4.1205e+00 -2.3535e+00 -4.0668e+00 -1.0091e+00 9.6211e-03 3.6891e-02 4.8867e-07 8.8006e-02 2.1930e-02 1.8819e-01 9.3390e-02 9.3232e-01 8.2612e-02 9.9073e-01 8.2738e-02
-#&gt; 350: 1.0187e+02 -4.1205e+00 -2.3534e+00 -4.0669e+00 -1.0090e+00 9.7176e-03 3.6813e-02 4.8925e-07 8.7923e-02 2.1964e-02 1.8820e-01 9.3434e-02 9.3224e-01 8.2600e-02 9.9031e-01 8.2734e-02
-#&gt; 351: 1.0187e+02 -4.1204e+00 -2.3535e+00 -4.0669e+00 -1.0090e+00 9.6652e-03 3.6769e-02 4.8873e-07 8.7985e-02 2.2046e-02 1.8814e-01 9.3529e-02 9.3220e-01 8.2558e-02 9.8978e-01 8.2728e-02
-#&gt; 352: 1.0187e+02 -4.1204e+00 -2.3536e+00 -4.0669e+00 -1.0089e+00 9.8745e-03 3.6732e-02 4.8969e-07 8.8016e-02 2.2094e-02 1.8799e-01 9.3644e-02 9.3168e-01 8.2577e-02 9.8913e-01 8.2722e-02
-#&gt; 353: 1.0187e+02 -4.1204e+00 -2.3537e+00 -4.0669e+00 -1.0088e+00 9.7530e-03 3.6700e-02 4.9008e-07 8.7949e-02 2.2116e-02 1.8798e-01 9.3769e-02 9.3165e-01 8.2559e-02 9.8871e-01 8.2711e-02
-#&gt; 354: 1.0187e+02 -4.1204e+00 -2.3538e+00 -4.0667e+00 -1.0089e+00 9.4103e-03 3.6653e-02 4.9045e-07 8.7894e-02 2.2118e-02 1.8793e-01 9.3872e-02 9.3188e-01 8.2551e-02 9.8887e-01 8.2692e-02
-#&gt; 355: 1.0187e+02 -4.1204e+00 -2.3540e+00 -4.0666e+00 -1.0088e+00 9.1684e-03 3.6536e-02 4.9125e-07 8.7920e-02 2.2107e-02 1.8812e-01 9.4123e-02 9.3223e-01 8.2517e-02 9.8893e-01 8.2687e-02
-#&gt; 356: 1.0187e+02 -4.1204e+00 -2.3542e+00 -4.0664e+00 -1.0086e+00 8.9025e-03 3.6431e-02 4.9325e-07 8.7949e-02 2.2110e-02 1.8827e-01 9.4135e-02 9.3252e-01 8.2503e-02 9.8907e-01 8.2649e-02
-#&gt; 357: 1.0187e+02 -4.1204e+00 -2.3542e+00 -4.0663e+00 -1.0085e+00 8.6757e-03 3.6417e-02 4.9505e-07 8.8052e-02 2.2096e-02 1.8848e-01 9.4192e-02 9.3281e-01 8.2490e-02 9.8957e-01 8.2624e-02
-#&gt; 358: 1.0187e+02 -4.1204e+00 -2.3542e+00 -4.0661e+00 -1.0084e+00 8.1812e-03 3.6349e-02 4.9610e-07 8.8344e-02 2.2104e-02 1.8844e-01 9.4129e-02 9.3294e-01 8.2493e-02 9.8977e-01 8.2614e-02
-#&gt; 359: 1.0187e+02 -4.1204e+00 -2.3541e+00 -4.0659e+00 -1.0083e+00 8.0905e-03 3.6475e-02 4.9675e-07 8.8647e-02 2.2116e-02 1.8831e-01 9.4146e-02 9.3322e-01 8.2473e-02 9.8978e-01 8.2622e-02
-#&gt; 360: 1.0187e+02 -4.1204e+00 -2.3542e+00 -4.0657e+00 -1.0082e+00 7.8390e-03 3.6468e-02 4.9649e-07 8.8981e-02 2.2120e-02 1.8815e-01 9.4249e-02 9.3361e-01 8.2430e-02 9.8997e-01 8.2616e-02
-#&gt; 361: 1.0187e+02 -4.1204e+00 -2.3545e+00 -4.0656e+00 -1.0083e+00 7.9104e-03 3.6434e-02 4.9737e-07 8.9447e-02 2.2133e-02 1.8808e-01 9.4085e-02 9.3387e-01 8.2426e-02 9.9025e-01 8.2616e-02
-#&gt; 362: 1.0187e+02 -4.1204e+00 -2.3547e+00 -4.0655e+00 -1.0087e+00 7.6341e-03 3.6428e-02 4.9748e-07 8.9872e-02 2.2148e-02 1.8805e-01 9.4025e-02 9.3407e-01 8.2456e-02 9.9070e-01 8.2609e-02
-#&gt; 363: 1.0187e+02 -4.1204e+00 -2.3546e+00 -4.0653e+00 -1.0087e+00 7.2351e-03 3.6392e-02 4.9842e-07 9.0125e-02 2.2179e-02 1.8818e-01 9.4157e-02 9.3437e-01 8.2439e-02 9.9051e-01 8.2626e-02
-#&gt; 364: 1.0187e+02 -4.1204e+00 -2.3543e+00 -4.0651e+00 -1.0089e+00 6.7851e-03 3.6303e-02 4.9890e-07 9.0448e-02 2.2189e-02 1.8831e-01 9.4432e-02 9.3513e-01 8.2433e-02 9.9051e-01 8.2655e-02
-#&gt; 365: 1.0187e+02 -4.1204e+00 -2.3538e+00 -4.0650e+00 -1.0089e+00 6.2935e-03 3.6267e-02 4.9829e-07 9.0718e-02 2.2204e-02 1.8818e-01 9.4507e-02 9.3580e-01 8.2387e-02 9.9049e-01 8.2678e-02
-#&gt; 366: 1.0187e+02 -4.1204e+00 -2.3535e+00 -4.0649e+00 -1.0088e+00 5.8910e-03 3.6339e-02 4.9911e-07 9.0727e-02 2.2231e-02 1.8801e-01 9.4683e-02 9.3567e-01 8.2359e-02 9.8997e-01 8.2681e-02
-#&gt; 367: 1.0187e+02 -4.1204e+00 -2.3533e+00 -4.0649e+00 -1.0088e+00 5.8610e-03 3.6366e-02 5.0123e-07 9.0732e-02 2.2245e-02 1.8793e-01 9.4666e-02 9.3556e-01 8.2339e-02 9.8945e-01 8.2691e-02
-#&gt; 368: 1.0187e+02 -4.1204e+00 -2.3531e+00 -4.0650e+00 -1.0088e+00 6.1043e-03 3.6424e-02 5.0107e-07 9.0729e-02 2.2248e-02 1.8780e-01 9.4599e-02 9.3554e-01 8.2315e-02 9.8903e-01 8.2705e-02
-#&gt; 369: 1.0187e+02 -4.1204e+00 -2.3530e+00 -4.0650e+00 -1.0088e+00 6.1767e-03 3.6436e-02 5.0046e-07 9.0617e-02 2.2226e-02 1.8787e-01 9.4410e-02 9.3504e-01 8.2361e-02 9.8843e-01 8.2694e-02
-#&gt; 370: 1.0187e+02 -4.1204e+00 -2.3528e+00 -4.0651e+00 -1.0088e+00 6.2532e-03 3.6467e-02 5.0024e-07 9.0741e-02 2.2223e-02 1.8794e-01 9.4288e-02 9.3472e-01 8.2374e-02 9.8781e-01 8.2703e-02
-#&gt; 371: 1.0186e+02 -4.1204e+00 -2.3525e+00 -4.0652e+00 -1.0088e+00 6.2117e-03 3.6465e-02 4.9964e-07 9.0904e-02 2.2220e-02 1.8788e-01 9.4310e-02 9.3470e-01 8.2367e-02 9.8730e-01 8.2731e-02
-#&gt; 372: 1.0186e+02 -4.1204e+00 -2.3524e+00 -4.0651e+00 -1.0089e+00 6.1363e-03 3.6367e-02 5.0037e-07 9.1177e-02 2.2230e-02 1.8783e-01 9.4288e-02 9.3496e-01 8.2365e-02 9.8699e-01 8.2729e-02
-#&gt; 373: 1.0186e+02 -4.1204e+00 -2.3523e+00 -4.0650e+00 -1.0089e+00 6.0384e-03 3.6353e-02 5.0195e-07 9.1402e-02 2.2219e-02 1.8764e-01 9.4343e-02 9.3478e-01 8.2430e-02 9.8641e-01 8.2747e-02
-#&gt; 374: 1.0186e+02 -4.1204e+00 -2.3523e+00 -4.0650e+00 -1.0091e+00 5.9821e-03 3.6377e-02 5.0424e-07 9.1532e-02 2.2243e-02 1.8761e-01 9.4219e-02 9.3466e-01 8.2418e-02 9.8614e-01 8.2735e-02
-#&gt; 375: 1.0186e+02 -4.1204e+00 -2.3524e+00 -4.0649e+00 -1.0091e+00 5.8843e-03 3.6358e-02 5.0568e-07 9.1556e-02 2.2250e-02 1.8768e-01 9.4173e-02 9.3432e-01 8.2413e-02 9.8592e-01 8.2728e-02
-#&gt; 376: 1.0186e+02 -4.1204e+00 -2.3526e+00 -4.0649e+00 -1.0090e+00 5.7256e-03 3.6406e-02 5.0673e-07 9.1590e-02 2.2260e-02 1.8765e-01 9.4159e-02 9.3417e-01 8.2400e-02 9.8565e-01 8.2701e-02
-#&gt; 377: 1.0186e+02 -4.1204e+00 -2.3527e+00 -4.0647e+00 -1.0091e+00 5.2782e-03 3.6397e-02 5.0740e-07 9.1564e-02 2.2263e-02 1.8765e-01 9.4084e-02 9.3434e-01 8.2395e-02 9.8563e-01 8.2680e-02
-#&gt; 378: 1.0186e+02 -4.1204e+00 -2.3524e+00 -4.0646e+00 -1.0091e+00 4.8184e-03 3.6478e-02 5.0759e-07 9.1590e-02 2.2213e-02 1.8766e-01 9.4162e-02 9.3432e-01 8.2353e-02 9.8595e-01 8.2681e-02
-#&gt; 379: 1.0186e+02 -4.1204e+00 -2.3521e+00 -4.0646e+00 -1.0089e+00 4.4861e-03 3.6557e-02 5.0710e-07 9.1595e-02 2.2159e-02 1.8767e-01 9.3894e-02 9.3395e-01 8.2341e-02 9.8636e-01 8.2671e-02
-#&gt; 380: 1.0186e+02 -4.1204e+00 -2.3517e+00 -4.0644e+00 -1.0089e+00 3.9799e-03 3.6543e-02 5.0682e-07 9.1532e-02 2.2143e-02 1.8768e-01 9.3854e-02 9.3372e-01 8.2331e-02 9.8640e-01 8.2678e-02
-#&gt; 381: 1.0186e+02 -4.1204e+00 -2.3515e+00 -4.0643e+00 -1.0089e+00 3.6269e-03 3.6531e-02 5.0770e-07 9.1364e-02 2.2157e-02 1.8768e-01 9.3897e-02 9.3383e-01 8.2326e-02 9.8630e-01 8.2675e-02
-#&gt; 382: 1.0186e+02 -4.1204e+00 -2.3513e+00 -4.0643e+00 -1.0090e+00 3.1691e-03 3.6469e-02 5.0860e-07 9.1318e-02 2.2188e-02 1.8767e-01 9.3787e-02 9.3433e-01 8.2306e-02 9.8643e-01 8.2670e-02
-#&gt; 383: 1.0186e+02 -4.1204e+00 -2.3508e+00 -4.0642e+00 -1.0090e+00 2.6209e-03 3.6416e-02 5.0893e-07 9.1374e-02 2.2165e-02 1.8759e-01 9.3654e-02 9.3443e-01 8.2289e-02 9.8663e-01 8.2672e-02
-#&gt; 384: 1.0186e+02 -4.1204e+00 -2.3505e+00 -4.0640e+00 -1.0090e+00 2.1556e-03 3.6403e-02 5.0834e-07 9.1550e-02 2.2148e-02 1.8750e-01 9.3422e-02 9.3444e-01 8.2277e-02 9.8639e-01 8.2670e-02
-#&gt; 385: 1.0186e+02 -4.1204e+00 -2.3505e+00 -4.0638e+00 -1.0089e+00 1.7048e-03 3.6391e-02 5.0788e-07 9.1717e-02 2.2160e-02 1.8746e-01 9.3178e-02 9.3457e-01 8.2261e-02 9.8616e-01 8.2636e-02
-#&gt; 386: 1.0186e+02 -4.1204e+00 -2.3504e+00 -4.0637e+00 -1.0089e+00 1.4309e-03 3.6372e-02 5.0847e-07 9.1895e-02 2.2157e-02 1.8754e-01 9.2918e-02 9.3439e-01 8.2246e-02 9.8601e-01 8.2617e-02
-#&gt; 387: 1.0186e+02 -4.1204e+00 -2.3505e+00 -4.0636e+00 -1.0089e+00 1.3524e-03 3.6446e-02 5.0896e-07 9.2022e-02 2.2182e-02 1.8768e-01 9.2684e-02 9.3470e-01 8.2216e-02 9.8593e-01 8.2620e-02
-#&gt; 388: 1.0186e+02 -4.1204e+00 -2.3506e+00 -4.0635e+00 -1.0089e+00 1.2887e-03 3.6478e-02 5.0904e-07 9.2117e-02 2.2174e-02 1.8761e-01 9.2506e-02 9.3463e-01 8.2221e-02 9.8563e-01 8.2609e-02
-#&gt; 389: 1.0186e+02 -4.1204e+00 -2.3505e+00 -4.0635e+00 -1.0089e+00 1.2044e-03 3.6479e-02 5.0969e-07 9.2068e-02 2.2180e-02 1.8751e-01 9.2308e-02 9.3438e-01 8.2241e-02 9.8516e-01 8.2592e-02
-#&gt; 390: 1.0186e+02 -4.1204e+00 -2.3506e+00 -4.0635e+00 -1.0087e+00 1.1442e-03 3.6497e-02 5.0878e-07 9.1995e-02 2.2156e-02 1.8744e-01 9.2169e-02 9.3410e-01 8.2257e-02 9.8511e-01 8.2581e-02
-#&gt; 391: 1.0186e+02 -4.1204e+00 -2.3508e+00 -4.0635e+00 -1.0089e+00 1.0925e-03 3.6454e-02 5.0876e-07 9.1945e-02 2.2177e-02 1.8739e-01 9.1989e-02 9.3439e-01 8.2254e-02 9.8472e-01 8.2579e-02
-#&gt; 392: 1.0186e+02 -4.1204e+00 -2.3506e+00 -4.0633e+00 -1.0091e+00 7.9940e-04 3.6417e-02 5.0874e-07 9.1956e-02 2.2185e-02 1.8730e-01 9.1977e-02 9.3422e-01 8.2244e-02 9.8463e-01 8.2589e-02
-#&gt; 393: 1.0186e+02 -4.1204e+00 -2.3504e+00 -4.0632e+00 -1.0093e+00 4.2112e-04 3.6433e-02 5.0843e-07 9.1868e-02 2.2211e-02 1.8739e-01 9.2106e-02 9.3464e-01 8.2217e-02 9.8458e-01 8.2594e-02
-#&gt; 394: 1.0186e+02 -4.1204e+00 -2.3502e+00 -4.0631e+00 -1.0093e+00 1.4926e-04 3.6534e-02 5.0862e-07 9.1713e-02 2.2244e-02 1.8735e-01 9.2105e-02 9.3454e-01 8.2239e-02 9.8410e-01 8.2601e-02
-#&gt; 395: 1.0186e+02 -4.1204e+00 -2.3499e+00 -4.0630e+00 -1.0095e+00 5.2506e-05 3.6667e-02 5.0955e-07 9.1548e-02 2.2269e-02 1.8733e-01 9.2151e-02 9.3450e-01 8.2256e-02 9.8389e-01 8.2612e-02
-#&gt; 396: 1.0186e+02 -4.1204e+00 -2.3497e+00 -4.0630e+00 -1.0097e+00 1.6581e-05 3.6789e-02 5.1002e-07 9.1431e-02 2.2299e-02 1.8742e-01 9.2120e-02 9.3450e-01 8.2252e-02 9.8367e-01 8.2620e-02
-#&gt; 397: 1.0186e+02 -4.1205e+00 -2.3495e+00 -4.0629e+00 -1.0098e+00 -5.0310e-05 3.6860e-02 5.0949e-07 9.1311e-02 2.2323e-02 1.8738e-01 9.2130e-02 9.3467e-01 8.2250e-02 9.8388e-01 8.2628e-02
-#&gt; 398: 1.0186e+02 -4.1205e+00 -2.3494e+00 -4.0629e+00 -1.0097e+00 -1.4918e-04 3.6902e-02 5.0935e-07 9.1211e-02 2.2330e-02 1.8747e-01 9.2144e-02 9.3478e-01 8.2260e-02 9.8420e-01 8.2632e-02
-#&gt; 399: 1.0186e+02 -4.1205e+00 -2.3497e+00 -4.0628e+00 -1.0097e+00 -2.2152e-04 3.6932e-02 5.0927e-07 9.1209e-02 2.2377e-02 1.8750e-01 9.2136e-02 9.3481e-01 8.2286e-02 9.8431e-01 8.2622e-02
-#&gt; 400: 1.0186e+02 -4.1205e+00 -2.3499e+00 -4.0629e+00 -1.0097e+00 3.2878e-05 3.6943e-02 5.0892e-07 9.1092e-02 2.2388e-02 1.8752e-01 9.2072e-02 9.3534e-01 8.2276e-02 9.8472e-01 8.2615e-02
-#&gt; 401: 1.0186e+02 -4.1205e+00 -2.3501e+00 -4.0630e+00 -1.0097e+00 2.6776e-04 3.6950e-02 5.0860e-07 9.1038e-02 2.2395e-02 1.8740e-01 9.1911e-02 9.3515e-01 8.2331e-02 9.8459e-01 8.2615e-02
-#&gt; 402: 1.0186e+02 -4.1205e+00 -2.3502e+00 -4.0632e+00 -1.0097e+00 3.9988e-04 3.6912e-02 5.0849e-07 9.0944e-02 2.2401e-02 1.8737e-01 9.1701e-02 9.3494e-01 8.2353e-02 9.8479e-01 8.2609e-02
-#&gt; 403: 1.0186e+02 -4.1205e+00 -2.3503e+00 -4.0633e+00 -1.0098e+00 4.9714e-04 3.6935e-02 5.0805e-07 9.0895e-02 2.2404e-02 1.8741e-01 9.1609e-02 9.3444e-01 8.2372e-02 9.8505e-01 8.2638e-02
-#&gt; 404: 1.0186e+02 -4.1205e+00 -2.3504e+00 -4.0633e+00 -1.0100e+00 5.8465e-04 3.6978e-02 5.0889e-07 9.0862e-02 2.2453e-02 1.8746e-01 9.1650e-02 9.3491e-01 8.2364e-02 9.8484e-01 8.2653e-02
-#&gt; 405: 1.0186e+02 -4.1205e+00 -2.3505e+00 -4.0634e+00 -1.0099e+00 5.5970e-04 3.6999e-02 5.0964e-07 9.0930e-02 2.2480e-02 1.8742e-01 9.1823e-02 9.3458e-01 8.2371e-02 9.8465e-01 8.2670e-02
-#&gt; 406: 1.0186e+02 -4.1205e+00 -2.3507e+00 -4.0634e+00 -1.0098e+00 5.4464e-04 3.7123e-02 5.1046e-07 9.1008e-02 2.2478e-02 1.8749e-01 9.1930e-02 9.3449e-01 8.2361e-02 9.8440e-01 8.2666e-02
-#&gt; 407: 1.0186e+02 -4.1205e+00 -2.3506e+00 -4.0634e+00 -1.0097e+00 3.5564e-04 3.7226e-02 5.0978e-07 9.0891e-02 2.2469e-02 1.8751e-01 9.2130e-02 9.3444e-01 8.2380e-02 9.8462e-01 8.2660e-02
-#&gt; 408: 1.0186e+02 -4.1205e+00 -2.3506e+00 -4.0635e+00 -1.0097e+00 3.8362e-04 3.7354e-02 5.0967e-07 9.0892e-02 2.2461e-02 1.8747e-01 9.2230e-02 9.3453e-01 8.2363e-02 9.8466e-01 8.2661e-02
-#&gt; 409: 1.0186e+02 -4.1205e+00 -2.3505e+00 -4.0635e+00 -1.0097e+00 2.6671e-04 3.7473e-02 5.0928e-07 9.0894e-02 2.2519e-02 1.8751e-01 9.2243e-02 9.3447e-01 8.2347e-02 9.8449e-01 8.2667e-02
-#&gt; 410: 1.0186e+02 -4.1205e+00 -2.3506e+00 -4.0634e+00 -1.0098e+00 1.7963e-04 3.7438e-02 5.0981e-07 9.0898e-02 2.2600e-02 1.8764e-01 9.2237e-02 9.3502e-01 8.2320e-02 9.8430e-01 8.2663e-02
-#&gt; 411: 1.0186e+02 -4.1205e+00 -2.3506e+00 -4.0634e+00 -1.0098e+00 1.0085e-04 3.7381e-02 5.0970e-07 9.0820e-02 2.2618e-02 1.8767e-01 9.2103e-02 9.3480e-01 8.2324e-02 9.8427e-01 8.2652e-02
-#&gt; 412: 1.0186e+02 -4.1205e+00 -2.3508e+00 -4.0633e+00 -1.0097e+00 1.9452e-04 3.7315e-02 5.0984e-07 9.0784e-02 2.2605e-02 1.8772e-01 9.2118e-02 9.3504e-01 8.2314e-02 9.8431e-01 8.2636e-02
-#&gt; 413: 1.0186e+02 -4.1205e+00 -2.3508e+00 -4.0632e+00 -1.0097e+00 1.8432e-04 3.7243e-02 5.0946e-07 9.0798e-02 2.2604e-02 1.8765e-01 9.2206e-02 9.3499e-01 8.2299e-02 9.8426e-01 8.2636e-02
-#&gt; 414: 1.0186e+02 -4.1205e+00 -2.3505e+00 -4.0632e+00 -1.0097e+00 2.1744e-04 3.7203e-02 5.0880e-07 9.0769e-02 2.2604e-02 1.8757e-01 9.2403e-02 9.3516e-01 8.2279e-02 9.8414e-01 8.2659e-02
-#&gt; 415: 1.0186e+02 -4.1205e+00 -2.3505e+00 -4.0633e+00 -1.0097e+00 1.9330e-04 3.7197e-02 5.0896e-07 9.0657e-02 2.2618e-02 1.8764e-01 9.2565e-02 9.3514e-01 8.2264e-02 9.8435e-01 8.2655e-02
-#&gt; 416: 1.0186e+02 -4.1205e+00 -2.3501e+00 -4.0634e+00 -1.0097e+00 2.1450e-04 3.7144e-02 5.0882e-07 9.0762e-02 2.2645e-02 1.8761e-01 9.2614e-02 9.3511e-01 8.2277e-02 9.8415e-01 8.2669e-02
-#&gt; 417: 1.0186e+02 -4.1205e+00 -2.3498e+00 -4.0634e+00 -1.0099e+00 1.0737e-04 3.7092e-02 5.0932e-07 9.0804e-02 2.2631e-02 1.8754e-01 9.2581e-02 9.3509e-01 8.2284e-02 9.8430e-01 8.2667e-02
-#&gt; 418: 1.0186e+02 -4.1205e+00 -2.3495e+00 -4.0633e+00 -1.0099e+00 2.4734e-05 3.7061e-02 5.0972e-07 9.0913e-02 2.2624e-02 1.8736e-01 9.2572e-02 9.3482e-01 8.2275e-02 9.8413e-01 8.2682e-02
-#&gt; 419: 1.0186e+02 -4.1205e+00 -2.3495e+00 -4.0633e+00 -1.0099e+00 -3.9197e-05 3.7070e-02 5.1000e-07 9.1084e-02 2.2644e-02 1.8727e-01 9.2636e-02 9.3494e-01 8.2259e-02 9.8382e-01 8.2673e-02
-#&gt; 420: 1.0186e+02 -4.1205e+00 -2.3494e+00 -4.0633e+00 -1.0098e+00 -1.2434e-04 3.7103e-02 5.1037e-07 9.1152e-02 2.2631e-02 1.8733e-01 9.2862e-02 9.3515e-01 8.2244e-02 9.8388e-01 8.2656e-02
-#&gt; 421: 1.0186e+02 -4.1205e+00 -2.3494e+00 -4.0632e+00 -1.0097e+00 -1.5440e-04 3.7123e-02 5.1205e-07 9.1233e-02 2.2626e-02 1.8744e-01 9.2935e-02 9.3523e-01 8.2241e-02 9.8360e-01 8.2652e-02
-#&gt; 422: 1.0186e+02 -4.1205e+00 -2.3495e+00 -4.0633e+00 -1.0095e+00 -8.9184e-05 3.7182e-02 5.1296e-07 9.1123e-02 2.2617e-02 1.8749e-01 9.2915e-02 9.3509e-01 8.2276e-02 9.8367e-01 8.2637e-02
-#&gt; 423: 1.0186e+02 -4.1205e+00 -2.3497e+00 -4.0634e+00 -1.0095e+00 6.7469e-05 3.7194e-02 5.1323e-07 9.1083e-02 2.2642e-02 1.8739e-01 9.3097e-02 9.3529e-01 8.2270e-02 9.8367e-01 8.2642e-02
-#&gt; 424: 1.0186e+02 -4.1205e+00 -2.3498e+00 -4.0635e+00 -1.0094e+00 1.5970e-04 3.7258e-02 5.1292e-07 9.0998e-02 2.2667e-02 1.8730e-01 9.3311e-02 9.3525e-01 8.2262e-02 9.8362e-01 8.2648e-02
-#&gt; 425: 1.0186e+02 -4.1205e+00 -2.3499e+00 -4.0636e+00 -1.0095e+00 2.7004e-04 3.7298e-02 5.1307e-07 9.0839e-02 2.2665e-02 1.8744e-01 9.3429e-02 9.3497e-01 8.2282e-02 9.8395e-01 8.2657e-02
-#&gt; 426: 1.0186e+02 -4.1205e+00 -2.3499e+00 -4.0636e+00 -1.0094e+00 3.9201e-04 3.7303e-02 5.1305e-07 9.0647e-02 2.2675e-02 1.8743e-01 9.3523e-02 9.3477e-01 8.2314e-02 9.8371e-01 8.2655e-02
-#&gt; 427: 1.0186e+02 -4.1205e+00 -2.3496e+00 -4.0636e+00 -1.0093e+00 2.9359e-04 3.7366e-02 5.1245e-07 9.0630e-02 2.2673e-02 1.8738e-01 9.3813e-02 9.3495e-01 8.2291e-02 9.8368e-01 8.2653e-02
-#&gt; 428: 1.0186e+02 -4.1204e+00 -2.3496e+00 -4.0635e+00 -1.0094e+00 2.5099e-04 3.7411e-02 5.1144e-07 9.0647e-02 2.2674e-02 1.8732e-01 9.3993e-02 9.3493e-01 8.2273e-02 9.8373e-01 8.2652e-02
-#&gt; 429: 1.0186e+02 -4.1204e+00 -2.3495e+00 -4.0635e+00 -1.0095e+00 2.4723e-04 3.7543e-02 5.1084e-07 9.0600e-02 2.2677e-02 1.8723e-01 9.4269e-02 9.3518e-01 8.2286e-02 9.8396e-01 8.2659e-02
-#&gt; 430: 1.0186e+02 -4.1204e+00 -2.3494e+00 -4.0635e+00 -1.0096e+00 2.7711e-04 3.7579e-02 5.1022e-07 9.0496e-02 2.2679e-02 1.8708e-01 9.4484e-02 9.3525e-01 8.2309e-02 9.8433e-01 8.2672e-02
-#&gt; 431: 1.0186e+02 -4.1204e+00 -2.3494e+00 -4.0634e+00 -1.0095e+00 1.3934e-05 3.7631e-02 5.0908e-07 9.0378e-02 2.2671e-02 1.8708e-01 9.4770e-02 9.3528e-01 8.2302e-02 9.8470e-01 8.2682e-02
-#&gt; 432: 1.0186e+02 -4.1204e+00 -2.3495e+00 -4.0633e+00 -1.0096e+00 -8.9401e-05 3.7677e-02 5.0861e-07 9.0278e-02 2.2654e-02 1.8702e-01 9.4882e-02 9.3518e-01 8.2318e-02 9.8488e-01 8.2667e-02
-#&gt; 433: 1.0186e+02 -4.1205e+00 -2.3495e+00 -4.0633e+00 -1.0096e+00 -3.6841e-04 3.7706e-02 5.0854e-07 9.0108e-02 2.2652e-02 1.8703e-01 9.5039e-02 9.3487e-01 8.2331e-02 9.8494e-01 8.2669e-02
-#&gt; 434: 1.0186e+02 -4.1205e+00 -2.3493e+00 -4.0632e+00 -1.0096e+00 -4.3399e-04 3.7671e-02 5.0796e-07 9.0036e-02 2.2661e-02 1.8701e-01 9.5122e-02 9.3474e-01 8.2331e-02 9.8474e-01 8.2675e-02
-#&gt; 435: 1.0186e+02 -4.1205e+00 -2.3491e+00 -4.0632e+00 -1.0096e+00 -6.1398e-04 3.7654e-02 5.0727e-07 8.9940e-02 2.2664e-02 1.8691e-01 9.5242e-02 9.3451e-01 8.2346e-02 9.8466e-01 8.2677e-02
-#&gt; 436: 1.0186e+02 -4.1205e+00 -2.3487e+00 -4.0632e+00 -1.0094e+00 -7.2148e-04 3.7647e-02 5.0649e-07 8.9838e-02 2.2661e-02 1.8694e-01 9.5465e-02 9.3429e-01 8.2365e-02 9.8475e-01 8.2683e-02
-#&gt; 437: 1.0186e+02 -4.1205e+00 -2.3484e+00 -4.0632e+00 -1.0093e+00 -1.1480e-03 3.7613e-02 5.0662e-07 8.9719e-02 2.2674e-02 1.8698e-01 9.5631e-02 9.3419e-01 8.2380e-02 9.8490e-01 8.2684e-02
-#&gt; 438: 1.0186e+02 -4.1204e+00 -2.3482e+00 -4.0631e+00 -1.0092e+00 -1.5547e-03 3.7583e-02 5.0753e-07 8.9612e-02 2.2680e-02 1.8703e-01 9.5913e-02 9.3413e-01 8.2394e-02 9.8523e-01 8.2678e-02
-#&gt; 439: 1.0186e+02 -4.1205e+00 -2.3483e+00 -4.0630e+00 -1.0093e+00 -1.9392e-03 3.7463e-02 5.0769e-07 8.9410e-02 2.2706e-02 1.8706e-01 9.6149e-02 9.3392e-01 8.2425e-02 9.8512e-01 8.2670e-02
-#&gt; 440: 1.0186e+02 -4.1205e+00 -2.3482e+00 -4.0629e+00 -1.0094e+00 -2.1940e-03 3.7360e-02 5.0743e-07 8.9245e-02 2.2742e-02 1.8710e-01 9.6213e-02 9.3400e-01 8.2445e-02 9.8490e-01 8.2676e-02
-#&gt; 441: 1.0186e+02 -4.1205e+00 -2.3481e+00 -4.0629e+00 -1.0095e+00 -2.3414e-03 3.7297e-02 5.0838e-07 8.9137e-02 2.2806e-02 1.8721e-01 9.6155e-02 9.3405e-01 8.2450e-02 9.8470e-01 8.2684e-02
-#&gt; 442: 1.0186e+02 -4.1205e+00 -2.3481e+00 -4.0628e+00 -1.0095e+00 -2.6378e-03 3.7241e-02 5.0923e-07 8.9066e-02 2.2846e-02 1.8727e-01 9.6135e-02 9.3389e-01 8.2465e-02 9.8454e-01 8.2686e-02
-#&gt; 443: 1.0186e+02 -4.1205e+00 -2.3482e+00 -4.0627e+00 -1.0094e+00 -2.8716e-03 3.7214e-02 5.1026e-07 8.9128e-02 2.2901e-02 1.8740e-01 9.6077e-02 9.3386e-01 8.2444e-02 9.8421e-01 8.2692e-02
-#&gt; 444: 1.0186e+02 -4.1205e+00 -2.3483e+00 -4.0627e+00 -1.0092e+00 -2.9147e-03 3.7196e-02 5.1104e-07 8.9190e-02 2.2985e-02 1.8744e-01 9.5999e-02 9.3390e-01 8.2424e-02 9.8381e-01 8.2696e-02
-#&gt; 445: 1.0186e+02 -4.1205e+00 -2.3484e+00 -4.0626e+00 -1.0090e+00 -2.9638e-03 3.7251e-02 5.1283e-07 8.9335e-02 2.3004e-02 1.8756e-01 9.5788e-02 9.3382e-01 8.2416e-02 9.8347e-01 8.2683e-02
-#&gt; 446: 1.0186e+02 -4.1205e+00 -2.3485e+00 -4.0627e+00 -1.0090e+00 -2.8796e-03 3.7331e-02 5.1479e-07 8.9470e-02 2.3017e-02 1.8762e-01 9.5656e-02 9.3368e-01 8.2405e-02 9.8325e-01 8.2680e-02
-#&gt; 447: 1.0186e+02 -4.1205e+00 -2.3485e+00 -4.0628e+00 -1.0091e+00 -2.7695e-03 3.7473e-02 5.1656e-07 8.9568e-02 2.3030e-02 1.8757e-01 9.5575e-02 9.3379e-01 8.2386e-02 9.8306e-01 8.2690e-02
-#&gt; 448: 1.0186e+02 -4.1205e+00 -2.3485e+00 -4.0629e+00 -1.0091e+00 -2.6293e-03 3.7498e-02 5.1814e-07 8.9776e-02 2.3052e-02 1.8762e-01 9.5422e-02 9.3373e-01 8.2372e-02 9.8274e-01 8.2685e-02
-#&gt; 449: 1.0186e+02 -4.1205e+00 -2.3485e+00 -4.0628e+00 -1.0092e+00 -2.5640e-03 3.7542e-02 5.1867e-07 8.9888e-02 2.3056e-02 1.8763e-01 9.5364e-02 9.3400e-01 8.2365e-02 9.8239e-01 8.2691e-02
-#&gt; 450: 1.0186e+02 -4.1205e+00 -2.3483e+00 -4.0628e+00 -1.0093e+00 -2.5816e-03 3.7622e-02 5.1849e-07 9.0050e-02 2.3061e-02 1.8765e-01 9.5274e-02 9.3435e-01 8.2341e-02 9.8235e-01 8.2699e-02
-#&gt; 451: 1.0186e+02 -4.1205e+00 -2.3483e+00 -4.0627e+00 -1.0094e+00 -2.4837e-03 3.7631e-02 5.1931e-07 9.0177e-02 2.3053e-02 1.8766e-01 9.5103e-02 9.3459e-01 8.2322e-02 9.8226e-01 8.2715e-02
-#&gt; 452: 1.0186e+02 -4.1205e+00 -2.3482e+00 -4.0627e+00 -1.0094e+00 -2.4156e-03 3.7606e-02 5.1901e-07 9.0333e-02 2.3047e-02 1.8763e-01 9.4959e-02 9.3485e-01 8.2289e-02 9.8210e-01 8.2713e-02
-#&gt; 453: 1.0186e+02 -4.1205e+00 -2.3484e+00 -4.0627e+00 -1.0093e+00 -2.4619e-03 3.7552e-02 5.1874e-07 9.0495e-02 2.3066e-02 1.8761e-01 9.4960e-02 9.3485e-01 8.2293e-02 9.8178e-01 8.2703e-02
-#&gt; 454: 1.0186e+02 -4.1205e+00 -2.3485e+00 -4.0627e+00 -1.0092e+00 -2.4816e-03 3.7514e-02 5.1835e-07 9.0606e-02 2.3073e-02 1.8754e-01 9.4896e-02 9.3491e-01 8.2277e-02 9.8154e-01 8.2696e-02
-#&gt; 455: 1.0186e+02 -4.1205e+00 -2.3484e+00 -4.0627e+00 -1.0092e+00 -2.3708e-03 3.7457e-02 5.1742e-07 9.0715e-02 2.3099e-02 1.8756e-01 9.4804e-02 9.3481e-01 8.2272e-02 9.8122e-01 8.2688e-02
-#&gt; 456: 1.0186e+02 -4.1205e+00 -2.3484e+00 -4.0627e+00 -1.0093e+00 -2.2313e-03 3.7409e-02 5.1680e-07 9.0906e-02 2.3131e-02 1.8743e-01 9.4814e-02 9.3476e-01 8.2261e-02 9.8108e-01 8.2694e-02
-#&gt; 457: 1.0186e+02 -4.1205e+00 -2.3483e+00 -4.0628e+00 -1.0095e+00 -2.1182e-03 3.7342e-02 5.1630e-07 9.0986e-02 2.3158e-02 1.8733e-01 9.4843e-02 9.3488e-01 8.2244e-02 9.8094e-01 8.2700e-02
-#&gt; 458: 1.0186e+02 -4.1205e+00 -2.3483e+00 -4.0628e+00 -1.0095e+00 -1.9242e-03 3.7244e-02 5.1605e-07 9.1085e-02 2.3168e-02 1.8720e-01 9.4820e-02 9.3509e-01 8.2228e-02 9.8093e-01 8.2703e-02
-#&gt; 459: 1.0186e+02 -4.1205e+00 -2.3484e+00 -4.0629e+00 -1.0095e+00 -1.7643e-03 3.7203e-02 5.1566e-07 9.1179e-02 2.3175e-02 1.8715e-01 9.4809e-02 9.3516e-01 8.2216e-02 9.8087e-01 8.2690e-02
-#&gt; 460: 1.0186e+02 -4.1205e+00 -2.3485e+00 -4.0629e+00 -1.0094e+00 -1.5479e-03 3.7151e-02 5.1547e-07 9.1211e-02 2.3155e-02 1.8712e-01 9.4703e-02 9.3539e-01 8.2201e-02 9.8100e-01 8.2683e-02
-#&gt; 461: 1.0186e+02 -4.1205e+00 -2.3484e+00 -4.0630e+00 -1.0095e+00 -1.4993e-03 3.7111e-02 5.1446e-07 9.1225e-02 2.3159e-02 1.8705e-01 9.4569e-02 9.3555e-01 8.2183e-02 9.8078e-01 8.2680e-02
-#&gt; 462: 1.0186e+02 -4.1205e+00 -2.3485e+00 -4.0629e+00 -1.0094e+00 -1.4890e-03 3.7056e-02 5.1361e-07 9.1446e-02 2.3158e-02 1.8694e-01 9.4494e-02 9.3557e-01 8.2171e-02 9.8058e-01 8.2688e-02
-#&gt; 463: 1.0186e+02 -4.1205e+00 -2.3485e+00 -4.0629e+00 -1.0094e+00 -1.3999e-03 3.6996e-02 5.1319e-07 9.1659e-02 2.3176e-02 1.8695e-01 9.4436e-02 9.3570e-01 8.2153e-02 9.8053e-01 8.2686e-02
-#&gt; 464: 1.0186e+02 -4.1205e+00 -2.3484e+00 -4.0630e+00 -1.0095e+00 -1.1544e-03 3.6949e-02 5.1300e-07 9.1885e-02 2.3162e-02 1.8688e-01 9.4378e-02 9.3599e-01 8.2134e-02 9.8051e-01 8.2694e-02
-#&gt; 465: 1.0186e+02 -4.1205e+00 -2.3485e+00 -4.0630e+00 -1.0097e+00 -9.7372e-04 3.6943e-02 5.1235e-07 9.2014e-02 2.3136e-02 1.8692e-01 9.4288e-02 9.3605e-01 8.2141e-02 9.8053e-01 8.2693e-02
-#&gt; 466: 1.0186e+02 -4.1205e+00 -2.3485e+00 -4.0630e+00 -1.0097e+00 -9.2442e-04 3.6916e-02 5.1246e-07 9.2074e-02 2.3132e-02 1.8688e-01 9.4254e-02 9.3590e-01 8.2131e-02 9.8016e-01 8.2691e-02
-#&gt; 467: 1.0186e+02 -4.1205e+00 -2.3485e+00 -4.0631e+00 -1.0098e+00 -8.2540e-04 3.6928e-02 5.1340e-07 9.2164e-02 2.3141e-02 1.8690e-01 9.4382e-02 9.3620e-01 8.2106e-02 9.7996e-01 8.2705e-02
-#&gt; 468: 1.0186e+02 -4.1205e+00 -2.3484e+00 -4.0631e+00 -1.0097e+00 -7.3368e-04 3.6925e-02 5.1395e-07 9.2218e-02 2.3136e-02 1.8695e-01 9.4504e-02 9.3629e-01 8.2094e-02 9.7985e-01 8.2716e-02
-#&gt; 469: 1.0186e+02 -4.1205e+00 -2.3483e+00 -4.0630e+00 -1.0096e+00 -7.4343e-04 3.6891e-02 5.1401e-07 9.2204e-02 2.3114e-02 1.8700e-01 9.4639e-02 9.3643e-01 8.2078e-02 9.7996e-01 8.2709e-02
-#&gt; 470: 1.0186e+02 -4.1205e+00 -2.3482e+00 -4.0630e+00 -1.0096e+00 -7.8250e-04 3.6874e-02 5.1370e-07 9.2209e-02 2.3083e-02 1.8702e-01 9.4728e-02 9.3646e-01 8.2073e-02 9.7989e-01 8.2703e-02
-#&gt; 471: 1.0186e+02 -4.1205e+00 -2.3480e+00 -4.0629e+00 -1.0095e+00 -1.0440e-03 3.6843e-02 5.1358e-07 9.2194e-02 2.3062e-02 1.8710e-01 9.4741e-02 9.3649e-01 8.2082e-02 9.8003e-01 8.2701e-02
-#&gt; 472: 1.0186e+02 -4.1205e+00 -2.3481e+00 -4.0629e+00 -1.0096e+00 -9.5438e-04 3.6869e-02 5.1330e-07 9.2176e-02 2.3050e-02 1.8712e-01 9.4766e-02 9.3666e-01 8.2080e-02 9.7996e-01 8.2691e-02
-#&gt; 473: 1.0186e+02 -4.1205e+00 -2.3481e+00 -4.0630e+00 -1.0096e+00 -8.2178e-04 3.6877e-02 5.1283e-07 9.2191e-02 2.3021e-02 1.8703e-01 9.4747e-02 9.3670e-01 8.2072e-02 9.8007e-01 8.2693e-02
-#&gt; 474: 1.0186e+02 -4.1205e+00 -2.3481e+00 -4.0630e+00 -1.0096e+00 -7.0189e-04 3.6927e-02 5.1196e-07 9.2195e-02 2.2989e-02 1.8702e-01 9.4746e-02 9.3669e-01 8.2054e-02 9.8029e-01 8.2689e-02
-#&gt; 475: 1.0186e+02 -4.1205e+00 -2.3481e+00 -4.0630e+00 -1.0095e+00 -7.1989e-04 3.6993e-02 5.1125e-07 9.2159e-02 2.2963e-02 1.8700e-01 9.4813e-02 9.3681e-01 8.2051e-02 9.8027e-01 8.2680e-02
-#&gt; 476: 1.0186e+02 -4.1205e+00 -2.3481e+00 -4.0629e+00 -1.0096e+00 -7.1806e-04 3.7018e-02 5.1105e-07 9.2091e-02 2.2933e-02 1.8696e-01 9.4837e-02 9.3713e-01 8.2067e-02 9.8033e-01 8.2674e-02
-#&gt; 477: 1.0186e+02 -4.1205e+00 -2.3479e+00 -4.0630e+00 -1.0097e+00 -7.3438e-04 3.6986e-02 5.1121e-07 9.2046e-02 2.2909e-02 1.8698e-01 9.4809e-02 9.3743e-01 8.2059e-02 9.8045e-01 8.2693e-02
-#&gt; 478: 1.0186e+02 -4.1205e+00 -2.3478e+00 -4.0630e+00 -1.0096e+00 -7.9338e-04 3.6912e-02 5.1224e-07 9.2056e-02 2.2881e-02 1.8698e-01 9.4791e-02 9.3757e-01 8.2042e-02 9.8072e-01 8.2682e-02
-#&gt; 479: 1.0186e+02 -4.1205e+00 -2.3476e+00 -4.0629e+00 -1.0096e+00 -8.6158e-04 3.6882e-02 5.1284e-07 9.2159e-02 2.2867e-02 1.8694e-01 9.4774e-02 9.3749e-01 8.2051e-02 9.8088e-01 8.2679e-02
-#&gt; 480: 1.0186e+02 -4.1205e+00 -2.3474e+00 -4.0629e+00 -1.0096e+00 -1.1334e-03 3.6851e-02 5.1423e-07 9.2253e-02 2.2869e-02 1.8696e-01 9.4820e-02 9.3751e-01 8.2063e-02 9.8097e-01 8.2693e-02
-#&gt; 481: 1.0186e+02 -4.1205e+00 -2.3470e+00 -4.0629e+00 -1.0096e+00 -1.2444e-03 3.6785e-02 5.1490e-07 9.2397e-02 2.2853e-02 1.8694e-01 9.4838e-02 9.3770e-01 8.2031e-02 9.8124e-01 8.2707e-02
-#&gt; 482: 1.0186e+02 -4.1205e+00 -2.3467e+00 -4.0629e+00 -1.0095e+00 -1.3612e-03 3.6750e-02 5.1658e-07 9.2440e-02 2.2842e-02 1.8683e-01 9.4800e-02 9.3786e-01 8.2041e-02 9.8107e-01 8.2719e-02
-#&gt; 483: 1.0186e+02 -4.1205e+00 -2.3467e+00 -4.0628e+00 -1.0096e+00 -1.5168e-03 3.6783e-02 5.1708e-07 9.2590e-02 2.2804e-02 1.8674e-01 9.4804e-02 9.3790e-01 8.2042e-02 9.8116e-01 8.2719e-02
-#&gt; 484: 1.0186e+02 -4.1205e+00 -2.3466e+00 -4.0628e+00 -1.0097e+00 -1.5218e-03 3.6848e-02 5.1669e-07 9.2717e-02 2.2775e-02 1.8670e-01 9.4940e-02 9.3798e-01 8.2028e-02 9.8106e-01 8.2719e-02
-#&gt; 485: 1.0186e+02 -4.1205e+00 -2.3464e+00 -4.0628e+00 -1.0097e+00 -1.4177e-03 3.6867e-02 5.1615e-07 9.2806e-02 2.2765e-02 1.8669e-01 9.5018e-02 9.3816e-01 8.2020e-02 9.8090e-01 8.2721e-02
-#&gt; 486: 1.0186e+02 -4.1205e+00 -2.3462e+00 -4.0628e+00 -1.0098e+00 -1.5257e-03 3.6968e-02 5.1513e-07 9.3019e-02 2.2762e-02 1.8663e-01 9.5111e-02 9.3816e-01 8.2013e-02 9.8071e-01 8.2732e-02
-#&gt; 487: 1.0186e+02 -4.1205e+00 -2.3460e+00 -4.0628e+00 -1.0097e+00 -1.7055e-03 3.7021e-02 5.1446e-07 9.3161e-02 2.2732e-02 1.8652e-01 9.5373e-02 9.3832e-01 8.1997e-02 9.8078e-01 8.2737e-02
-#&gt; 488: 1.0186e+02 -4.1205e+00 -2.3459e+00 -4.0628e+00 -1.0097e+00 -1.8502e-03 3.7069e-02 5.1391e-07 9.3282e-02 2.2741e-02 1.8641e-01 9.5414e-02 9.3818e-01 8.2001e-02 9.8064e-01 8.2738e-02
-#&gt; 489: 1.0186e+02 -4.1205e+00 -2.3458e+00 -4.0628e+00 -1.0097e+00 -1.9091e-03 3.7017e-02 5.1291e-07 9.3286e-02 2.2738e-02 1.8639e-01 9.5453e-02 9.3808e-01 8.1991e-02 9.8047e-01 8.2728e-02
-#&gt; 490: 1.0186e+02 -4.1205e+00 -2.3456e+00 -4.0628e+00 -1.0097e+00 -1.8766e-03 3.6969e-02 5.1220e-07 9.3297e-02 2.2728e-02 1.8635e-01 9.5468e-02 9.3793e-01 8.1988e-02 9.8034e-01 8.2726e-02
-#&gt; 491: 1.0186e+02 -4.1205e+00 -2.3457e+00 -4.0627e+00 -1.0097e+00 -1.7736e-03 3.6915e-02 5.1153e-07 9.3298e-02 2.2716e-02 1.8634e-01 9.5548e-02 9.3772e-01 8.2005e-02 9.8025e-01 8.2722e-02
-#&gt; 492: 1.0186e+02 -4.1205e+00 -2.3457e+00 -4.0627e+00 -1.0097e+00 -1.7747e-03 3.6877e-02 5.1077e-07 9.3336e-02 2.2697e-02 1.8635e-01 9.5593e-02 9.3778e-01 8.2001e-02 9.8013e-01 8.2725e-02
-#&gt; 493: 1.0186e+02 -4.1205e+00 -2.3456e+00 -4.0628e+00 -1.0094e+00 -1.6324e-03 3.6857e-02 5.1020e-07 9.3348e-02 2.2668e-02 1.8636e-01 9.5735e-02 9.3764e-01 8.1984e-02 9.8019e-01 8.2723e-02
-#&gt; 494: 1.0186e+02 -4.1205e+00 -2.3456e+00 -4.0629e+00 -1.0094e+00 -1.5393e-03 3.6842e-02 5.1022e-07 9.3359e-02 2.2649e-02 1.8637e-01 9.5812e-02 9.3739e-01 8.1982e-02 9.8033e-01 8.2708e-02
-#&gt; 495: 1.0186e+02 -4.1205e+00 -2.3456e+00 -4.0629e+00 -1.0094e+00 -1.5166e-03 3.6841e-02 5.1004e-07 9.3321e-02 2.2642e-02 1.8640e-01 9.5849e-02 9.3716e-01 8.1979e-02 9.8016e-01 8.2700e-02
-#&gt; 496: 1.0186e+02 -4.1205e+00 -2.3456e+00 -4.0630e+00 -1.0095e+00 -1.4947e-03 3.6841e-02 5.0969e-07 9.3236e-02 2.2646e-02 1.8640e-01 9.5916e-02 9.3719e-01 8.1963e-02 9.8028e-01 8.2702e-02
-#&gt; 497: 1.0186e+02 -4.1205e+00 -2.3457e+00 -4.0629e+00 -1.0094e+00 -1.4507e-03 3.6827e-02 5.0937e-07 9.3185e-02 2.2663e-02 1.8638e-01 9.5991e-02 9.3707e-01 8.1954e-02 9.8047e-01 8.2718e-02
-#&gt; 498: 1.0186e+02 -4.1205e+00 -2.3459e+00 -4.0630e+00 -1.0094e+00 -1.2569e-03 3.6805e-02 5.0854e-07 9.3089e-02 2.2677e-02 1.8634e-01 9.5931e-02 9.3719e-01 8.1952e-02 9.8051e-01 8.2718e-02
-#&gt; 499: 1.0186e+02 -4.1205e+00 -2.3460e+00 -4.0630e+00 -1.0093e+00 -1.0466e-03 3.6769e-02 5.0789e-07 9.3029e-02 2.2690e-02 1.8631e-01 9.5862e-02 9.3729e-01 8.1956e-02 9.8046e-01 8.2731e-02
-#&gt; 500: 1.0186e+02 -4.1205e+00 -2.3464e+00 -4.0630e+00 -1.0093e+00 -7.3346e-04 3.6766e-02 5.0769e-07 9.3093e-02 2.2701e-02 1.8633e-01 9.5687e-02 9.3739e-01 8.1977e-02 9.8039e-01 8.2728e-02</div><div class='output co'>#&gt; <span class='message'>Calculating covariance matrix</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ compiling EBE model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; [1] "CMT"</div><div class='output co'>#&gt; <span class='message'>Calculating residuals/tables</span></div><div class='output co'>#&gt; <span class='message'>done</span></div><div class='input'><span class='co'># The following takes a very long time but gives</span>
+</div><div class='output co'>#&gt; <span class='message'>With est = 'saem', a different error model is required for each observed variableChanging the error model to 'obs_tc' (Two-component error for each observed variable)</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'>→ generate SAEM model</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='error'>Error in configsaem(model = model, data = dat, inits = inits, mcmc = .mcmc, ODEopt = .ODEopt, seed = .seed, distribution = .dist, DEBUG = .DEBUG, addProp = .addProp, tol = .tol, itmax = .itmax, type = .type, powRange = .powRange, lambdaRange = .lambdaRange): covariate(s) not found: f_parent_to_m1</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 1.281 0.142 1.422</span></div><div class='input'><span class='co'># The following takes a very long time but gives</span>
<span class='va'>f_nlmixr_dfop_sfo_focei</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/pkg/nlmixr/man/nlmixr.html'>nlmixr</a></span><span class='op'>(</span><span class='va'>f_mmkin_dfop_sfo</span>, est <span class='op'>=</span> <span class='st'>"focei"</span><span class='op'>)</span>
-</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ calculate jacobian</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate sensitivities</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(f)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(R²)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling inner model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling EBE model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ compiling events FD model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; [1] "CMT"
-#&gt; <span style='font-weight: bold;'>Key:</span> U: Unscaled Parameters; X: Back-transformed parameters; G: Gill difference gradient approximation
-#&gt; F: Forward difference gradient approximation
-#&gt; C: Central difference gradient approximation
-#&gt; M: Mixed forward and central difference gradient approximation
-#&gt; Unscaled parameters for Omegas=chol(solve(omega));
-#&gt; Diagonals are transformed, as specified by foceiControl(diagXform=)
-#&gt; |-----+---------------+-----------+-----------+-----------+-----------|
-#&gt; | #| Objective Fun | parent_0 | log_k_m1 |f_parent_qlogis | log_k1 |
-#&gt; |.....................| log_k2 | g_qlogis | sigma_low | rsd_high |
-#&gt; |.....................| o1 | o2 | o3 | o4 |
-#&gt; <span style='text-decoration: underline;'>|.....................| o5 | o6 |...........|...........|</span>
-#&gt; |<span style='font-weight: bold;'> 1</span>| 496.98032 | 1.000 | -0.9997 | -0.9408 | -0.9676 |
-#&gt; |.....................| -1.000 | -0.9232 | -0.9092 | -0.9217 |
-#&gt; |.....................| -0.9102 | -0.8930 | -0.8991 | -0.9012 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -0.8950 | -0.9012 |...........|...........|</span>
-#&gt; | U| 496.98032 | 101.7 | -4.054 | -0.9431 | -2.359 |
-#&gt; |.....................| -4.070 | -0.01132 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; | X|<span style='font-weight: bold;'> 496.98032</span> | 101.7 | 0.01736 | 0.2803 | 0.09447 |
-#&gt; |.....................| 0.01708 | 0.4972 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; | G| Gill Diff. | 57.10 | -0.1453 | -0.1275 | 0.2854 |
-#&gt; |.....................| -0.6156 | 0.007043 | -23.49 | -32.87 |
-#&gt; |.....................| 3.669 | -17.46 | -13.05 | -13.08 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -16.16 | -9.766 |...........|...........|</span>
-#&gt; |<span style='font-weight: bold;'> 2</span>| 3094.8373 | 0.2572 | -0.9978 | -0.9392 | -0.9714 |
-#&gt; |.....................| -0.9920 | -0.9233 | -0.6037 | -0.4942 |
-#&gt; |.....................| -0.9579 | -0.6658 | -0.7293 | -0.7310 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -0.6848 | -0.7742 |...........|...........|</span>
-#&gt; | U| 3094.8373 | 26.15 | -4.052 | -0.9415 | -2.363 |
-#&gt; |.....................| -4.062 | -0.01133 | 0.8386 | 0.08074 |
-#&gt; |.....................| 0.6445 | 1.946 | 1.477 | 1.348 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.794 | 1.297 |...........|...........|</span>
-#&gt; | X|<span style='font-weight: bold;'> 3094.8373</span> | 26.15 | 0.01739 | 0.2806 | 0.09412 |
-#&gt; |.....................| 0.01721 | 0.4972 | 0.8386 | 0.08074 |
-#&gt; |.....................| 0.6445 | 1.946 | 1.477 | 1.348 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.794 | 1.297 |...........|...........|</span>
-#&gt; |<span style='font-weight: bold;'> 3</span>| 557.60681 | 0.9257 | -0.9995 | -0.9407 | -0.9680 |
-#&gt; |.....................| -0.9992 | -0.9232 | -0.8787 | -0.8790 |
-#&gt; |.....................| -0.9150 | -0.8703 | -0.8821 | -0.8842 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -0.8739 | -0.8885 |...........|...........|</span>
-#&gt; | U| 557.60681 | 94.11 | -4.053 | -0.9430 | -2.360 |
-#&gt; |.....................| -4.069 | -0.01133 | 0.7386 | 0.06794 |
-#&gt; |.....................| 0.6735 | 1.622 | 1.284 | 1.172 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.513 | 1.165 |...........|...........|</span>
-#&gt; | X|<span style='font-weight: bold;'> 557.60681</span> | 94.11 | 0.01736 | 0.2803 | 0.09444 |
-#&gt; |.....................| 0.01709 | 0.4972 | 0.7386 | 0.06794 |
-#&gt; |.....................| 0.6735 | 1.622 | 1.284 | 1.172 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.513 | 1.165 |...........|...........|</span>
-#&gt; |<span style='font-weight: bold;'> 4</span>| 543.47785 | 0.9926 | -0.9997 | -0.9408 | -0.9677 |
-#&gt; |.....................| -0.9999 | -0.9232 | -0.9062 | -0.9175 |
-#&gt; |.....................| -0.9107 | -0.8907 | -0.8974 | -0.8995 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -0.8929 | -0.9000 |...........|...........|</span>
-#&gt; | U| 543.47785 | 100.9 | -4.054 | -0.9431 | -2.359 |
-#&gt; |.....................| -4.070 | -0.01132 | 0.7286 | 0.06666 |
-#&gt; |.....................| 0.6764 | 1.589 | 1.264 | 1.154 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.485 | 1.152 |...........|...........|</span>
-#&gt; | X|<span style='font-weight: bold;'> 543.47785</span> | 100.9 | 0.01736 | 0.2803 | 0.09447 |
-#&gt; |.....................| 0.01708 | 0.4972 | 0.7286 | 0.06666 |
-#&gt; |.....................| 0.6764 | 1.589 | 1.264 | 1.154 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.485 | 1.152 |...........|...........|</span>
-#&gt; |<span style='font-weight: bold;'> 5</span>| 544.09017 | 0.9993 | -0.9997 | -0.9408 | -0.9676 |
-#&gt; |.....................| -1.000 | -0.9232 | -0.9089 | -0.9213 |
-#&gt; |.....................| -0.9103 | -0.8928 | -0.8990 | -0.9010 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -0.8948 | -0.9011 |...........|...........|</span>
-#&gt; | U| 544.09017 | 101.6 | -4.054 | -0.9431 | -2.359 |
-#&gt; |.....................| -4.070 | -0.01132 | 0.7276 | 0.06654 |
-#&gt; |.....................| 0.6767 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; | X|<span style='font-weight: bold;'> 544.09017</span> | 101.6 | 0.01736 | 0.2803 | 0.09447 |
-#&gt; |.....................| 0.01708 | 0.4972 | 0.7276 | 0.06654 |
-#&gt; |.....................| 0.6767 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; |<span style='font-weight: bold;'> 6</span>| 544.17109 | 0.9999 | -0.9997 | -0.9408 | -0.9676 |
-#&gt; |.....................| -1.000 | -0.9232 | -0.9092 | -0.9217 |
-#&gt; |.....................| -0.9102 | -0.8930 | -0.8991 | -0.9012 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -0.8949 | -0.9012 |...........|...........|</span>
-#&gt; | U| 544.17109 | 101.6 | -4.054 | -0.9431 | -2.359 |
-#&gt; |.....................| -4.070 | -0.01132 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; | X|<span style='font-weight: bold;'> 544.17109</span> | 101.6 | 0.01736 | 0.2803 | 0.09447 |
-#&gt; |.....................| 0.01708 | 0.4972 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; |<span style='font-weight: bold;'> 7</span>| 544.17937 | 1.000 | -0.9997 | -0.9408 | -0.9676 |
-#&gt; |.....................| -1.000 | -0.9232 | -0.9092 | -0.9217 |
-#&gt; |.....................| -0.9102 | -0.8930 | -0.8991 | -0.9012 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -0.8950 | -0.9012 |...........|...........|</span>
-#&gt; | U| 544.17937 | 101.7 | -4.054 | -0.9431 | -2.359 |
-#&gt; |.....................| -4.070 | -0.01132 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; | X|<span style='font-weight: bold;'> 544.17937</span> | 101.7 | 0.01736 | 0.2803 | 0.09447 |
-#&gt; |.....................| 0.01708 | 0.4972 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; |<span style='font-weight: bold;'> 8</span>| 544.18025 | 1.000 | -0.9997 | -0.9408 | -0.9676 |
-#&gt; |.....................| -1.000 | -0.9232 | -0.9092 | -0.9217 |
-#&gt; |.....................| -0.9102 | -0.8930 | -0.8991 | -0.9012 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -0.8950 | -0.9012 |...........|...........|</span>
-#&gt; | U| 544.18025 | 101.7 | -4.054 | -0.9431 | -2.359 |
-#&gt; |.....................| -4.070 | -0.01132 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; | X|<span style='font-weight: bold;'> 544.18025</span> | 101.7 | 0.01736 | 0.2803 | 0.09447 |
-#&gt; |.....................| 0.01708 | 0.4972 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; |<span style='font-weight: bold;'> 9</span>| 544.18033 | 1.000 | -0.9997 | -0.9408 | -0.9676 |
-#&gt; |.....................| -1.000 | -0.9232 | -0.9092 | -0.9217 |
-#&gt; |.....................| -0.9102 | -0.8930 | -0.8991 | -0.9012 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -0.8950 | -0.9012 |...........|...........|</span>
-#&gt; | U| 544.18033 | 101.7 | -4.054 | -0.9431 | -2.359 |
-#&gt; |.....................| -4.070 | -0.01132 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; | X|<span style='font-weight: bold;'> 544.18033</span> | 101.7 | 0.01736 | 0.2803 | 0.09447 |
-#&gt; |.....................| 0.01708 | 0.4972 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; |<span style='font-weight: bold;'> 10</span>| 544.18034 | 1.000 | -0.9997 | -0.9408 | -0.9676 |
-#&gt; |.....................| -1.000 | -0.9232 | -0.9092 | -0.9217 |
-#&gt; |.....................| -0.9102 | -0.8930 | -0.8991 | -0.9012 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -0.8950 | -0.9012 |...........|...........|</span>
-#&gt; | U| 544.18034 | 101.7 | -4.054 | -0.9431 | -2.359 |
-#&gt; |.....................| -4.070 | -0.01132 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; | X|<span style='font-weight: bold;'> 544.18034</span> | 101.7 | 0.01736 | 0.2803 | 0.09447 |
-#&gt; |.....................| 0.01708 | 0.4972 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; |<span style='font-weight: bold;'> 11</span>| 544.18036 | 1.000 | -0.9997 | -0.9408 | -0.9676 |
-#&gt; |.....................| -1.000 | -0.9232 | -0.9092 | -0.9217 |
-#&gt; |.....................| -0.9102 | -0.8930 | -0.8991 | -0.9012 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -0.8950 | -0.9012 |...........|...........|</span>
-#&gt; | U| 544.18036 | 101.7 | -4.054 | -0.9431 | -2.359 |
-#&gt; |.....................| -4.070 | -0.01132 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; | X|<span style='font-weight: bold;'> 544.18036</span> | 101.7 | 0.01736 | 0.2803 | 0.09447 |
-#&gt; |.....................| 0.01708 | 0.4972 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; |<span style='font-weight: bold;'> 12</span>| 544.18036 | 1.000 | -0.9997 | -0.9408 | -0.9676 |
-#&gt; |.....................| -1.000 | -0.9232 | -0.9092 | -0.9217 |
-#&gt; |.....................| -0.9102 | -0.8930 | -0.8991 | -0.9012 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -0.8950 | -0.9012 |...........|...........|</span>
-#&gt; | U| 544.18036 | 101.7 | -4.054 | -0.9431 | -2.359 |
-#&gt; |.....................| -4.070 | -0.01132 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; | X|<span style='font-weight: bold;'> 544.18036</span> | 101.7 | 0.01736 | 0.2803 | 0.09447 |
-#&gt; |.....................| 0.01708 | 0.4972 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; |<span style='font-weight: bold;'> 13</span>| 544.18036 | 1.000 | -0.9997 | -0.9408 | -0.9676 |
-#&gt; |.....................| -1.000 | -0.9232 | -0.9092 | -0.9217 |
-#&gt; |.....................| -0.9102 | -0.8930 | -0.8991 | -0.9012 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -0.8950 | -0.9012 |...........|...........|</span>
-#&gt; | U| 544.18036 | 101.7 | -4.054 | -0.9431 | -2.359 |
-#&gt; |.....................| -4.070 | -0.01132 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; | X|<span style='font-weight: bold;'> 544.18036</span> | 101.7 | 0.01736 | 0.2803 | 0.09447 |
-#&gt; |.....................| 0.01708 | 0.4972 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; |<span style='font-weight: bold;'> 14</span>| 544.18036 | 1.000 | -0.9997 | -0.9408 | -0.9676 |
-#&gt; |.....................| -1.000 | -0.9232 | -0.9092 | -0.9217 |
-#&gt; |.....................| -0.9102 | -0.8930 | -0.8991 | -0.9012 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -0.8950 | -0.9012 |...........|...........|</span>
-#&gt; | U| 544.18036 | 101.7 | -4.054 | -0.9431 | -2.359 |
-#&gt; |.....................| -4.070 | -0.01132 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; | X|<span style='font-weight: bold;'> 544.18036</span> | 101.7 | 0.01736 | 0.2803 | 0.09447 |
-#&gt; |.....................| 0.01708 | 0.4972 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; |<span style='font-weight: bold;'> 15</span>| 544.18036 | 1.000 | -0.9997 | -0.9408 | -0.9676 |
-#&gt; |.....................| -1.000 | -0.9232 | -0.9092 | -0.9217 |
-#&gt; |.....................| -0.9102 | -0.8930 | -0.8991 | -0.9012 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -0.8950 | -0.9012 |...........|...........|</span>
-#&gt; | U| 544.18036 | 101.7 | -4.054 | -0.9431 | -2.359 |
-#&gt; |.....................| -4.070 | -0.01132 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; | X|<span style='font-weight: bold;'> 544.18036</span> | 101.7 | 0.01736 | 0.2803 | 0.09447 |
-#&gt; |.....................| 0.01708 | 0.4972 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; |<span style='font-weight: bold;'> 16</span>| 544.18036 | 1.000 | -0.9997 | -0.9408 | -0.9676 |
-#&gt; |.....................| -1.000 | -0.9232 | -0.9092 | -0.9217 |
-#&gt; |.....................| -0.9102 | -0.8930 | -0.8991 | -0.9012 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -0.8950 | -0.9012 |...........|...........|</span>
-#&gt; | U| 544.18036 | 101.7 | -4.054 | -0.9431 | -2.359 |
-#&gt; |.....................| -4.070 | -0.01132 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; | X|<span style='font-weight: bold;'> 544.18036</span> | 101.7 | 0.01736 | 0.2803 | 0.09447 |
-#&gt; |.....................| 0.01708 | 0.4972 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; |<span style='font-weight: bold;'> 17</span>| 544.18036 | 1.000 | -0.9997 | -0.9408 | -0.9676 |
-#&gt; |.....................| -1.000 | -0.9232 | -0.9092 | -0.9217 |
-#&gt; |.....................| -0.9102 | -0.8930 | -0.8991 | -0.9012 |
-#&gt; <span style='text-decoration: underline;'>|.....................| -0.8950 | -0.9012 |...........|...........|</span>
-#&gt; | U| 544.18036 | 101.7 | -4.054 | -0.9431 | -2.359 |
-#&gt; |.....................| -4.070 | -0.01132 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; | X|<span style='font-weight: bold;'> 544.18036</span> | 101.7 | 0.01736 | 0.2803 | 0.09447 |
-#&gt; |.....................| 0.01708 | 0.4972 | 0.7275 | 0.06652 |
-#&gt; |.....................| 0.6768 | 1.586 | 1.262 | 1.152 |
-#&gt; <span style='text-decoration: underline;'>|.....................| 1.482 | 1.151 |...........|...........|</span>
-#&gt; calculating covariance matrix
-#&gt; done</div><div class='output co'>#&gt; <span class='message'>Calculating residuals/tables</span></div><div class='output co'>#&gt; <span class='message'>done</span></div><div class='output co'>#&gt; <span class='warning'>Warning: initial ETAs were nudged; (can control by foceiControl(etaNudge=., etaNudge2=))</span></div><div class='output co'>#&gt; <span class='warning'>Warning: last objective function was not at minimum, possible problems in optimization</span></div><div class='output co'>#&gt; <span class='warning'>Warning: using R matrix to calculate covariance, can check sandwich or S matrix with $covRS and $covS</span></div><div class='output co'>#&gt; <span class='warning'>Warning: gradient problems with initial estimate and covariance; see $scaleInfo</span></div><div class='input'><span class='fu'><a href='https://rdrr.io/r/stats/AIC.html'>AIC</a></span><span class='op'>(</span><span class='va'>f_nlmixr_dfop_sfo_saem</span><span class='op'>$</span><span class='va'>nm</span>, <span class='va'>f_nlmixr_dfop_sfo_focei</span><span class='op'>$</span><span class='va'>nm</span><span class='op'>)</span>
-</div><div class='output co'>#&gt; <span class='message'>Calculating -2LL by Gaussian quadrature (nnodes=3,nsd=1.6)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; df AIC
-#&gt; f_nlmixr_dfop_sfo_saem$nm 16 Inf
-#&gt; f_nlmixr_dfop_sfo_focei$nm 14 886.4573</div><div class='input'><span class='fu'><a href='https://rdrr.io/pkg/saemix/man/summary-methods.html'>summary</a></span><span class='op'>(</span><span class='va'>f_nlmixr_dfop_sfo_sfo</span>, data <span class='op'>=</span> <span class='cn'>TRUE</span><span class='op'>)</span>
+</div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> parameter labels from comments are typically ignored in non-interactive mode</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BBBB;'>ℹ</span> Need to run with the source intact to parse comments</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ creating full model...</span></div><div class='output co'>#&gt; <span class='message'>→ pruning branches (<span style='color: #262626; background-color: #DADADA;'>`if`</span>/<span style='color: #262626; background-color: #DADADA;'>`else`</span>)...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ loading into <span style='color: #0000BB;'>symengine</span> environment...</span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ calculate jacobian</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate sensitivities</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(f)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ calculate ∂(R²)/∂(η)</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in inner model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in EBE model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling inner model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ finding duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ optimizing duplicate expressions in FD model...</span></div><div class='output co'>#&gt; </div><div class='output co'>#&gt; <span class='message'>→ compiling EBE model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>→ compiling events FD model...</span></div><div class='output co'>#&gt; <span class='message'> </span></div><div class='output co'>#&gt; <span class='message'><span style='color: #00BB00;'>✔</span> done</span></div><div class='output co'>#&gt; <span class='message'>Model:</span></div><div class='output co'>#&gt; <span class='message'>cmt(parent);</span>
+#&gt; <span class='message'>cmt(m1);</span>
+#&gt; <span class='message'>rx_expr_6~ETA[1]+THETA[1];</span>
+#&gt; <span class='message'>parent(0)=rx_expr_6;</span>
+#&gt; <span class='message'>rx_expr_7~ETA[4]+THETA[4];</span>
+#&gt; <span class='message'>rx_expr_8~ETA[6]+THETA[6];</span>
+#&gt; <span class='message'>rx_expr_9~ETA[5]+THETA[5];</span>
+#&gt; <span class='message'>rx_expr_12~exp(rx_expr_7);</span>
+#&gt; <span class='message'>rx_expr_13~exp(rx_expr_9);</span>
+#&gt; <span class='message'>rx_expr_15~t*rx_expr_12;</span>
+#&gt; <span class='message'>rx_expr_16~t*rx_expr_13;</span>
+#&gt; <span class='message'>rx_expr_19~exp(-(rx_expr_8));</span>
+#&gt; <span class='message'>rx_expr_21~1+rx_expr_19;</span>
+#&gt; <span class='message'>rx_expr_26~1/(rx_expr_21);</span>
+#&gt; <span class='message'>rx_expr_28~(rx_expr_26);</span>
+#&gt; <span class='message'>rx_expr_29~1-rx_expr_28;</span>
+#&gt; <span class='message'>d/dt(parent)=-parent*(exp(rx_expr_7-rx_expr_15)/(rx_expr_21)+exp(rx_expr_9-rx_expr_16)*(rx_expr_29))/(exp(-t*rx_expr_12)/(rx_expr_21)+exp(-t*rx_expr_13)*(rx_expr_29));</span>
+#&gt; <span class='message'>rx_expr_10~ETA[2]+THETA[2];</span>
+#&gt; <span class='message'>rx_expr_14~exp(rx_expr_10);</span>
+#&gt; <span class='message'>d/dt(m1)=-rx_expr_14*m1+parent*f_parent_to_m1*(exp(rx_expr_7-rx_expr_15)/(rx_expr_21)+exp(rx_expr_9-rx_expr_16)*(rx_expr_29))/(exp(-t*rx_expr_12)/(rx_expr_21)+exp(-t*rx_expr_13)*(rx_expr_29));</span>
+#&gt; <span class='message'>rx_expr_0~CMT==2;</span>
+#&gt; <span class='message'>rx_expr_1~CMT==1;</span>
+#&gt; <span class='message'>rx_expr_2~1-(rx_expr_0);</span>
+#&gt; <span class='message'>rx_yj_~2*(rx_expr_2)*(rx_expr_1)+2*(rx_expr_0);</span>
+#&gt; <span class='message'>rx_expr_3~(rx_expr_0);</span>
+#&gt; <span class='message'>rx_expr_5~(rx_expr_2);</span>
+#&gt; <span class='message'>rx_expr_20~rx_expr_5*(rx_expr_1);</span>
+#&gt; <span class='message'>rx_lambda_~rx_expr_20+rx_expr_3;</span>
+#&gt; <span class='message'>rx_hi_~rx_expr_20+rx_expr_3;</span>
+#&gt; <span class='message'>rx_low_~0;</span>
+#&gt; <span class='message'>rx_expr_4~m1*(rx_expr_0);</span>
+#&gt; <span class='message'>rx_expr_11~parent*(rx_expr_2);</span>
+#&gt; <span class='message'>rx_expr_24~rx_expr_11*(rx_expr_1);</span>
+#&gt; <span class='message'>rx_pred_=(rx_expr_4+rx_expr_24)*(rx_expr_0)+(rx_expr_4+rx_expr_24)*(rx_expr_2)*(rx_expr_1);</span>
+#&gt; <span class='message'>rx_expr_17~Rx_pow_di(THETA[8],2);</span>
+#&gt; <span class='message'>rx_expr_18~Rx_pow_di(THETA[7],2);</span>
+#&gt; <span class='message'>rx_r_=(Rx_pow_di(((rx_expr_4+rx_expr_24)*(rx_expr_0)+(rx_expr_4+rx_expr_24)*(rx_expr_2)*(rx_expr_1)),2)*rx_expr_17+rx_expr_18)*(rx_expr_0)+(Rx_pow_di(((rx_expr_4+rx_expr_24)*(rx_expr_1)),2)*rx_expr_17+rx_expr_18)*(rx_expr_2)*(rx_expr_1);</span>
+#&gt; <span class='message'>parent_0=THETA[1];</span>
+#&gt; <span class='message'>log_k_m1=THETA[2];</span>
+#&gt; <span class='message'>f_parent_qlogis=THETA[3];</span>
+#&gt; <span class='message'>log_k1=THETA[4];</span>
+#&gt; <span class='message'>log_k2=THETA[5];</span>
+#&gt; <span class='message'>g_qlogis=THETA[6];</span>
+#&gt; <span class='message'>sigma_low=THETA[7];</span>
+#&gt; <span class='message'>rsd_high=THETA[8];</span>
+#&gt; <span class='message'>eta.parent_0=ETA[1];</span>
+#&gt; <span class='message'>eta.log_k_m1=ETA[2];</span>
+#&gt; <span class='message'>eta.f_parent_qlogis=ETA[3];</span>
+#&gt; <span class='message'>eta.log_k1=ETA[4];</span>
+#&gt; <span class='message'>eta.log_k2=ETA[5];</span>
+#&gt; <span class='message'>eta.g_qlogis=ETA[6];</span>
+#&gt; <span class='message'>parent_0_model=rx_expr_6;</span>
+#&gt; <span class='message'>k_m1=rx_expr_14;</span>
+#&gt; <span class='message'>k1=rx_expr_12;</span>
+#&gt; <span class='message'>k2=rx_expr_13;</span>
+#&gt; <span class='message'>f_parent=1/(1+exp(-(ETA[3]+THETA[3])));</span>
+#&gt; <span class='message'>g=1/(rx_expr_21);</span>
+#&gt; <span class='message'>tad=tad();</span>
+#&gt; <span class='message'>dosenum=dosenum();</span></div><div class='output co'>#&gt; <span class='message'>Needed Covariates:</span></div><div class='output co'>#&gt; <span class='message'>[1] "f_parent_to_m1" "CMT" </span></div><div class='output co'>#&gt; <span class='error'>Error in (function (data, inits, PKpars, model = NULL, pred = NULL, err = NULL, lower = -Inf, upper = Inf, fixed = NULL, skipCov = NULL, control = foceiControl(), thetaNames = NULL, etaNames = NULL, etaMat = NULL, ..., env = NULL, keep = NULL, drop = NULL) { set.seed(control$seed) .pt &lt;- proc.time() RxODE::.setWarnIdSort(FALSE) on.exit(RxODE::.setWarnIdSort(TRUE)) loadNamespace("n1qn1") if (!RxODE::rxIs(control, "foceiControl")) { control &lt;- do.call(foceiControl, control) } if (is.null(env)) { .ret &lt;- new.env(parent = emptyenv()) } else { .ret &lt;- env } .ret$origData &lt;- data .ret$etaNames &lt;- etaNames .ret$thetaFixed &lt;- fixed .ret$control &lt;- control .ret$control$focei.mu.ref &lt;- integer(0) if (is(model, "RxODE") || is(model, "character")) { .ret$ODEmodel &lt;- TRUE if (class(pred) != "function") { stop("pred must be a function specifying the prediction variables in this model.") } } else { .ret$ODEmodel &lt;- TRUE model &lt;- RxODE::rxGetLin(PKpars) pred &lt;- eval(parse(text = "function(){return(Central);}")) } .square &lt;- function(x) x * x .ret$diagXformInv &lt;- c(sqrt = ".square", log = "exp", identity = "identity")[control$diagXform] if (is.null(err)) { err &lt;- eval(parse(text = paste0("function(){err", paste(inits$ERROR[[1]], collapse = ""), "}"))) } .covNames &lt;- .parNames &lt;- c() .ret$adjLik &lt;- control$adjLik .mixed &lt;- !is.null(inits$OMGA) &amp;&amp; length(inits$OMGA) &gt; 0 if (!exists("noLik", envir = .ret)) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ssAtol &lt;- rep(control$ssAtol, length(RxODE::rxModelVars(model)$state)) .ssRtol &lt;- rep(control$ssRtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = (control$derivMethod == 2L), pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, interaction = (control$interaction == 1L), only.numeric = !.mixed, run.internal = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol .ssAtol &lt;- c(.ssAtol, rep(control$ssAtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssAtol))) .ssRtol &lt;- c(.ssRtol, rep(control$ssRtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.ssRtol))) .ret$control$rxControl$ssAtol &lt;- .ssAtol .ret$control$rxControl$ssRtol &lt;- .ssRtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { if (.ret$noLik) { .atol &lt;- rep(control$atol, length(RxODE::rxModelVars(model)$state)) .rtol &lt;- rep(control$rtol, length(RxODE::rxModelVars(model)$state)) .ret$model &lt;- RxODE::rxSymPySetupPred(model, pred, PKpars, err, grad = FALSE, pred.minus.dv = TRUE, sum.prod = control$sumProd, theta.derivs = FALSE, optExpression = control$optExpression, run.internal = TRUE, only.numeric = TRUE, addProp = control$addProp) if (!is.null(.ret$model$inner)) { .atol &lt;- c(.atol, rep(control$atolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.atol))) .rtol &lt;- c(.rtol, rep(control$rtolSens, length(RxODE::rxModelVars(.ret$model$inner)$state) - length(.rtol))) .ret$control$rxControl$atol &lt;- .atol .ret$control$rxControl$rtol &lt;- .rtol } .covNames &lt;- .parNames &lt;- RxODE::rxParams(.ret$model$pred.only) .covNames &lt;- .covNames[regexpr(rex::rex(start, or("THETA", "ETA"), "[", numbers, "]", end), .covNames) == -1] colnames(data) &lt;- sapply(names(data), function(x) { if (any(x == .covNames)) { return(x) } else { return(toupper(x)) } }) .lhs &lt;- c(names(RxODE::rxInits(.ret$model$pred.only)), RxODE::rxLhs(.ret$model$pred.only)) if (length(.lhs) &gt; 0) { .covNames &lt;- .covNames[regexpr(rex::rex(start, or(.lhs), end), .covNames) == -1] } if (length(.covNames) &gt; 0) { if (!all(.covNames %in% names(data))) { message("Model:") RxODE::rxCat(.ret$model$pred.only) message("Needed Covariates:") nlmixrPrint(.covNames) stop("Not all the covariates are in the dataset.") } message("Needed Covariates:") print(.covNames) } .extraPars &lt;- .ret$model$extra.pars } else { .extraPars &lt;- NULL } } .ret$skipCov &lt;- skipCov if (is.null(skipCov)) { if (is.null(fixed)) { .tmp &lt;- rep(FALSE, length(inits$THTA)) } else { if (length(fixed) &lt; length(inits$THTA)) { .tmp &lt;- c(fixed, rep(FALSE, length(inits$THTA) - length(fixed))) } else { .tmp &lt;- fixed[1:length(inits$THTA)] } } if (exists("uif", envir = .ret)) { .uifErr &lt;- .ret$uif$ini$err[!is.na(.ret$uif$ini$ntheta)] .uifErr &lt;- sapply(.uifErr, function(x) { if (is.na(x)) { return(FALSE) } return(!any(x == c("pow2", "tbs", "tbsYj"))) }) .tmp &lt;- (.tmp | .uifErr) } .ret$skipCov &lt;- c(.tmp, rep(TRUE, length(.extraPars))) .ret$control$focei.mu.ref &lt;- .ret$uif$focei.mu.ref } if (is.null(.extraPars)) { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA))) } else { .nms &lt;- c(sprintf("THETA[%s]", seq_along(inits$THTA)), sprintf("ERR[%s]", seq_along(.extraPars))) } if (!is.null(thetaNames) &amp;&amp; (length(inits$THTA) + length(.extraPars)) == length(thetaNames)) { .nms &lt;- thetaNames } .ret$thetaNames &lt;- .nms .thetaReset$thetaNames &lt;- .nms if (length(lower) == 1) { lower &lt;- rep(lower, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { print(inits$THTA) print(lower) stop("Lower must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (length(upper) == 1) { upper &lt;- rep(upper, length(inits$THTA)) } else if (length(lower) != length(inits$THTA)) { stop("Upper must be a single constant for all the THETA lower bounds, or match the dimension of THETA.") } if (!is.null(.extraPars)) { .ret$model$extra.pars &lt;- eval(call(control$diagXform, .ret$model$extra.pars)) if (length(.ret$model$extra.pars) &gt; 0) { inits$THTA &lt;- c(inits$THTA, .ret$model$extra.pars) .lowerErr &lt;- rep(control$atol[1] * 10, length(.ret$model$extra.pars)) .upperErr &lt;- rep(Inf, length(.ret$model$extra.pars)) lower &lt;- c(lower, .lowerErr) upper &lt;- c(upper, .upperErr) } } if (is.null(data$ID)) stop("\"ID\" not found in data") if (is.null(data$DV)) stop("\"DV\" not found in data") if (is.null(data$EVID)) data$EVID &lt;- 0 if (is.null(data$AMT)) data$AMT &lt;- 0 for (.v in c("TIME", "AMT", "DV", .covNames)) { data[[.v]] &lt;- as.double(data[[.v]]) } .ret$dataSav &lt;- data .ds &lt;- data[data$EVID != 0 &amp; data$EVID != 2, c("ID", "TIME", "AMT", "EVID", .covNames)] .w &lt;- which(tolower(names(data)) == "limit") .limitName &lt;- NULL if (length(.w) == 1L) { .limitName &lt;- names(data)[.w] } .censName &lt;- NULL .w &lt;- which(tolower(names(data)) == "cens") if (length(.w) == 1L) { .censName &lt;- names(data[.w]) } data &lt;- data[data$EVID == 0 | data$EVID == 2, c("ID", "TIME", "DV", "EVID", .covNames, .limitName, .censName)] .w &lt;- which(!(names(.ret$dataSav) %in% c(.covNames, keep))) names(.ret$dataSav)[.w] &lt;- tolower(names(.ret$dataSav[.w])) if (.mixed) { .lh &lt;- .parseOM(inits$OMGA) .nlh &lt;- sapply(.lh, length) .osplt &lt;- rep(1:length(.lh), .nlh) .lini &lt;- list(inits$THTA, unlist(.lh)) .nlini &lt;- sapply(.lini, length) .nsplt &lt;- rep(1:length(.lini), .nlini) .om0 &lt;- .genOM(.lh) if (length(etaNames) == dim(.om0)[1]) { .ret$etaNames &lt;- .ret$etaNames } else { .ret$etaNames &lt;- sprintf("ETA[%d]", seq(1, dim(.om0)[1])) } .ret$rxInv &lt;- RxODE::rxSymInvCholCreate(mat = .om0, diag.xform = control$diagXform) .ret$xType &lt;- .ret$rxInv$xType .om0a &lt;- .om0 .om0a &lt;- .om0a/control$diagOmegaBoundLower .om0b &lt;- .om0 .om0b &lt;- .om0b * control$diagOmegaBoundUpper .om0a &lt;- RxODE::rxSymInvCholCreate(mat = .om0a, diag.xform = control$diagXform) .om0b &lt;- RxODE::rxSymInvCholCreate(mat = .om0b, diag.xform = control$diagXform) .omdf &lt;- data.frame(a = .om0a$theta, m = .ret$rxInv$theta, b = .om0b$theta, diag = .om0a$theta.diag) .omdf$lower &lt;- with(.omdf, ifelse(a &gt; b, b, a)) .omdf$lower &lt;- with(.omdf, ifelse(lower == m, -Inf, lower)) .omdf$lower &lt;- with(.omdf, ifelse(!diag, -Inf, lower)) .omdf$upper &lt;- with(.omdf, ifelse(a &lt; b, b, a)) .omdf$upper &lt;- with(.omdf, ifelse(upper == m, Inf, upper)) .omdf$upper &lt;- with(.omdf, ifelse(!diag, Inf, upper)) .ret$control$nomega &lt;- length(.omdf$lower) .ret$control$neta &lt;- sum(.omdf$diag) .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) lower &lt;- c(lower, .omdf$lower) upper &lt;- c(upper, .omdf$upper) } else { .ret$control$nomega &lt;- 0 .ret$control$neta &lt;- 0 .ret$xType &lt;- -1 .ret$control$ntheta &lt;- length(lower) .ret$control$nfixed &lt;- sum(fixed) } .ret$lower &lt;- lower .ret$upper &lt;- upper .ret$thetaIni &lt;- inits$THTA .scaleC &lt;- double(length(lower)) if (is.null(control$scaleC)) { .scaleC &lt;- rep(NA_real_, length(lower)) } else { .scaleC &lt;- as.double(control$scaleC) if (length(lower) &gt; length(.scaleC)) { .scaleC &lt;- c(.scaleC, rep(NA_real_, length(lower) - length(.scaleC))) } else if (length(lower) &lt; length(.scaleC)) { .scaleC &lt;- .scaleC[seq(1, length(lower))] warning("scaleC control option has more options than estimated population parameters, please check.") } } .ret$scaleC &lt;- .scaleC if (exists("uif", envir = .ret)) { .ini &lt;- as.data.frame(.ret$uif$ini)[!is.na(.ret$uif$ini$err), c("est", "err", "ntheta")] for (.i in seq_along(.ini$err)) { if (is.na(.ret$scaleC[.ini$ntheta[.i]])) { if (any(.ini$err[.i] == c("boxCox", "yeoJohnson", "pow2", "tbs", "tbsYj"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 1 } else if (any(.ini$err[.i] == c("prop", "add", "norm", "dnorm", "logn", "dlogn", "lnorm", "dlnorm"))) { .ret$scaleC[.ini$ntheta[.i]] &lt;- 0.5 * abs(.ini$est[.i]) } } } for (.i in .ini$model$extraProps$powTheta) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- 1 } .ini &lt;- as.data.frame(.ret$uif$ini) for (.i in .ini$model$extraProps$factorial) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i] + 1)) } for (.i in .ini$model$extraProps$gamma) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- abs(1/digamma(.ini$est[.i])) } for (.i in .ini$model$extraProps$log) { if (is.na(.ret$scaleC[.i])) .ret$scaleC[.i] &lt;- log(abs(.ini$est[.i])) * abs(.ini$est[.i]) } for (.i in .ret$logitThetas) { .b &lt;- .ret$logitThetasLow[.i] .c &lt;- .ret$logitThetasHi[.i] .a &lt;- .ini$est[.i] if (is.na(.ret$scaleC[.i])) { .ret$scaleC[.i] &lt;- 1 * (-.b + .c) * exp(-.a)/((1 + exp(-.a))^2 * (.b + 1 * (-.b + .c)/(1 + exp(-.a)))) } } } names(.ret$thetaIni) &lt;- sprintf("THETA[%d]", seq_along(.ret$thetaIni)) if (is.null(etaMat) &amp; !is.null(control$etaMat)) { .ret$etaMat &lt;- control$etaMat } else { .ret$etaMat &lt;- etaMat } .ret$setupTime &lt;- (proc.time() - .pt)["elapsed"] if (exists("uif", envir = .ret)) { .tmp &lt;- .ret$uif$logThetasList .ret$logThetas &lt;- .tmp[[1]] .ret$logThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasList .ret$logitThetas &lt;- .tmp[[1]] .ret$logitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListLow .ret$logitThetasLow &lt;- .tmp[[1]] .ret$logitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$logitThetasListHi .ret$logitThetasHi &lt;- .tmp[[1]] .ret$logitThetasHiF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasList .ret$probitThetas &lt;- .tmp[[1]] .ret$probitThetasF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListLow .ret$probitThetasLow &lt;- .tmp[[1]] .ret$probitThetasLowF &lt;- .tmp[[2]] .tmp &lt;- .ret$uif$probitThetasListHi .ret$probitThetasHi &lt;- .tmp[[1]] .ret$probitThetasHiF &lt;- .tmp[[2]] } else { .ret$logThetasF &lt;- integer(0) .ret$logitThetasF &lt;- integer(0) .ret$logitThetasHiF &lt;- numeric(0) .ret$logitThetasLowF &lt;- numeric(0) .ret$logitThetas &lt;- integer(0) .ret$logitThetasHi &lt;- numeric(0) .ret$logitThetasLow &lt;- numeric(0) .ret$probitThetasF &lt;- integer(0) .ret$probitThetasHiF &lt;- numeric(0) .ret$probitThetasLowF &lt;- numeric(0) .ret$probitThetas &lt;- integer(0) .ret$probitThetasHi &lt;- numeric(0) .ret$probitThetasLow &lt;- numeric(0) } if (exists("noLik", envir = .ret)) { if (!.ret$noLik) { .ret$.params &lt;- c(sprintf("THETA[%d]", seq_along(.ret$thetaIni)), sprintf("ETA[%d]", seq(1, dim(.om0)[1]))) .ret$.thetan &lt;- length(.ret$thetaIni) .ret$nobs &lt;- sum(data$EVID == 0) } } .ret$control$printTop &lt;- TRUE .ret$control$nF &lt;- 0 .est0 &lt;- .ret$thetaIni if (!is.null(.ret$model$pred.nolhs)) { .ret$control$predNeq &lt;- length(.ret$model$pred.nolhs$state) } else { .ret$control$predNeq &lt;- 0L } .fitFun &lt;- function(.ret) { this.env &lt;- environment() assign("err", "theta reset", this.env) while (this.env$err == "theta reset") { assign("err", "", this.env) .ret0 &lt;- tryCatch({ foceiFitCpp_(.ret) }, error = function(e) { if (regexpr("theta reset", e$message) != -1) { assign("zeroOuter", FALSE, this.env) assign("zeroGrad", FALSE, this.env) if (regexpr("theta reset0", e$message) != -1) { assign("zeroGrad", TRUE, this.env) } else if (regexpr("theta resetZ", e$message) != -1) { assign("zeroOuter", TRUE, this.env) } assign("err", "theta reset", this.env) } else { assign("err", e$message, this.env) } }) if (this.env$err == "theta reset") { .nm &lt;- names(.ret$thetaIni) .ret$thetaIni &lt;- setNames(.thetaReset$thetaIni + 0, .nm) .ret$rxInv$theta &lt;- .thetaReset$omegaTheta .ret$control$printTop &lt;- FALSE .ret$etaMat &lt;- .thetaReset$etaMat .ret$control$etaMat &lt;- .thetaReset$etaMat .ret$control$maxInnerIterations &lt;- .thetaReset$maxInnerIterations .ret$control$nF &lt;- .thetaReset$nF .ret$control$gillRetC &lt;- .thetaReset$gillRetC .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillRet &lt;- .thetaReset$gillRet .ret$control$gillDf &lt;- .thetaReset$gillDf .ret$control$gillDf2 &lt;- .thetaReset$gillDf2 .ret$control$gillErr &lt;- .thetaReset$gillErr .ret$control$rEps &lt;- .thetaReset$rEps .ret$control$aEps &lt;- .thetaReset$aEps .ret$control$rEpsC &lt;- .thetaReset$rEpsC .ret$control$aEpsC &lt;- .thetaReset$aEpsC .ret$control$c1 &lt;- .thetaReset$c1 .ret$control$c2 &lt;- .thetaReset$c2 if (this.env$zeroOuter) { message("Posthoc reset") .ret$control$maxOuterIterations &lt;- 0L } else if (this.env$zeroGrad) { message("Theta reset (zero gradient values); Switch to bobyqa") RxODE::rxReq("minqa") .ret$control$outerOptFun &lt;- .bobyqa .ret$control$outerOpt &lt;- -1L } else { message("Theta reset (ETA drift)") } } } if (this.env$err != "") { stop(this.env$err) } else { return(.ret0) } } .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- 1 while (inherits(.ret0, "try-error") &amp;&amp; control$maxOuterIterations != 0 &amp;&amp; .n &lt;= control$nRetries) { message(sprintf("Restart %s", .n)) .ret$control$nF &lt;- 0 .estNew &lt;- .est0 + 0.2 * .n * abs(.est0) * stats::runif(length(.est0)) - 0.1 * .n .estNew &lt;- sapply(seq_along(.est0), function(.i) { if (.ret$thetaFixed[.i]) { return(.est0[.i]) } else if (.estNew[.i] &lt; lower[.i]) { return(lower + (.Machine$double.eps)^(1/7)) } else if (.estNew[.i] &gt; upper[.i]) { return(upper - (.Machine$double.eps)^(1/7)) } else { return(.estNew[.i]) } }) .ret$thetaIni &lt;- .estNew .ret0 &lt;- try(.fitFun(.ret)) .n &lt;- .n + 1 } if (inherits(.ret0, "try-error")) stop("Could not fit data.") .ret &lt;- .ret0 if (exists("parHistData", .ret)) { .tmp &lt;- .ret$parHistData .tmp &lt;- .tmp[.tmp$type == "Unscaled", names(.tmp) != "type"] .iter &lt;- .tmp$iter .tmp &lt;- .tmp[, names(.tmp) != "iter"] .ret$parHistStacked &lt;- data.frame(stack(.tmp), iter = .iter) names(.ret$parHistStacked) &lt;- c("val", "par", "iter") .ret$parHist &lt;- data.frame(iter = .iter, .tmp) } if (.mixed) { .etas &lt;- .ret$ranef .thetas &lt;- .ret$fixef .pars &lt;- .Call(`_nlmixr_nlmixrParameters`, .thetas, .etas) .ret$shrink &lt;- .Call(`_nlmixr_calcShrinkOnly`, .ret$omega, .pars$eta.lst, length(.etas$ID)) .updateParFixed(.ret) } else { .updateParFixed(.ret) } if (!exists("table", .ret)) { .ret$table &lt;- tableControl() } if (control$calcTables) { .ret &lt;- addTable(.ret, updateObject = "no", keep = keep, drop = drop, table = .ret$table) } .ret})(data = dat, inits = .FoceiInits, PKpars = .pars, model = .mod, pred = function() { return(nlmixr_pred) }, err = uif$error, lower = uif$focei.lower, upper = uif$focei.upper, fixed = uif$focei.fixed, thetaNames = uif$focei.names, etaNames = uif$eta.names, control = control, env = env, keep = .keep, drop = .drop): Not all the covariates are in the dataset.</span></div><div class='output co'>#&gt; <span class='message'>Timing stopped at: 19.01 0.403 19.42</span></div><div class='input'><span class='fu'><a href='https://rdrr.io/r/stats/AIC.html'>AIC</a></span><span class='op'>(</span><span class='va'>f_nlmixr_dfop_sfo_saem</span><span class='op'>$</span><span class='va'>nm</span>, <span class='va'>f_nlmixr_dfop_sfo_focei</span><span class='op'>$</span><span class='va'>nm</span><span class='op'>)</span>
+</div><div class='output co'>#&gt; <span class='error'>Error in AIC(f_nlmixr_dfop_sfo_saem$nm, f_nlmixr_dfop_sfo_focei$nm): object 'f_nlmixr_dfop_sfo_saem' not found</span></div><div class='input'><span class='fu'><a href='https://rdrr.io/pkg/saemix/man/summary-methods.html'>summary</a></span><span class='op'>(</span><span class='va'>f_nlmixr_dfop_sfo_sfo</span>, data <span class='op'>=</span> <span class='cn'>TRUE</span><span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='error'>Error in h(simpleError(msg, call)): error in evaluating the argument 'object' in selecting a method for function 'summary': object 'f_nlmixr_dfop_sfo_sfo' not found</span></div><div class='input'><span class='co'># }</span>
</div></pre>
diff --git a/docs/dev/reference/tffm0.html b/docs/dev/reference/tffm0.html
index d993e8ff..67f26b85 100644
--- a/docs/dev/reference/tffm0.html
+++ b/docs/dev/reference/tffm0.html
@@ -81,7 +81,7 @@ from RxODE." />
</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.0.5</span>
+ <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.1.0</span>
</span>
</div>
diff --git a/docs/dev/sitemap.xml b/docs/dev/sitemap.xml
index 150840e1..b5e83f34 100644
--- a/docs/dev/sitemap.xml
+++ b/docs/dev/sitemap.xml
@@ -246,4 +246,7 @@
<url>
<loc>https://pkgdown.jrwb.de/mkin/articles/web_only/compiled_models.html</loc>
</url>
+ <url>
+ <loc>https://pkgdown.jrwb.de/mkin/articles/web_only/dimethenamid_2018.html</loc>
+ </url>
</urlset>
diff --git a/vignettes/web_only/dimethenamid_2018.html b/vignettes/web_only/dimethenamid_2018.html
index e84a435c..df8200eb 100644
--- a/vignettes/web_only/dimethenamid_2018.html
+++ b/vignettes/web_only/dimethenamid_2018.html
@@ -1594,7 +1594,7 @@ div.tocify {
<h1 class="title toc-ignore">Example evaluations of the dimethenamid data from 2018</h1>
<h4 class="author">Johannes Ranke</h4>
-<h4 class="date">Last change 23 June 2021, built on 25 Jun 2021</h4>
+<h4 class="date">Last change 27 July 2021, built on 27 Jul 2021</h4>
</div>
@@ -1655,18 +1655,20 @@ f_parent_mkin_tc &lt;- mmkin(c(&quot;SFO&quot;, &quot;DFOP&quot;), dmta_ds,
<div id="nlme" class="section level3">
<h3>nlme</h3>
<p>The nlme package was the first R extension providing facilities to fit nonlinear mixed-effects models. We use would like to do model selection from all four combinations of degradation models and error models based on the AIC. However, fitting the DFOP model with constant variance and using default control parameters results in an error, signalling that the maximum number of 50 iterations was reached, potentially indicating overparameterisation. However, the algorithm converges when the two-component error model is used in combination with the DFOP model. This can be explained by the fact that the smaller residues observed at later sampling times get more weight when using the two-component error model which will counteract the tendency of the algorithm to try parameter combinations unsuitable for fitting these data.</p>
-<pre class="r"><code>f_parent_nlme_sfo_const &lt;- nlme(f_parent_mkin_const[&quot;SFO&quot;, ])
-#f_parent_nlme_dfop_const &lt;- nlme(f_parent_mkin_const[&quot;DFOP&quot;, ]) # error
+<pre class="r"><code>library(nlme)
+f_parent_nlme_sfo_const &lt;- nlme(f_parent_mkin_const[&quot;SFO&quot;, ])
+#f_parent_nlme_dfop_const &lt;- nlme(f_parent_mkin_const[&quot;DFOP&quot;, ])
+# maxIter = 50 reached
f_parent_nlme_sfo_tc &lt;- nlme(f_parent_mkin_tc[&quot;SFO&quot;, ])
f_parent_nlme_dfop_tc &lt;- nlme(f_parent_mkin_tc[&quot;DFOP&quot;, ])</code></pre>
<p>Note that overparameterisation is also indicated by warnings obtained when fitting SFO or DFOP with the two-component error model (‘false convergence’ in the ‘LME step’ in some iterations). In addition to these fits, attempts were also made to include correlations between random effects by using the log Cholesky parameterisation of the matrix specifying them. The code used for these attempts can be made visible below.</p>
<pre class="r"><code>f_parent_nlme_sfo_const_logchol &lt;- nlme(f_parent_mkin_const[&quot;SFO&quot;, ],
random = pdLogChol(list(DMTA_0 ~ 1, log_k_DMTA ~ 1)))
anova(f_parent_nlme_sfo_const, f_parent_nlme_sfo_const_logchol) # not better
-f_parent_nlme_dfop_tc_logchol &lt;- update(f_parent_nlme_dfop_tc,
- random = pdLogChol(list(DMTA_0 ~ 1, log_k1 ~ 1, log_k2 ~ 1, g_qlogis ~ 1)))
+#f_parent_nlme_dfop_tc_logchol &lt;- update(f_parent_nlme_dfop_tc,
+# random = pdLogChol(list(DMTA_0 ~ 1, log_k1 ~ 1, log_k2 ~ 1, g_qlogis ~ 1)))
# using log Cholesky parameterisation for random effects (nlme default) does
-# not converge and gives lots of warnings about the LME step not converging</code></pre>
+# not converge here and gives lots of warnings about the LME step not converging</code></pre>
<p>The model comparison function of the nlme package can directly be applied to these fits showing a similar goodness-of-fit of the SFO model, but a much lower AIC for the DFOP model fitted with the two-component error model. Also, the likelihood ratio test indicates that this difference is significant. as the p-value is below 0.0001.</p>
<pre class="r"><code>anova(
f_parent_nlme_sfo_const, f_parent_nlme_sfo_tc, f_parent_nlme_dfop_tc
@@ -1685,24 +1687,24 @@ f_parent_nlme_dfop_tc 3 10 687.84 718.59 -333.92 2 vs 3 140.771 &lt;.0001
<p>The corresponding SAEM fits of the four combinations of degradation and error models are fitted below. As there is no convergence criterion implemented in the saemix package, the convergence plots need to be manually checked for every fit.</p>
<p>The convergence plot for the SFO model using constant variance is shown below.</p>
<pre class="r"><code>library(saemix)
-f_parent_saemix_sfo_const &lt;- saem(f_parent_mkin_const[&quot;SFO&quot;, ], quiet = TRUE,
+f_parent_saemix_sfo_const &lt;- mkin::saem(f_parent_mkin_const[&quot;SFO&quot;, ], quiet = TRUE,
transformations = &quot;saemix&quot;)
plot(f_parent_saemix_sfo_const$so, plot.type = &quot;convergence&quot;)</code></pre>
<p><img src="data:image/png;base64,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" /><!-- --></p>
<p>Obviously the default number of iterations is sufficient to reach convergence. This can also be said for the SFO fit using the two-component error model.</p>
-<pre class="r"><code>f_parent_saemix_sfo_tc &lt;- saem(f_parent_mkin_tc[&quot;SFO&quot;, ], quiet = TRUE,
+<pre class="r"><code>f_parent_saemix_sfo_tc &lt;- mkin::saem(f_parent_mkin_tc[&quot;SFO&quot;, ], quiet = TRUE,
transformations = &quot;saemix&quot;)
plot(f_parent_saemix_sfo_tc$so, plot.type = &quot;convergence&quot;)</code></pre>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqAAAAHgCAIAAAD17khjAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAgAElEQVR4nOzdZ1wUV8M28LNL711ZuihFsDdAsDdUVEQsiVFRsUYSbxF799bEBibelltFo9jFgg0lCpZYUYoiSrCA9CKwLL3svB/mefblQSXA7uyyw/X/kN/uMHvOWTyZi5k5cw6HoigCAAAA7MKVdQMAAABA8hDwAAAALISABwAAYCEEPAAAAAsh4AEAAFgIAQ8AAMBCCHgAAAAWQsADAACwEAIeAACAhRDwAAAALISABwAAYCEEPAAAAAsh4AEAAFgIAQ8AAMBCCHgAAAAWQsADAACwEAIeAACAhRDwAAAALISABwAAYCEEPAAAAAsh4AEAAFgIAd8c8fHxnP9lYmLi6+srEAgIIWFhYfTGpKSkum/j4+NtbGw4/1dYWBghJCEhgcPh8Hg8oVDYQI2bNm0yNjbu2LHjlStXpPMdQX4FBwdzOJycnJwG9pF+HwZovJqaGl9fXz09PTMzs8DAwLo/wuG38RRl3QA5Nn/+/MGDBz9//nznzp3a2tqiXsjhcJ48eWJnZxcdHc3hcCiKIoTs2bOntLT0xIkTly9fPnbsmIaGRu/evQkhZ8+e5XA42dnZDx48GDBgwFcrunXr1vr16w8ePBgbGztx4sSsrCx9fX2pfU1gMan1YYAmCQkJCQ4O/v3335OSkvz9/V1dXZ2cnOrugMNvo1DQdHFxcYSQw4cP028nT56srq5eW1t7+fJlQkjHjh3nzZtHUdSwYcMcHBwIIXFxcfSeK1asIIQUFRWJirKxsZk4caKOjs6PP/74rer8/PysrKwoivrw4QMhJDQ0lMHvBvLv8OHDhJDs7OzffvtNWVn5/v37X+4j5T4MLLNr1y5LS0tdXd1Jkybl5eX98ccfhJBx48apq6sPGzYsMDCwTZs2Li4ur1+/Li8vnzt3rr6+fpcuXYKDg+mPBwYGGhgYjBw50tHR0cfHh8/ne3h4aGhoGBgYLFu2jKKojRs3uri4UBSVkpJCCDly5Iioahx+Gw+X6CWgZ8+eZWVlGRkZ9FsXF5cnT55QFBUdHe3s7NzAB2NiYpKTk6dMmTJmzJjQ0NBvXSbKyckxMDAghND/zcvLk/Q3ABa6e/fu0qVLg4OD+/Xr9487M92HgU1u3rzp7+8/cuTIXbt2RURELF68mN6uq6u7fPnyP//88/jx4zt37kxISDhw4MCOHTvOnz9/8eLF2bNnz5kz5+HDh9HR0f7+/l5eXn379n39+jUh5PDhw/fv3z99+rSPj8/27ds/fvy4bt26R48eEULCw8MJIQ10Qhx+G4CAlwAOh1P3rYuLS0JCQkxMTFlZWY8ePRr44JkzZ9TU1Nzd3b28vHJych48ePDV3UQ9j8vlEkIoipJQw4HNfH19TU1Nv//++8bszHQfBja5efOmurr67t27Z82aNXbs2IiICHr7unXrFi5cSAjx8fGZNm2ag4NDWlravXv3+Hy+u7v7smXLhELh3bt3b926xeVyAwMDV69e3aZNG0LIkiVLwsLC7ty5c/XqVUJIcXExXeCRI0d+/vnnjRs3duzY8VuNweG3AQh4CYiJiVFTUzM1NaXfWllZGRkZ7d27t3v37qqqqt/6FEVR586dKy8v19DQ8PLyIoScO3fuq3saGRnl5uYSQvLz8wkhxsbGkv8OwDpubm4pKSlHjx5tzM5M92FgE4qi6KFqhBAFBQVRBKqoqNAb6T5Dv9bW1h4wYEB5eXlFRUVNTc2qVavKy8u5XK6CggKHw1FWViaE7Nmzx8PDw97efu7cuaJalixZsnDhwkOHDq1bt66BxuDw2wAEfPPFxsZevnx57dq1586dmzdvHv33HSGEw+G4uLicOnXKxcWlgY8/efIkNTV1xYoVoaGhoaGhgwcPvnDhwlcvE40YMSItLS0oKGjjxo2qqqoYxwSNcfTo0eHDh69du7a0tPRb+0itDwObDB8+vLS01N/fPyQk5NKlS8OHD29g56FDhz59+jQiIuL3339XV1d/+/Zt//79q6urV6xYsWbNmvT0dEJIfHy8pqamtbX1rVu3CCEURV27di0oKGjSpEk6OjphYWEpKSkJCQkrV678+PEjXSwOv40iq5v/co0e5UHj8XizZ88uLi6mKIoe5XH79u0dO3YQQs6cOUMPd/rqKI+ff/5ZWVmZz+fTPzpx4gQhJCoq6qs1rlu3rm3btu3atTt//rw0viHIM9Egu6dPnxJC1q9f/+U+0u/DwCbbtm2zsLDQ0dHx9vbOzc2lB9mlp6fTp7kHDhygKMrZ2dnT07OysnL+/Pl6enqmpqaisXLLly/X09MbOHCgnZ2dj4/PixcvunXrZmpq+tNPPxFCdu3aRb8QOXDgQGhoKCHk7t27OPw23v88RQAAACAFjx8/PnXq1IIFC9TV1Tt37hwQENDwRXhoNjwH37K8fv166dKl9TaeOnVKT09PJu0BFkCnghbF0dExPz/f1dWVy+V6eHgsWbJE1i36H+z7PwVn8AAAACyEQXYAAAAshIAHAABgIQQ8AAAACyHgAQAAWAgBDwAAwEIIeAAAABZCwAMAALAQAh4AAICFEPAAAAAshIAHAABgIQQ8AAAACyHgAQAAWAgBDwAAwEIIeAAAABZCwAMAALAQAh4AAICFEPAAAAAshIAHAABgIUVZN+CbHj58ePXqVVm3Ql5xKioIIZSqqpTrtbCwWLhwoZQrlQn0T3GgfzIN/VMcrOmfHIqiJFicBC1btuz169f9+/eXdUPkksKKFYSQ2l9/lWalfD4/JCQkLS1NmpXKCvqnONA/mYb+KQ7W9M8WHfBGRkYBAQGybohc2snhEEKWSvcfNz093cXFpfUcQNE/mw39k2non+JgTf/EPXgAAAAWQsADAACwEAL+H1RWVtZ9W1tbm5qaSr8uLS1NSkr6+PEjIaS6upqiqOrq6q5du544cYIQwufzQ0NDCwsL379/Twh58+bN5s2b+Xw+ISQ5OfnVq1d1i6UoKjIyMjo6uqysrKCggC6QEFJRUTFq1KiMjIy6O1dXVwuFQrooQkhiYuLjx4/v3bv39u1bZn4HAGKJj4/39PSUdStatYKCAk1NTQ6Hs2PHDlm3BaSn5Y6il7n379/v2bMnNDQ0PT2dEFJeXu7j4xMdHZ2RkdG2bVsTE5POnTsfOXLEwMBg9+7dGzdu7NKly7Nnz4qKijZs2LBx48bCwsLy8nJ1dfWSkpIBAwZkZGQkJCSEhISYm5u/f/++tLTUxMSkuro6IyPD2NjYwsLi9u3bVlZWXC63pKRk9OjRUVFRAwYMsLe3f/78eefOnY2MjPh8vomJyfHjxzds2BATE5OZmWljY3P8+PH58+e/ffu2pKTEwMAgJCTk8+fPmpqa9Fe4dOlSampqbW1tSUlJeXl5WVlZ3b9XKIoqKipqxm+Gw+Ho6urSr3/44Yd+/fqJ/csGyfv06dPff/89dOjQuhtXrly5efNmRUXF7OzsCxcu/Pjjj1JoSWxsbExMjBQqgm/R19cvKSk5evTogwcPZN0WkB65CfjCwsJRo0ZVV1cvWbLk+++/Z7q6jx8/9urVq7q6urS09OPHj0lJSVeuXDl37lxAQICOjo6uru6OHTtevny5dOnSnJycqVOn6unpXbx4MSAgICAgYP369crKyj179nR2dg4JCXF2dg4LC7O1tT158uTWrVs/fvy4c+dOV1fX0NDQuLg4JSWloqIiXV1dLy+vjIwMZWXloqIiLpdbXl6uqal569at8PBwoVD44MEDLy+vM2fOODs7l5aWbtmyZciQIc+ePXN2dh4yZEhSUpKysvLz58+nTZvG4/GSkpI2E0IICQ4Otra2VlNTU1VV1dPTMzU1VVFRIYQoKSlRFEVRlLa29rd+A6qqqhUVFYqKijU1NfV+VPcvAx6Px9A/AYgpIiLi1KlTdQO+rKxs27ZtP/74o5mZWXR09KJFi4yMjFRUVMaOHVtSUvLnn396eXnRe2ZlZS1YsODy5cuEkIqKij179kyePLmwsLBr1671ajl69OiECRMa6EiRkZGhoaFZWVm1tbUKCgoMfFFoLB6Pl5mZKetWgBRRLVVAQMD27dvrbomLi1u0aNHKlSslXldERERubm5RUdHJkydLS0vv378/bty46dOn37p1y9nZWVVVlcvljho1at++faKPvHv3rrCwkH7966+/3r59+8qVK/9YEZ/PFwgE4jQ1Kipqy5YttbW19NukpCT67gCtpqamtrb2yZMnOwjZIfV/3LS0NDMzMylXKitf9s+WZuvWrTwej36dlJS0b9++169fE0KeP39OUdThw4dFB4Hu3bsHBgZ26NCB3rmmpmbQoEHq6ur024SEBEVFxXXr1g0ePLioqCgtLU1URWFhISHk6NGjfD5/3759U6ZMoXtmWVlZUlISvc/48ePpWlJSUiiK4vP5JSUldP989OjR7t276xbIKPTPuLi4Ll26yKQ98oU1x0+5OYMnhHTt2tXU1FR071kiEhMTFy1a9Pz586FDhyYmJiYlJXl5eeXl5T148OD8+fPDhw8fPnz4u3fvsrOz3dzc6n6wffv2otfLly9vZHUNnOg00sCBAwcOHCh6a2trW/en9BmSk5MTLsM1rO7ZZGxsbGJiYq9evezs7GTbKvElJyenpqYOHjyYy+Xm5eVlZWWVlZWpq6s/efJk+/btcXFxhJDc3NyNGzdevHhRTU2turq6Q4cOsbGxycnJQqGwtLT05cuXaWlpUVFRhJD8/HxDQ8OsrKyampqLFy8mJCSYmZlZW1vHx8dPmDBh3rx5FhYWhJB3797t3bt31apVSkpK06ZNGzVqVFhYmL+///Llyzt16vTy5UtCiLa2dkJCAkVRLi4uHh4e9C966NCh3t7e+/fv3759e2pqardu3SiKIoRkZGQIBAJTU1NjY2Mul9uuXTs+n5+fn19RUUHf9qIvRBkZGXG53KqqKkJITU2NQCCora0lhCgoKKirqxsZGRkYGHA4HBn9U7REJiYmWVlZsm4FSI88BTwhhMOR8IP7ycnJUVFRSkpKYWFhPB7vl19+WblyJSFk7969omFBHTp06NChgwQrBZkzNjbOy8sjhAQFBe3cuXPw4MGrV6/etGnT9OnTZd20xvrPf/7z4MGDs2fP0m+LioqePn26aNGijIwMFRWV/Pz8nJwcQsjo0aPv3LmTnZ2dkpISGRlpZ2f34cOHM2fOvH37tlevXhkZGT169KDHcBBCOnXqlJqaSv8vxuFwFi5caGlpGRsbq6iomJCQQAgpKSl5+fLlggUL/vrrLzs7u2HDhqmoqAQGBiorKxNCPDw8vL29+/XrFxMTk5+fv3TpUn9//+zsbD09vWHDhsXFxXG5XAMDgwsXLqwihBBy69YtNze333///ejRo/QIEk1NTaFQyOPxtLW1L168WFhYWFlZmZqaqqGhYWxsrKqqqqamJhpKkpOTw+VyFRUVCSGKiopaWlr0H221tbVlZWU5OTnFxcXBwcFy9G/KNENDQ4FAUFlZSf+FBKzX2gM+MzPT3Nz8+vXrkZGRP//8MyEkKCjIx8fH19eXPnAAu+3atev58+c8Hi8vL8/V1VWOwuDDhw8RERH068+fP7dr105HRyc9PV1DQ0MgECQkJNDDNu/evfvixQs67N+9e3fw4MEjR458+PDB09Nz3Lhxv//+u6OjI12Ip6fntWvXNDQ0SkpK5s6du2jRos2bNwcGBgqFQjc3t7/++mvatGkhISGenp63bt3Kzc19/vx5SkrK1KlTFy1alJOT8+jRI1tb26tXr0ZERAwdOrSsrOzRo0f//e9/O3bseP78+adPnwYHB7dp08bZ2fnp06eksJAQQl8V++mnn3766ScZ/RZbFw6H06ZNm+zsbEtLS1m3BaSh9WZYVFRUUFDQ3bt3V6xY0blz586dO9PbV65cOW3aNPqMBFjP0NCQHidoaGgoX0PAsrKy+Hx+VVUVPTBTIBAIBIJ//etfGzdu9Pb2/ve//+3q6urq6nrz5s0TJ07cu3fP2tp64sSJ/fv3nzt3btu2bS9dusTn842MjEaNGmVpaenj4xMSEnLmzJnq6ury8vIffvihTZs2586dS01NdXNz+/7776uqqvbu3XvixAlPT08fH59Tp06dO3euU6dOFy5coO8Tubu7l5aW2traOjs7jxo1Ki0t7dGjR4WFhVZWVlZWVlpaWmvWrPnPf/4zfvz4w4cP78SVcxkxMTHJzMxEwLcSchbwYp7B8/l8HR0dQsjFixenTp1aUVHh4eGxYMGCuvssXrxY3FZCi6ekpOTo6GhhYVFcXHzs2LHp06f7+vrWG2bRwqWnp1MUlZeXZ2pqKhAIjI2NVVRUXF1dtbS0hg0btmrVqlWrVvn7+/fu3XvAgAHz5s3bv38/h8OhL8XTf9Po6OiMHj2aENKrV69hw4Zpamr6+vrWq8XS0vKXX34ZOXIk/b+JtbW1np7e2LFjx4wZc//+/fnz59cdBaKhodGnT589e/ZMnTr18uXL9IMYpqamhBADA4P9+/eHhITMmzdPar8i+JKpqWm9eTWAxVpXwHfo0CE5OVlVVfWHH37o2LFjdXX1d999p6enJ8EWglzIzMwsLy9PTU1NSUkxNjamKMra2nrJkiXNLrCgoMDFxaWmpmbFihVz5syRYFO/KicnJzEx0dbWNjo6WkdH59KlSx06dPDz83N1dSWEzJ8/f/fu3VZWVoSQXr166enpbdmyhR5upqmp2blzZ29v77ql2dnZ3bhx41t1/fDDD6LXq1ev7tWrFyGEy+UePXq0e/fuX+5PP1vv7u5+9OjR8PBwOuAJIUOHDq33UD5IH30GL+tWgJS0ooCvra39/PnzlStX9uzZY2dnh5k3WrPa2lo1NTV7e3t7e/vY2NjTp097e3urqak1u0B9ff07d+789ttv9MyGTEtPT7eyspo9e/b48eOHDx9+7969QYMGTZo0if6ppqbmoUOH6GfW1dXVs7Ky6g6qooe1N8/MmTNFr93d3RvY09jYeMqUKb169dLS0mp2dSBxOINvVeRsqlpxAr64uJiiqJkzZz5//rxHjx6SbRjIF2NjY/pFUFCQh4fHzZs3R4wYcfz4cXHKNDMzMzAwkOwgUJpoZDutqqoqOjra0NBw4cKFOjo6ERERQqGwXo6OHDnSxMSEfi3DIdMdOnRo27atrGqHLyHgW5VWFPD05GsaGhocDqdPnz4SbRfIK3oUfUhISHR09L///W8xS5P4Ux60gQMHHjx4UPR25syZCxcuNDQ0JITY2NhoaWmtXbsWJ8rQGGZmZvTc29AatKJL9PQMOTY2NpaWlqIpOaGVk+woeokHfGVlZXx8fE5OTlJSEr1FIBBcu3Zt6tSp+vr6hJDLly/TCw3gxio0Bs7gWxU5C3hx0Gfwnp6ea9eulXVbQMbkZRT9ixcvvv/++/Ly8qSkpPPnz9+/f79NmzYdO3bcunUrPYObaAhbt27dZNpSkA9mZmYZGRkURWGOv9ZAzgJezEv048aNQ7oDYWAUPU3iZ/DFxcWfPn0ihNy4caO4uPivv/5SUlKaMmWKubm5BGuB1kNNTU1dXf3z58/0LR5gt1YU8Pn5+QYGBpJtD8gvFRWV8vJyeo0HoVC4cuVKLvebQ1IePnxY7xp4bGxsly5d6u3GRMBTFOXs7PzkyZNnz57xeDxvb+8BAwZIsApobczMzNLS0hDwrQGDAS8UCuPj47Ozs2tqakxNTbt169bAAbSRxDmAFhQUIOCBFhUVtWDBAh6PR1/izszMTEtLCw4O7t+//1f3v3HjRnJyct0tMTExZWVl9XaTbMCfOHFCIBAQQgIDA3fu3Hnx4sUzZ858q4XQmvn4+NCLBYi8e/eud+/eAQEBX+5sbm6enp7+1TkMgGWYCvimHkAbSZwDaHR0NPo00H766afr16/XXRIwLS3N29v76dOnX91/y5Yt9bY4OTl9OUWSZAN+wYIFPj4+9DzKPB5vxowZSHf4qvXr1xcUFNTdMmPGjG8NGjU3N6fv+wDrMRXwTT2ANlLzDqBTp07duXPnpUuXhg0bJk7twBq1tbX04HmRtm3bip/NEgz4wsLCkpKS+/fve3l5aWpqDhgwAKsfwbe0a9euXbt2dbdoaGh8q8OYm5unpaVJpV0gY0wdMhg6gDZDTk7OqVOn7O3t9fT0pk6dKv0GQAu0aNGinj17jhs3zszMjMPhZGZmXrlyZdGiRbJu1/9HH4Jfvny5fv16QsjEiRNl3SJgCQsLiwZmJgY2YSrgGTqANuMM6e+//yaEvHjxwtTUVENDQ8wGADssXLhwzJgx4eHh9NA5+pAn/tB0CZ7Bv3//nn4xZswYiRQIQLOwsEhNTZV1K0AamAr4ph5AU1JSPn/+XHdLZmampqZmvd2acQClZ3UICwsbN25ckz4I7GZubj537ty6W2pra8Wc60aCAU+P6dPS0lJSUpJIgQA0S0tLBHwrweBdPXpGDn19fTU1NXNz84ZPj9avX//69eu6W96+fevo6Lhu3bq6G5txAM3Pzzc2Ns7Ozq5XFEBdOTk59APx4hQiwYB/9+4dIURXV1cipQGImJqa5uXlVVdX429H1mMq4P/888/Zs2fb2dk9efKEfkCuoKDg3LlzHTt2/Or+x44dq7fFycnJyMio3sZmHEA/f/48efLkd+/eOTo6NumD0KoYGRllZ2eLWYiYAZ+fny96Ovn9+/dmZmZYyxgkTkFBwdjYOD09vd64PGAfphab8fPzu3Pnzp9//vn69eva2tp79+6dPHmy3hXRZmjGAfTAgQPW1tbXrl2T4Zpa0AIJhcLY2Njw8PCrV6/SaweLv+6ZmAFvY2Oze/fuJ0+e+Pn5RUZGdu3atVOnTmI2CeBLVlZWKSkpsm4FMI6pM/jKykr6CXhjY+OsrCxCiKOjI/1CHE09gAoEgry8PAcHBzHrBZZhaJ4GcdTW1vL5/O3btwcEBNy9e7d9+/YBAQE6Ojqyag+wGAK+lWAq4L28vMaOHTtu3LiIiIgBAwZQFDVixAh3d3eGqvuW/Px8MzOzoUOHSrleaOFa1DwNNHpW2qysrOzs7A8fPsTGxtra2orTGIBvQcC3EkwF/M6dO0+dOhUdHT169OjZs2cTQrZu3Sr+KuxNPYBielr4qhY40U1xcTH94vHjx3Z2dkh3YI6VlVVUVJSsWwGMYyrgORzO1KlT604sI366k2YFPL1sNkBdLWeeBhE+n0+/SExM7Nevn5gtAWhAu3btjhw5IutWAOPkbPLLJh1Ay8vLV6xYgcHz8KUWONGNKOCxlCcQZhbrEmnXrt3Hjx8lVRq0WGwO+IiIiJiYmEmTJjHaJJBTX050Iz6JXKInhLRp00ZCLQK5xPQgUDMzs/z8/IqKClVVVYkUCC0TmwM+OTmZvgzLaJMAJEIgEOjq6hoaGlZVVZmYmMi6OSBLDA0CFeFyuebm5qmpqXZ2dhIpEFom1gY8RVF79+719/e3t7dnulUANHHO4EtKSsaMGbN27VpjY2PM2dDKSWGxrvbt27979w4Bz25yFvCNV1FRkZ6ePmTIEFk3BFoRMS/RGxoa2tjYSLZJII+ksNph+/btRQsaAVvJWcA3/gBaWlqqq6v7rZlxAZgg5hm8lpaWZNsDcoqhQaB1IeBbA9YGfFlZmbq6OtPtAZAUgUAg/ly5wBqmpqa9e/cWjaKnR9tJUPv27W/fvi3ZMqGlYW3Al5aWIuBByrhcrlAobN5nBQJB3UFV0JpJYSplGxsbesVCYDE5C/jGKysr09DQkHUrABpLIBDgEj3QmB5FTwixtrZOTU3ForHsxtRqcgzBGTy0ZGIOssPSMkCTwih6FRUVHo/36dMnCZYJLY2cncE3/gB64cIFBDw0gImZwsQMeG1tbTEbAOwghVH0hBBbW9ukpCTcGGIx1gZ8YmIiDpfwLQzd40TAg0Q0dRT9oUOH6g2JT09P/8dZ6mxtbf/+++9Ro0ZJpM3QArE24AsLC3/66Sem2wNySgr3OJsKAQ91NWkUvYaGhp6eXt0tXC6Xw+E0XIWdnV1iYqIE2gotFWsD/vPnz506dWK6PSCnGLrH2exR9A8ePMjNzcUgO6A19QrT999/X2/LxYsXNTU1G67Fzs7u0qVLEmkwtEzsDPjffvstJSVFV1dXCk0CeSSde5yNd+DAgYqKinonYdBqSecKk729/du3byVYILQ0LAz4qqqqDRs26OrqYkwyfEtLWy62pKTExMREUVHO/n8EhkhhFD0hxMzMTCAQ8Pl8HCrZSs4OKP94AE1ISFBXV9fV1X379q0El08GlqmtrRUtFxsbG5uYmFhWViZ+sc0O+NLSUjMzM/EbAOwgnStMHA6HPol3cnKSbMnQQjAYgUKhMDY2Njw8/OrVqzExMc2e4avx/Pz8evbsGRcXZ2FhgfW4oAHGxsb0i6CgIA8Pj5s3b44YMeL48eNiFivOGfysWbPErB1YY+HChREREdbW1vn5+Xl5efQVpnnz5km8oo4dO2KcHYsxdQYvk8eQ4uLiqqqqJkyY8N1334lTC7Qeu3btev78OY/Hy8vLc3V1nT59ukyaIRAInJ2dZVI1tEza2tpz5szhcDgvXrx48+ZNSUkJE7U4Ojq+fv2aiZKhJWDqDJ4eJBIVFXXixIkTJ05ERkZGRkYGBASIWWzDAV9UVES/MDIyErMiaCUMDQ3pm52GhoYKCgpilta8UfRHjhzJycn5xzHP0HocPHjQycmppqZm69atEydO/PPPP93d3Q8dOiTxihwcHHAGz2JMncEzNEik4YDn8/n0C0NDQzErAnZTUlJydHS0sLAoLi4+duzY9OnTfX193dzcpN8SoVA4Z84coVCIpRNAZMuWLa9evVJSUtq/f398fLy+vn5eXl7fvn3nzJkj2Yo6deqUkJAg2TKh5WAq4BkaJPKPAe/p6Xn58mUEPDQsMzOzvLw8NTU1JSXF2NiYoihra+slS5aIWWwz7sELBAKhUMjlcjGSGWMRIJUAACAASURBVESMjIyqqqoIIbq6uvRgYfEvL32VpaUln88vKirCQ8WsxFTAN/UxpAkTJsTFxdXdkpGR8eVMNQ0cQGtqakpLSx0dHS9fvoxL9PCPVFRUysvLKYpKS0sTCoUrV65s4LGLvLw8gUBQd0tFRcWXV+ObEfD0ZSdTU1Ms6gUiW7Zs6du379ixY21tbQcOHDh8+PDr16/7+flJvCIOh+Pg4JCQkCCTy1fANAYfk9PX1586daqGhkZmZuaDBw8KCgoaCPiDBw+KLrDTvLy82rZtW2+3Bg6gp0+fpi+6DhkyZOTIkeK3H1isqYNAFy1a9Pz587pbMjIylJWV6+3WjICnB45YWVk16VPAbiNGjHj27FlYWJiurq69vb2RkdGFCxfs7e2ZqKtLly4vX75EwLMSUwEfEhLi5+enqKi4YcOGoKAgFxeXZcuWBQQEfOsqvYGBgYGBQd0tKioq/ziXcl18Pr9///4TJ07s378/bmdCw5o6U9jZs2frbXFycvryQlHzzuA7d+68bdu2Jn0KWE9XV3fGjBlSqIgOeClUBNLHVMBv2LDh7du3qqqq5ubmN2/edHV1zc/P79Onj5i34Rs4gJaXl6upqenp6WG+T/hHMhkE+lVFRUWWlpYuLi5iVg3QPF27dj1x4oSsWwGMYCrghUKhvr6+oqKihoYGPeRNU1OzSWfkX9XAAbSiouIfl0cEoLWcueizsrJMTEykXy8ArUuXLgkJCbW1tQyN4wMZYirgJ02a5OTkpKysPGzYMB8fn6lTp4aHh7u7u4tZbMMBjyvz0EgtZy76zMxMBDzIkLa2No/HS0pKcnBwkHVbQMKYCvht27aNHj1aQUHB1dX1zp074eHhnp6e4k/G+a0DqFAofPjw4dixY8UsH1oP0Vz0IuKfxDQv4Hv16iVOpQBi6t69e0xMDAKefRici75///6urq6EkCFDhuzcuXPOnDnMXQLKz8+/d++empoaQ+UD6+Xk5Ii/mFszAv79+/ft2rUTs14AcfTo0SMmJkbWrQDJk7P11r51AKWfUcY9eGg2IyOj7Oxs6debnJxsY2Mj/XoBRHr16vXixQtZtwIkjyXLxSLgoamEQmF8fHx2dnZNTY2pqWm3bt2+nHehqZo6F31ZWVl+fr749/4BxEEvwolxduzDkoC/e/cuQcBDozG02mFTJScnt2/fHkdVkC1dXV0ej/fmzZsvJw8FucaSgA8JCSGEaGlpSb1FIJeaOtFNIzX1Hvy7d+9wfR5agj59+jx79gwBzzIsuQefkpIyevToIUOGSL9JII9ayEQ3GRkZuD4PLYGTk9OTJ09k3QqQMDacwQsEAnqie/En0oFWQiarHX4pKyur3t8ZAM2QmJhIz+ggwufzmzSnp7Oz84EDByTdLpAxNgQ8PUxp586dMmkSyKMWMtFNRkYGQyuIQKuyd+/ev//+u+6WrKysJi1A3KVLl9TUVKwbyzJyFvBfVVBQYGRkhGnsoEm+nOhG+uLj4xcvXizbNgAL7N27t96Wry6G1AAlJaXevXs/fvwYS3GyCRvuwcfExOCvTmgJmnQGT1EUxi1Dy+Hm5vbXX3/JuhUgSWwI+GPHjunr68ukPQB1NSngy8rKlJWVv1xUHkAm+vfv/+DBA1m3AiSJDQFfVFTUpk0bmbQHoK4mBXxJSYmmpiaj7QFoPBcXl7i4uPLyclk3BCSGDQHP5/P9/f1l0h6AupoU8FlZWRg4Ai2Hurp6ly5dHj16JOuGgMTIWcB/VWFhIc7goSVoUsBv2bIFZ/DQogwaNCgyMlLWrQCJkbOA//IAWlNTU1lZiTMhkDu5ubmYexFalCFDhty+fVvWrQCJkfuALygo0NHRwRQ30BI06Qz+8+fPOIOHFqVv375JSUkFBQWybghIhtwHfHx8PB40ghaiSQFfWFhoYmLCaHsAmkRZWbl///44iWcNBgNeKBTGxsaGh4dfvXo1JiamSctofku9A2hRUdHEiRO7du0qfsnQqtTW1opex8bGnjx5MikpSfximxTwBQUFX85PAiBb7u7u4eHhsm4FSAZTAR8VFeXg4LBkyZKTJ0+ePXt26dKldnZ29+/fF7PYegfQwsJCPp9fd00wgMYwNjamXwQFBXl4eNy8eXPEiBHHjx8Xs9jGB3x1dXVtba2ampqYNQJI1siRI8PDwyVyPgYyx9RUtdJZjpN+ZNPKykqcMqE127Vr1/Pnz3k8Xl5enqur6/Tp08UprfEBX1FRoaqqKk5dAExo166doaFhdHS0k5OTrNsC4mIq4KWzHGd5ebmVldWgQYPELBZaLUNDQ7qjGhoaKigoSK3e8vJyBDw0QCgUxsfHZ2dn19TUmJqaduvWjcuV0pCpcePGhYWFIeBZgKmAZ2g5znrKysrMzc3xrBE0lZKSkqOjo4WFRXFx8bFjx6ZPn+7r6+vm5iZmsU06g8f1efiWqKioBQsW8Hg8U1NTQkhmZmZaWlpwcHD//v2lULuXl9fUqVO3bt0qhbqAUUwFfFOX49y1a1e95Q5TUlK+nKa73gG0rKwMR0lohszMzPLy8tTU1JSUFGNjY4qirK2tlyxZImaxuEQPEsHQLc5G6tGjR0VFxatXrzp37iyF6oA5TAX8r7/+OmPGjMYvx2lnZ1fvRDwiIkJJSanebl9eoldXVxezqdA6qamp2dvb08uxHzx4cPXq1eKX2fiAxyV6aABDtzgbicPhTJw48dy5cwh4ecdUwG/atOnGjRtTpkyZM2fOlzn9JQ8Pj3pbgoODvwxvnMGDRNy4cSMvL0/0dtOmTSoqKoSQGTNmiFMsLtGDREjnFmcDpkyZMnny5M2bN0utRmACU6M2NDQ0IiMjKysrnZ2dAwMD611+bzacwYNEvH79eu7cuZGRkXFxcXFxcRUVFfQLMYvFJXqQiIULF0ZERFhbW+fn5+fl5dG3OOfNmye1BvTs2VNJSenJkydSqxGYwOCwTEVFxX/96193796lKGrGjBk2NjZ+fn5illnvACoQCDALPTRDQEBAZGTkx48fPTw8goKCeDxeUFBQUFCQmMU2MuDDw8OnTp1KXzMA+CpTU9PevXs7OTn17Nmzd+/e9Gg7aZo+ffoff/wh5UpBspi6RC+ipaXl7+/v7++fnZ199epVyRaemJjYvXt3yZYJrYSrq+u1a9f8/PyuXbtWWVkpzaojIiIyMjJ69eolzUpBjsh2FD1txowZXbp0CQwMxFVS+cVUwH85INnY2HjOnDliFlvvDOnx48e+vr5ilgmtlra29rFjx86cOfP27VuJFNjIM/jk5GRCCNZQgG+R7Sh6momJSd++fc+ePTtz5kypVQqSxdQl+pUrVzJRbN0D6Pv37wsLC3v37s1ERcB6orUSNDQ0tmzZwsRaCfVQFLV3794BAwYIBAIi9oA+YDHZjqIXmT9//r59+6RcKUgQ45foJavuAfTx48eurq5YKBaaoamXQAcOHHjv3r16G52dnettaTjgc3Nz6YHQ9NNHurq64nwFYDGZj6Knubu7L168+NGjR3379pVy1SARchzwHz58oB9iBmiqpl4CvXv3br0ty5YtMzIyqrex4YBPSEigX2RnZ3M4HAQ8fEtTJwobOXJkva4rEAi6dOkiZjO4XO7PP/+8a9cuBLyckuOAz8nJcXR0lG17QE5JZ62EerZv306/+Pz588WLFxszPwS0WvQoetFc9A2Por906RK98pbI0KFD6/Xw5pk5c+bmzZuTkpLs7OzELw2kTM4Cvq6cnJzBgwfLuhUgl6R5CfT9+/c5OTl9+/YtKiqitwiFwhEjRjBRF7BDU28hqaqq1ptWQVFRMsd2dXV1Pz+/rVu3Hjt2TCIFgjTJWcBzuVzRYKjc3Nwvr5ECNEZTL4E20lfP4G/cuHH//v2+ffvy+fyBAwfevXtXS0sL09hBA1rCKHoRPz8/Gxubt2/f4pao3JGzgK+ruLhYR0dH1q0AeWVubl5vrYTa2loxV4z9asCXlpa+e/eOECIK+PHjx4tTC7BeCxlFT9PW1g4ICFi5cuWlS5dk0gBoNjkL+LoH0JKSEk1NTdm2B1gjJyeHXlZOnEIaCHiKovh8focOHQiegId/0kJG0ddtz969e+/duzdgwABZtQGagcGpapmAgAeGGBkZZWdni1nItwK+pKQkNTW1pqZm/Pjx/fr169mzp5gVAbvJfC76elRVVXfu3Onn51ddXS2rNkAz4AweWimhUBgfHy8apdytW7e2bduKWeZXA76kpIQQ4unpaWxs3L59+/v374tZC7QGubm5bdu2nTx5suhG5LVr175cdVNqJkyYcOTIkV27dq1YsUJWbYCmktczeKFQiAU3odmioqIcHByWLFly8uTJs2fPLl261M7OTiLRm5ub+/LlS9HbioqKsrIyVVXV+Ph4a2tr8cuH1uCXX37x8vI6d+5ct27dYmNj6Y3iT/Utpn379gUGBr5+/Vq2zYDGk7MzeJHS0lI1NTUuV87+QIEWgqFRyvTt0uXLl4eHhxNC8vPze/To0aNHD0dHx4SEhK5du4rbbmgd9u7dGx8fb2Bg8OrVqwkTJrx48UJLS0vWjSKWlpa//vrr999///TpUyx2LBfkLCDpM/jCwsKIiAhcn4dmY26iG0LIkydPCgsLCSEFBQWFhYXFxcXffffd2bNnf/vtNzHLh1ZCS0uLXgi7c+fOCxYsWLx4saxb9D9mzZrVqVMnGQ73gyaRszN4OuDd3d2fPXtma2sr6+aAvGJolDId8EVFRVu2bLGzs6utrS0rK4uJiTl//ryBgYEkGg6twnfffefq6jpv3ry5c+cuXrzYy8trypQpZWVlsm4XIYT897//7du372+//fbzzz/Lui3wD+Qy4HNycgjW6gAxMDfRDf2iqKho//799N1TXV1dpDs0ybp161xdXT9//kwI4XA4oaGh586d09PTk3W7CCFEU1Pz6tWrbm5upqam3t7esm4ONEQuA76goIAQglluQBxfTnQjPjrgPTw8BAIBn8+nN7Zp00aytUBrMGTIENFrBQWF77777rvvvpNhe+qytLS8du3aiBEjlJWVx44dK+vmwDfJ3z34qqoqelkFBDy0TJaWlsXFxXw+39DQkBCCCZWBfbp27Xr9+vV58+adPHlS1m2Bb2Iw4IVCYWxsbHh4+NWrV2NiYkRzyItDWVk5JydHT09PSUkJl+ihpaHP4I2NjSMiIj5//uzj40MIoWMegGV69uwZGRm5Zs2a9evXS+TwDhLHVMAz9JyxqqpqZWWls7OzqqoqzuChpaEDnsfjCYVCNTW1VatWdejQwcrKStbtAmBEx44dnz59eu/evZEjR2ZlZcm6OVAfU/fgGXrOmJ7ZpmfPnk+ePMEZPLQ0dMCbmJgQQvT09PT09IyMjBwcHGTdLgCmtGnT5s6dO1u2bOnWrdsvv/wyc+ZM0VBTkDmmzuAZes6YDnh1dXVVVVUEPLQ0okv0hBB6BN+SJUuGDRsm42YBMElBQWHdunW3bt06fPiwk5PTnTt3ZN0i+B9MncEz9JyxgoKCoqKihoYGAh5aLPpPW3pmezxHBK1Et27dHj58eP78+R9//FFfX3/JkiXjxo1TUlKSdbtaNaYCvqnPGcfHx+fl5dXdwufzv3qXXU1NDWfw0DLRZ/CGhoaKiopYKAFaGw6HM2nSJG9v70uXLu3Zs+enn36aMmXK5MmT+/Tpg+v2MsHgc/Da2tpz5szhcDgvXrx48+YNvabWtwQHB79586buloKCgrq38EXogFdTU0PAQ0vD4XBUVVUVFRU1NTUR8NA6cbncCRMmTJgw4e+//z558uSsWbMKCgpGjBgxePBgNzc3LLkkTUwF/MGDBwMDA1+9erVjx47Dhw/369dv9erVa9as+daCSL///nu9LcuWLfvqA8RqamoaGhpHjhyxsbGRfLsBxMDhcOhFQRDwIKYvlzOWu7W1bG1tN27cuHHjxg8fPkRERNy4cWP16tUVFRU9evTo0qVLx44dbW1t27dvX2+0FkgQUwG/ZcuWV69eKSkp7d+/Pz4+Xl9fPy8vr2/fvuKveKiqqqqhoeHo6CiRdgJIkLKyMn1hCQEP4oiKilqwYAGPxzM1NSWEZGZmpqWlBQcH9+/fX9ZNaw5ra+v58+fPnz+fEJKZmRkXF/fq1av79+8fPnz448ePRUVFZmZmPB6Px+MZGRkZGhrq6+vr6enp6OhoaWlpa2tra2srKytra2urqKioq6vL+tvIE6YC3sjIqKqqihCiq6tL/+GpoKAgkZI1NDTodZYAWhoLCwv6QVDRamAAzdDUx4xXr16dnJxcd8u7d+8UFVviTOQmJiYmJiajRo0SbamoqEhLS8vOzs7KysrJycnPz09OTi4qKuLz+QKBgJ71uaqqSiAQVFZWlpWVcTgc+s9oBQUFbW1tuhBlZeV6/8dpaGgoKys3tXlaWlolJSXDCSGEDB8+XPwnvxrm7+/v7u7OXPkMnsH37dt37Nixtra2AwcOHD58+PXr1/38/MQvOSQkBOvIQYtFrwhy7NixDh06yLotIK+a+pjxyJEju3XrVndLYWFh586dmWqfRKmqqtrY2DT+litFUUVFRYSQmpoagUBAb6yqqiotLa27W2lpKX2S2SQCgUBTUzP+zz8JIQEBAUyPDWT634ipgB8xYsSzZ8/CwsJ0dXXt7e2NjIwuXLhgb28vfsmYNgRavo4dO8q6CSDHmvqYsZubW70t0dHRbF0EgcPhiBbWY+g7xhNCCGHBDBYMXsPR1dWdMWMGc+UDALASQ8sZQ2vTEm/SiBQUFHz48IF+XVJSkpOT04x7Kk1SWloqhVun0qmFEHLv3j1Gy6+srKx7ITo7O5vR6loa9E8xoX82QPzljNE/xcSC/slhehBBs+3fv3/nzp2it7m5uWVlZZIaqfctNTU1CgoKjN53oSiqtraW6fEvvWpqCCHPGa6lpqbGxMRERUVFtMXe3v769euMVtpCoH+KA/2Taeif4mBP/6TkxIYNG9avX890LZ06dXr16hWjVbx+/drBwYHRKiiKWr9+vRR+XQ4ODq9fv2a6FrmA/tkk6J9Shv7ZJKzpn3I2cwIAAAA0BgIeAACAhRDwAAAALISABwAAYKEW/ZhcXYqKikKhkOla6PXmGa1CUVGR6bGsdC1MV0Gk8uuSF+ifTa2F6SoI+mcd6J9NrYXpKohUfl0t9zG5eoqLiwkhopmHGZKRkWFiYsL09IQZGRn0GhLMkdqvi+kvIi/QP5sE/VPK0D+bhDX9U24CHgAAABoP9+ABAABYCAEPAADAQgh4AAAAFkLAAwAAsBACHgAAgIUQ8AAAACwkHwG/b98+BweHLl26REVFSbDY0tLSAwcONFCLmPVu3rzZwcHB3Nz8l19+YagKoVDo6+trY2NjbW198uRJhmoR2bFjx40bN5iuRe6gf34L+mdLgP75Lezvn4yuVScRnz59sre3Ly0tTU5OtrOzq62tlUixL1++nDVr1pQpU75Vi5j13r59u0ePHuXl5Xl5eRYWFi9evJB4FRRFhYaGjhkzRigUvn//XlNTs6qqiolaaH/99ZeysvIff/xBMfDrkl/onw1A/5Q59M8GsL5/ysEZfHh4+Lhx49TV1Tt06GBsbBwfHy+RYk+fPl1UVNRALWLW+/nz53nz5qmqqhoaGrq5uaWlpUm8CkJImzZtli9fzuFwLC0ttbW1a2trmaiFEFJcXLxy5copU6bQbxmqRR6hfzYA/VPm0D8bwPr+KQcBn5WVZWZmRr82MzPLzs6WSLFbt25duHBhA7WIWe+kSZPmzp1LCHn16tWjR48GDhwo8SoIIf369XN1dd27d6+Tk9OSJUtUVVWZqIUQ4ufnt379en19ffotQ7XII/TPBqB/yhz6ZwNY3z/lIOCFQmHdyY1ramqkU4v49VIUFRQUNGHChIsXL+ro6DBRBW3UqFHz5s07ePAgn89nopazZ8/q6+sPGTJEtIW57yJ30D//EfqnDKF//iMW9085WGrJxMTk06dP9OvMzEwTExPp1CJmvbW1tRMnTtTV1X3+/Dm9aIHEqyCEXLt2zdra2sHBYc6cOZcvX46Ojmailj/++OP9+/e3b9/Oyso6f/58ZWUlE7XIKfTPBqB/yhz6ZwPY3z8lciefUampqZ06daqsrExLS+vQoYMER8fcvn1bNEjky1rErPfUqVOTJ09u+IuI/9V27979ww8/VFdX5+XlGRsbv3v3jolaRBYvXkwPEmG0FvmC/tkA9E+ZQ/9sAOv7pxycwVtYWPz4449ubm6EkMOHD3O5jNxW+LIWMet98OBBeHg4j8ej3x46dMjDw0OyVRBC5s+fP2fOnI4dO1IUtXnz5vbt2xNCJF7LlyT+65Jf6J8NQP+UOfTPBrC+f2K5WAAAABZqLX/GAgAAtCoIeAAAABZCwAMAALAQAh4AAICFEPAAAAAshIAHAABgIQQ8AAAACyHgAQAAWAgBDwAAwEIIeAAAABZCwAMAALAQAh4AAICFEPAAAAAshIAHAABgIQQ8AAAACyHgAQAAWAgBDwAAwEIIeHFpaWmVlpYWFxcfOnSoqZ8VfSosLMzPz4+B1kFrh/4JLRn6J6MQ8JIhEAiOHz/e8D7V1dXf+tSIESM2b97MVOOg1UP/hJYM/ZMhCHjJWLZsWUJCwpYtWwghGzZs6NChQ7du3f744w9CyK1bt+bPnz9s2LCrV6/6+vra2NhYWlru2LGj7qfu3Lmzdu1aiqKWLl3q4ODg6Oh46tQpQsidO3e8vLxcXV0dHBxWrVol068Icgz9E1oy9E+mUCAeTU3NkpKS9PR0Nzc3iqKuX78+ZMiQ0tLSgoICW1vb2NjYmzdvmpiY5Obmvn371sfHRygUFhUV8Xg8iqJEn7p27dqiRYsuXrw4cODAmpqa3NxcHo+XlZV1+/ZtTU3NgoKCqqoqS0vL3NxcGX9bkDfon9CSoX8ySlHWf2CwzYMHD7KzsydPnkwIKS8vj42NNTEx6devn5GRkZGR0apVq44cORIbG1tYWPjVz3p5eSkoKBgZGTk5OUVHR6urqw8aNEhPT48QYmNjU1xcbGRkJO2vBCyC/gktGfqnZOESvYSpqan5+/tfvXr16tWriYmJP/zwAyFES0uLEBIZGent7c3hcObPn9+2bdsvP0tRFIfDoV8rKCgIhUJCiIGBgRSbDyyH/gktGfqnZCHgJaa2tpYQMmjQoKNHj1ZVVfH5/E6dOmVnZ4t2eP78+eTJk2fNmiUQCHJzc+n+R3+K5ubmdunSJaFQ+Pnz54cPH/bu3Vv63wLYCv0TWjL0TyYg4CXD0NCwpKRk3bp1/fr1GzZsWJcuXXr06LF69Wpzc3PRPlOnTo2KinJycjpy5MigQYPWrFkj+hS9g5eXV9euXbt06TJw4MBdu3aZmJjI6NsA26B/QkuG/skQDkVRsm4DAAAASBjO4AEAAFgIAQ8AAMBCCHgAAAAWQsADAACwEAIeAACAhRDwAAAALISABwAAYCEEPAAAAAsh4AEAAFgIAQ8AAMBCCHgAAAAWQsADAACwEAIeAACAhRDwAAAALISABwAAYCEEPAAAAAsh4AEAAFgIAQ8AAMBCCHgAAAAWQsADAACwEAIeAACAhRDwAAAALISABwAAYCEEPAAAAAsh4AEAAFgIAQ8AAMBCCHgAAAAWQsADAACwEAIeAACAhRDwAAAALISABwAAYCEEPAAAAAsh4AEAAFgIAQ8AAMBCCHgAAAAWQsADAACwEAIeAACAhRDwTKmpqfH19dXT0zMzMwsMDKz7o+DgYA6Hk5OT08DH4+PjOf/LxMTE19dXIBAQQsLCwuiNSUlJdd/Gx8fb2Nhw/q+wsDBCSEJCAofD4fF4QqGQyW8MLJSbm7t161ZZtwJaqX88VKJ/NgwBz5SQkJDg4OBNmzZ5enr6+/s/ffq0GYXMnz//3Llz06ZNO3r06Pr160XbORzOkydPCCHR0dEcDofeuGfPntDQUE9PT0LIsWPHQkNDe/fuTQg5e/Ysh8PJzs5+8OCBBL4YtA4CgSAsLMzb27tuxwNoIdA/G6P1BnxgYKCVlZWent7kyZPz8/OPHTvG4XA8PT01NDSGDx8eFBTUtm3bvn37JiYmVlRUzJs3z8DAoGvXrkeOHKE/HhQUZGhoOGrUqE6dOs2cObO4uHjMmDGampqGhobLly8nhKSlpbm4uPj5+QUEBBBCEhMTv2zD77//rqKi0kDu9urVa+LEidu2bZs4ceJ///tf0Sm4vb3948ePCSHPnj3r2LEjvdHd3X3ChAn29vaEkHHjxk2YMMHExIQQcvbsWW9vbx0dnfPnz0vwFwgs8GW/FXnx4sWKFSvevHkjq7YB0FavXq2np9e/f//U1FTRRvTPxmilAX/z5k1/f/+RI0fu2rUrIiJi8eLF9HZdXd3ly5f/+eefx48f37lzZ0JCwoEDB3bs2HH+/PmLFy/Onj17zpw5Dx8+jI6O9vf39/Ly6tu37+vXrwkhhw8fvn///unTp318fLZv3/7x48d169Y9evSIEBIeHk4IcXZ2rteGu3fvLl26NDg4uF+/fv/Y4J49e5aVlWVkZNBvXVxcnjx5QlFUdHT0lyXXFRMTk5ycPGXKlDFjxoSGhuIqPdT1Zb8V/WjgwIFv3rxZtGiRDJsHQAhJTk7etm3b27dv58+fL9qI/tkYirJugGzcvHlTXV199+7dKioq9+7dCw8PHzZsGCFk3bp12tra69ev9/HxmTZt2t69e9PS0hITE/l8vru7O0VRQqHw7t27FEVxudzAwEANDY09e/YQQpYsWdKjR4/Lly/TcV5cXExXdOTIkZ9//nnjxo2i82wRX19fU1PT77//vjENFl2Hp7m4uBw7diwmJqasrKxHjx6i6wpfOnPmjJqamru7O4fDOXHixIMHDwYMGNCUXxWw2bf6LUDL8euvv7q4uCQmJu7fv7+2tlZBQUHWLZIbrfQMnqIoehgatgez8gAAIABJREFUIURBQUF0XquiokJvVFVVJf8bq9ra2gMGDCgvL6+oqKipqVm1alV5eTmXy1VQUOBwOMrKyoSQPXv2eHh42Nvbz507V1TLkiVLFi5ceOjQoXXr1n3ZBjc3t5SUlKNHjzamwTExMWpqaqampvRbKysrIyOjvXv3du/enW7qt77muXPnysvLNTQ0vLy8CCHnzp1r1C8IWoev9luAFoWiKEIIcr0ZWmnADx8+vLS01N/fPyQk5NKlS8OHD29g56FDhz59+jQiIuL3339XV1d/+/Zt//79q6urV6xYsWbNmvT0dEJIfHy8pqamtbX1rVu3CCEURV27di0oKGjSpEk6OjphYWEpKSkJCQkrV64UXQU9evTo8OHD165dW1pa+q2qY2NjL1++vHbt2nPnzs2bN4/L/Z9/Lw6H4+LicurUKRcXlwZa/uTJk9TU1BUrVoSGhoaGhg4ePPjChQu4Sg8iX/bber0UQObWrFlz5MiRkydPDh069M2bN+ifjddKA3706NHbtm27cuWKn5/f0KFDf/vttwZ29vX1nT59+pQpU7Zv337gwIGOHTuOGDFi+fLlISEhDx8+tLOzI4QsXLiQx+PNmjWLvhQfGRn5559/EkJCQkI8PT09PT1v3bqVlJT066+/fvr0iS6Ww+Fs3rw5Kytrx44d36p6796948ePDw4O9vHx2bRpU90f9e3bt7KysuEb8GfPnlVWVl65cuWECRMmTJgwa9asnJyc+/fvN/r3BCz3Zb+t10sBZE5FRWXx4sW2trb79+9H/2wSDn31A5rk8ePHp06dWrBggbq6eufOnQMCAr56ER4AAEBWWukgOzE5Ojrm5+e7urpyuVwPD48lS5aIU9rr16+XLl1ab+OpU6f09PTEKRYAAFoznMEDAACwUCu9Bw8AAMBuCHgAAAAWQsADAACwEAIeAACAhRDwAAAALISABwAAYCEEPAAAAAsh4AEAAFgIAQ8AAMBCCHgAAAAWQsADAACwEAIeAACAhRDwAAAALISABwAAYCEEPAAAAAsh4AEAAFhIkbmihUJhfHx8dnZ2TU2Nqalpt27duFz8PQEAACANTAV8VFTUggULeDyeqakpISQzMzMtLS04OLh///4M1QgAAAAiHIqimCi3c+fOly9fbt++vWhLWlqat7f306dPG1nCw4cPr169ykTbWgNORQUhhFJVlXK9FhYWCxculHKlMoH+KQ70T6ahf4qDNf2TqYB3cHB4/vy5urq6aEtVVZWbm9uzZ88aWcKyZctev36NM/7mUVixghBS++uv0qyUz+eHhISkpaVJs1JZQf8UB/on09A/xcGa/slUwO/bt2/Pnj3jxo0zMzPjcDiZmZlXrlxZtGjRvHnzGlnCsmXLjIyMAgICmGge6+3kcAghS5n5x/2W9PR0FxeX1nMARf9sNvRPpqF/ioM1/ZOpe/ALFy4cM2ZMeHh4ZmYmIcTCwuLGjRvm5uYMVQcAAAB1MTiK3tzcfO7cuXW31NbWKigoMFcjAAAA0KT33FpOTo6i4jf/nhg0aBDn/9qxY8fly5dFOxQUFGhqanI4nJ07d0qlvQAsFx8fL8E7dJmZmbdu3frqj/r27btmzZqpU6cSQpKSkj59+kRv//HHH3fv3l1RUSGpNrRajT9+7tixQ4btBClj8Ay+HiMjo+zs7G/9NCoqqt4WJycnPT090Vt9ff2SkpJ9+/YlJCQw1UQAlrp27ZqHh4fo7aVLl8zMzIYOHfry5UtLS8tmFHjr1q2amprRo0fX3XLo0KERI0YUFhY+f/582LBhaWlpa9eu9fb2jo6Ofvz4saqqqkAg6N+/v6+vL/0/dkZGRkpKyrZt2xYtWqSioqKjo2NhYaGpqfn27VuBQKCurl5TU6OoqFhcXKyjo6Ourq6goFBcXFxbW1tcXEwIMTIy0tLSIoQoKSkpKChUVFRQFMXhcEpKSqqrqxUUFDQ1Nfv27dsa7gw28vh59OjRBw8eSLdpIEvSC3gul9u2bVsxC9HV1S0qKpJIewBaiaKiorFjx75//75du3bl5eXl5eXHjx83MzMrLi7Ozc2lAz4iImLw4MGKioqVlZWEEBUVlW+VRlHUuXPn1q1b9/nz56dPn4oehU1NTX3z5g0h5D//+c/u3btXrFhx4sSJz58/Hzt2TFVVtaamprKycunSpXl5ec+ePRtBCCHk4sWLXC43ISFh27ZtRkZGf//99+nTpysrK21sbHR0dCoqKrhcrlAo1NbWfvPmTU1NTVVVlba2tqKiIp3rSUlJJSUlhJCqqiqF/8XhcJSVlVVUVGprawUCgYGBQWsI+Ebi8Xj0oChoJaQX8BKBgAdopJcvXz59+rS0tLR79+4URZ0+fXrVqlW+vr6XLl3S0NDgcDiEkGvXrh05cmTbtm2TJ0++detWnz59fHx8DAwMevToUVtb6+zs3LlzZ0JIeHh4enp6//79uVxufn7+lClTCCHu7u6TJ0/u1KmTjY3NxIkT37x5U1RUtHnz5uDg4IKCgmXLlunr6yckJFy6dOngwYNv3rwZP3784cOH+/Tpc/v2bTrg6aktO3XqFBISIsNfVOvB4/GysrJk3QqQHqYC/sCBA/fu3fty++nTp8UpVk9Pr7CwUJwSAMj/He8ZGxubmJjYq1cvOzs72bZKfGVlZd7e3kOGDPn06ZOFhcW2bdvy8vLWr19vZWUVFha2bNmye/fuHThw4MKFC1euXOHxeL/88kt1dbWJiUlRUdHEiRNnz54dGRkpFApPnjzp5OS0fPlye3v7TZs2/etf/0pKStLS0mrTpo2FhQUhpHv37v369Vu9enVcXJyqqurhw4crKytHjBixf/9+a2vrnJycqqqqixcv8ni8H374oV27dps3b966dauWltbcuXOdnJyIdB9AApqJiQnO4FsVpgJ+2rRpT58+LS4uluy8PDiDB4kwNjbOy8sjhAQFBe3cuXPw4MGrV6/etGnT9OnTZd20RqmtrS0vLz916pToQZWCggKBQPDbb7+Fh4eHh4erqKi0a9cuLy+Pw+EEBwf369fv5s2bp0+ftrW1nT59+rRp0xYvXuzo6Ojn56eqqvrrr79aWVmVlpauX79+0KBBWlpaNTU1169f79q16+PHj4cNG0Zf9xYIBDwer6KiomvXrsuXLzc3N/f39/fz8ysuLj516tSoUaOcnJyUlJSqq6uTk5PpM35CiLa29siRI0eOHEkIOXToECFkxYoV5JdfZPjba7UMDQ1LSkoqKysbuAUDrEIxJj4+fuXKlc3+eJ8+fUaPHl1vY1ZWVtu2bcVrV6uwg5AdTP7jflVaWpqZmZmUK20eQ0ND+oWpqWlmZiZFUbm5uTY2No0vISAgYPv27Yw0rhG2bdtmZmbG5XI/fvxIb9myZYulpaWVlVXXrl2VlJSWLVtG/w8+YcIEQsjGjRuNjY1VVFQuXbpUt5y4uLiKioq0tLTc3NyamhoVFZVJkyYdPnz4wIEDFEVdu3Zt1qxZCgoKnp6efD5//PjxhYWFaWlpt27dys/PF6f96J9M++rxk6IoS0vLlJQU6bdHvrCmfzJ4D75Lly5dunSRbJl6eno4gwcJMjQ05PF49IsWPkkDn8+PjIx0d3dXU1N7+/Ztenq6pqbmhg0bAgMD8/Lyjh8/npqaumrVqnXr1uXk5GRmZm7fvt3FxWXGjBkPHjwwMDDw9vZWVlYeO3Zs3TK7du1KCDEzM6Pf2traGhkZzZ49m347evToUaNG/fzzz/T/yBcvXiSE6OrqivYHuUOPs2veoxMgd+RskJ2KigqXyy0rK6s7yz1AUykpKTk6OlpYWBQXFx87dmz69Om+vr5ubm6ybtc3xcTETJo0KT8//+LFi05OTo8fP549e/bMmTOHDh16//59iqLU1dWnTJni6empoqJiYWHRtm3bAQMGREZGcrncGTNmODg4/Pjjj/9Yi7u7u76+ft0tHA5H4n+mgwyZmppmZGTIuhUgJXIW8OR/b8Mj4EEcmZmZ5eXlqampKSkpxsbGFEVZW1svWbJE1u36PxISErhc7sSJE0+dOnXjxo3379/TG+Pj462trffu3auiomJgYPDx40dCyPr16zds2CD6rIqKyt27d+nX27dvb2SNW7dupUfXA1vR96Rk3QqQEvkLeHogvYmJiawbAvLt/7V353FNnWn/+O+ERZBVkgAJBGQTRETU1qiAooytTytjq1ZQK/axanHBYq1Tt6qPderLwWoXaa2oo11sdaSOikAdllqslQcREPetIBB2MIGwZvn+cV4/fjyoqZCcnOTwef8Fp+G+Lph7vM59zr1YW1sHBAQEBARQ327atEmlUj3rw6mpqb3+Wbx06RK1hIwmra2t48aN27Nnz82bN6OioiorK+fPn//CCy+kpaUNGjRo0aJF1DyprVu3Njc3y2SyTZs26R5Uy16TwA4ikQgj+IHD9P7/jJVyQIeamhpqKP/U/3rnzp27d+/2vHLv3j1qGTdNMjMz29rajhw54uTkRB0wNX/+fIlEsn79ent7+8OHD1MfW7p0KX05APu4ubmVlJQwnQUYCAo8ACF/tpXy2rVre10pKiqyt7enL58zZ86Ym5vn5eUtXrx46NCh+fn5Y8eO5fP5VlZWwcHBPB6PvtDAYu7u7hUVFUxnAQZiuMNm9AUFHvSioKDg9OnTMpmM+pbL5ebn5zObUre1a9eeP39+9uzZ1tbWjo6OH3744ZkzZ1xdXQkh/v7+eD8F/YZJdgOKSRb4xsZGprMA07Zz585Zs2adOHEiJCSksLCQusjs426NRiMSibZv337o0KE9e/Z4eHj8+OOPCxYs6PWcICIiApurQ7+JxeLKyspnvYoClsEjehiIkpKSiouLeTxeSUnJ7NmzCwoKqPNLGPTo0aOqqqrDhw9TW+wFBgYSQubOndsrsS1btqjVamZSBNNnZWU1ePDghoYGPp/PdC5AO9MbwTs5OaHAg47s7OxsbGwIISNHjly+fHlCQgLTGRFqEl9ZWVlra+vo0aOpYfq0adPGjx/f82O2tra0vvsHI6FQKBQKBSFEKpUeP368uLhYXy2LxWJq2iawnrEU+GvXrmX+XzKZrKur68lP4hE96G7evHmhoaEHDhwghCQkJDQ2NsbExLS2tjKYUnNzMyHEwsIiNzf3yy+/jI6OZjAZYNa3337r5ubm6em5b9++8PDws2fP/vWvf923b59eGnd3d0eBHyCM5RF9cnLy7du3e16pqqpydHR88pMYwYPutmzZEhoa2tDQQAjhcDgnT548ceLEkCFDGExJoVBYWFgMHz7cmDfUA8PYtm3b7du3raysxGJxRkZGaGhofX39uHHjVq1apXvjHh4eKPADhLEU+C+++KLXFYlE8tS3RE5OThjBg+4iIyO7vzYzM5s3b968efMYzEehUMyZM0e/py+CiVKr1U5OTubm5jY2NtQ/g7a2tvraZBCP6AcOYynwzw+P6IGVWlpaRCIRhu9ACJk7d65EIrG0tJw2bdpbb721YMGC9PT06dOn66VxsVh87do1vTQFRs70CjyPx0OBB/ZRKBTUvD+AXbt2vfrqq2ZmZqGhoVlZWenp6a+99trixYv10rinp+ejR4/00hQYOdMr8NSJsWq1mtaNQgEMTKFQYOUSdJs0aRL1RWRkJPU6SctZCfX19XK5vOeV9vb2Zy2n9PT0LCsr01+mYLxMr8BT76XkcvlTp+ABmCiFQjF06FCmswAjpf2shLi4uO79miiVlZUWFhZP/bBIJKqrq+vs7LS0tNR/omBMTK/Ak/9vnh0KPLBJQ0MDujQ8i/azEk6ePNnrikQiEQgET/2wmZmZUCisrKz08vLSZ4pgfEy1wDc0NHh7ezOdCIDe3L9/39fXl+kswFio1eri4uLq6mqlUunm5hYSEuLi4qKvxj09PUtLS1HgWc8kCzzm2QHLqNVqFHjolpOTs3z5cqFQ6ObmRgiRSqXl5eWHDh3qfjGvo6FDh5aWluqlKTBmplrgqS1KANihsLDQzc3NycmJ6UTAKKxevfrcuXM+Pj7dV8rLy+fMmZOXl6eX9lHgBwgaJ6LTt5cyCjywzB9//DF8+HCmswBjoVKphEJhzysuLi56PAIOBX6AoKvA07qXMvUOXi9NARgDmUzm4ODAdBZgLFatWjV27Nj169fv27cvKSlp06ZNY8eOffvtt/XVvpeX1x9//KGv1sBo0fWInta9lHk83r1793RvB8BIoMBDTytWrIiKikpPT5dKpYQQDw+PtLQ06oBBvfD29n748KG+WgOjRVeBp3UvZT6ff/nyZb00BWAMUOChF7FYvGzZMpoad3Nza2hoaG9vt7KyoikEGAO6CjyteynzeLz6+nq9NAVgDB4/foxln2AwXC7Xw8OjtLQ0ICCA6VyARnQVeFr3Uubz+SjwwCZlZWUTJkxgOgsYQLy9vR88eIACz240LpPr017KfcLn8zHJDlhDLpfn5OR88803TCcCA4iPj8+DBw+YzgLoZbh18Nr3Uv7qq696nX9QXl4+aNCgp36Yz+fX1dXpP0UAJly4cEEikdjb2zOdCAwgvr6+9+/fZzoLoJfhCrz2vZSdnJx6nYZkbm5uZmb21A9Tp2q2trYOHjxYv0kCGN7NmzeDg4OZzgIGFh8fn/PnzzOdBdCLxgLfp72Uo6Oje1356aeftByPTb2G9/Dw0Fu6AAy5d+/euHHjmM4CBhY/Pz+M4FmPrgJP917K1ER6FHjotydvQLlcGjd21KKpqYnH4zESGgYsb2/v8vLyrq6uZ50qCyxAV4Gney9lgUCAifTQb3TfgPZJc3OznZ2d4ePCQGZpaSkUCsvKynDEEYvRVeDp3ksZ8+xAF3TfgPZJS0sLCjwY3rBhw+7cuYMCz2J0FXhqL+WZM2e6u7tzOBypVHrmzBm97FNLEQgEKPDQb3TfgPZJc3Ozra0tI6FhIBs2bNjdu3dfffVVphMButBV4OneSxmP6EEXdN+A9glG8MAIf3//69evM50F0IjGWfS07qXM5/MLCwtpahxYj+4b0OfX1dUlk8kwggfD8/f3T0lJYToLoJHh1sHrl7OzMx7Rgy6evAFVqVTP2nqBPhkZGYQQnDQDhjd8+PDbt28znQXQyFQLvEAgqK2tZToLYA/tOy3OnTu3oKCg5xWpVBoUFKR7XIVC8fLLL2OpEuiiuLi414Dnec4nFIlECoXi8ePHjo6OdGYHjDHhAo8RPOiR9p0Wk5KSmpube155/fXXBQKB7nFxZCfo7p///OeNGzd6Xqmurh4yZIj2n+JwOAEBAbdv3x4/fjyd2QFjUOBhgCooKKioqIiIiKAGOlwuNz8/f8aMGU/9sEAg6FXOrays9LIxTkdHx7POXAB4Tp9++mmvKxKJ5Hl2Txo+fPjNmzdR4NmKma27dOfk5KRQKDo7O5lOBEzSzp07Z82adeLEiZCQkO7ZmkuXLjV8JhjBA4NGjBjRa+gPbGKqI3gOh8Pj8erq6qidyAD6JCkpqbi4mMfjlZSUzJ49u6CggKmFaijwwKDAwMCsrCymswC6mOoInhDi7OyMeXbQP3Z2dtRRRiNHjly+fHlCQgJTmbS3t+MRPTAlKCgIS+FZzIQLvIuLC17DQ//MmzcvNDT0wIEDhJCEhITGxsaYmJjW1lbDZ4J38MAgDw+PlpaWxsZGphMBWpjqI3pCiIuLS01NDdNZgEnasmVLaGhoQ0MDIYTD4Zw8efLEiRN/OuuYDh0dHXw+3/BxAQghHA5nxIgR169fZ+SYJaCbsRT4fqwzRoEHXURGRnZ/bWZmNm/evHnz5hk+DbyDB2YFBwdfu3YNBZ6VjKXA92OdMQo8sMD9+/fHjBnDdBYwcAUHB2Pbb7YylnfwAoHA+//603XGKPBg6pRKZWZmppeXF9OJwMA1atSo4uJiprMAWhhLge8HFHgwdTKZzNHRcerUqUwnAgPXyJEjb9y4oVQqmU4E9M+0C7yWvUUBjB+2AQfG2dnZubm54dQZVjLhAu/q6ooRPJi05zkRBIBuY8aMuXr1KtNZgP6ZcIEXCARNTU14sgSmCwUejMHYsWNR4FnJhAs8l8uldqtlOhGAfkKBB2Pwwgsv9FqlDOxgwgWe4DU8mDgUeDAGY8aMKS4uVqlUTCcCembaBV4oFKLAg+mSy+X29vZMZwHGjtpTmT729vbu7u44Vo59jGWjm/5xdXWtqqpiOguAfkKBh6dKS0vr+fJx+/bt1IEFixYtoiniuHHj8vLygoODaWofGEHjCF4mk2k0GkJIQUHBd999d+vWLb2HwAgeTFpzczMKPDzpxo0by5Yty87OLioqKioqam9vp76gL6JEIsnLy6OvfWAEXQX+wIEDEolEqVR+/PHHb7zxxn/+85/p06cnJyfrN4pQKMQIHkwXRvDwVOvWrcvOzv7jjz9mzJixd+9eoVC4d+/evXv30hdxwoQJv//+O33tAyPoekT/97//vaSkxMLC4quvviouLnZycqqrq5s4ceLSpUv1GEUoFObk5OixQQBDQoGHZwkNDU1NTY2Pj09NTe3o6KA7XFBQUEVFRWNjo5OTE92xwGDoGsELBILOzk5CiKOjI7WlvJmZmd6jiEQijODBdDU3N9va2jKdBRgpe3v7o0ePSiQSHx8fumOZm5tLJJJLly7RHQgMicYR/MSJE//6178OGzYsIiLipZdeOnfuXHx8vH6jCIVCqVSq3zYBDKalpQUFHrSLiYmJiYkhhKhUqmcNk/71r389fPiw55WqqqrBgwf3KVBoaOjFixdnzJjR71TB2NBV4F9++eX//d//PX36tKOjY0BAgEAgSElJCQgI0G8UkUhUXV2t0Wg4HI5+WwYwABR4eE41NTWurq7UtOUn1dXVNTU19byiVCr7uq598uTJmzZt6n+KYHxoXCbn6OjYa1GHljvQ+vp6uVze80p7e7tardYewtLS0s7Orr6+XvvJ8QDGSaFQoMDD8xAIBFpWDK1YsaLXlZycnL5O75BIJCUlJQqFwsbGpj8pgvEx3Dp47XegcXFxhYWFPa9UVlZaWFj8abMikUgqlaLAgynCCB6eRa1WFxcXV1dXK5VKNze3kJAQFxcXWiNaW1uPHj36t99+e+mll2gNBAZjuAKv/Q705MmTva5IJJLnKdtubm6VlZWjRo3SNT8Ag0OBh6fKyclZvny5UCh0c3MjhEil0vLy8kOHDk2aNInWuFOnTs3KykKBZw0aC7xh7kCpAq/3ZoHder4tKiwsvHnz5gsvvODv72/gNFpaWvA4FJ60evXqc+fO9Zw8X15ePmfOHLr3oomMjHz33XdpDQGGRNcyuZycnMDAwPfee+/7778/fvz4+++/7+/v/+uvv+o9EAo89IOrqyv1xd69e2fMmJGRkfHyyy9/8803hsyhtraWw+FYWVkZMiiYBJVKJRQKe15xcXF51vtNPZJIJA8fPsQRnaxB1wjeYHeg7u7uly9f1m+bMHB88sknV65cEQqFdXV1oaGhsbGxBgu9evVqbCoCT7Vq1aqxY8fOnDnT3d2dw+FIpdIzZ86sWrWK7rgWFhYRERH/+c9/5s+fT3csMAC6RvAGuwN1d3evqKjQe7MwQPD5fKqj8vl8OvZi0kImk/F4PENGBFOxYsWK8+fPe3t719fX19XVeXh4pKWlvfPOOwYIPX369PT0dAMEAgOgawRvsDtQFHjoBwsLixEjRnh4eMjl8qNHj8bGxi5ZsiQsLMyQObS0tGAED88iFouXLVtm+LivvPLK5s2btSxpBhNCV4FfsWJFVFRUeno6tdMcdQcqFov1HggFHvpBKpW2tbWVlZWVlpZSqze9vb3fe+89Q+bQ2tpq+Gl9ANqJxWJ3d/fff//dwPe7QAcaZ9Eb5g7U0dFRrVbj0A7oK2tr64CAgO7dFTdt2qRl56/i4uJeM49kMpmDg4MuCSgUis2bN+vSAgAdZs6cefr0aRR4FjDcOnj6UIP4wMBAphMBE6Z9I6ZDhw7dunWr55WqqipHR0ddIra0tOh4iwBAh1mzZr3++uuJiYlMJwK6YkOBF4vFjx49QoEHXWjfiOnzzz/vdUUikfD5fF0iYhE8GKfg4GAul3v16tUxY8YwnQvohK5Z9Ibk4eHx6NEjprMA08blcuneCrSX1tbWvp73BWAYc+fOPXHiBNNZgK7YUODFYnF5eTnTWQD0QWdnJyHE0tKS6UQAniI6OvrHH380wNY6QCs2PKL38PDIyclhOgswJfv3779w4cKT13/44QfDJIAzu8CYBQcHOzg45Obm0r37PdCKDQXe09MTj+ihTxYuXJiXlyeXy588Z9MwUODByMXGxh45cgQF3qSxocB7eHiUlZUxnQWYEhsbmzVr1vz444+RkZGMJNDa2ooCD8Zs4cKFAQEBn332mZ2dHdO5QD+x5B28VCrVsogZ4EnBwcEff/wxU9Exggcj5+zsHBkZ+f333zOdCPSfsYzgU1NTqT3vutXW1j7nv4CWlpYCgaCystLDw4Oe7AD0DAUejF9cXNyaNWvi4uKYTgT6yVgK/J07d+7evdvzSmtra1dX13P++NChQ0tLS1HgwVQoFAqskQMjN3XqVLVanZOTM2XKFKZzgf4wlgK/du3aXleKioqef58vqsBjPgiYCryDB+PH4XASEhJ2796NAm+ijKXA68jLy+uPP/5gOguA59XQ0ICzYkFf/vGPfzx48KDnldLSUgsLC91bXrhw4bZt265duxYcHKx7a2Bg7CnwT13WDGB4CoVCqVRqf/5UV1cnEAgMlhKwW1BQUK+TEc6fP6+XbZQGDRr03nvv7dixAxvbmSKWFPihQ4ceOXKE6SwACCFk165dcrn8008/fdYHsrOzd+zYweAcfmCZV155pdeVQ4cO6WuSR1xc3CeffFJUVBQSEqKXBsFg2LBMjhDi4+Pz8OFDprMAIISQy5cva++NV69ebW1tFQqFBksJoN8GDx68cePG9evXM50QdKJJAAAXgklEQVQI9BlLCry7u3t9fX17ezvTiQCQqqoq7TsvlZWVbdy48bXXXjNYSgC6WLZsWWlpaXp6OtOJQN+wpMBzuVyxWFxaWsp0IgCkublZ+5TPW7duhYaG4qQZMBUWFhaffvrpu+++i0GUaWFJgSeE+Pr69ppHCsCI5ubm9vb2hoYG6ttbt25lZWV1/9eOjo7Lly9PnjyZoewA+mP69OkhISE7duxgOhHoA/YUeB8fn/v37xNCqB3xysrKUlNTmU4KBpzCwkK5XB4YGNjd/VJSUvbv39/9gbKyMqFQiEXwYHI+//zzgwcPXrlyhelE4HkZqMAfOHCA7hC+vr4lJSUTJkzw9PQMDw+/cOHCJ598QndQgF5SUlLMzMwSEhLOnz9PXXn48GH3E/uamppffvll6NChjOUH0F+urq779u2bP39+c3Mz07nAc6FrmVxaWlpdXV33t9u3bx80aBAhZNGiRTRF9PX1TUxMrKysJIRcvHgxPDycGtADGFJ1dbWdnZ2fn9/XX39NXbl+/frdu3fb2tosLS1DQ0NLS0uTk5OZTRKgf+bMmZOZmbl48eITJ05wOBym04E/QdcI/saNG8uWLcvOzi4qKioqKmpvb6e+oCkcIcTPz4+q7u7u7nw+v7CwsLKysudNBoAB1NTUuLm5eXt7P3z4sKOjQy6X3759e9SoUdnZ2bt27Xrw4IGfn99///d/M50mQD999tln5eXlH330EdOJwJ+jawS/bt26iRMnbtiwITY2NjIyMjMzc+/evTTFonh5eZmbm48aNWr+/Pk3b948e/asRqNZsmTJ6dOnaY0L0FNNTU1ycrKrq6tCoZgwYUJUVBSPxwsJCbl+/fquXbvmz5/PdIIAOhk0aNDp06cnTpwoEomWLFnCdDqgDY072YWGhqampsbHx6empnZ0dNAXiGJhYeHl5fX2228vX778H//4R21tLZfLvXXrFiGkurq6qKho+vTpdOcA0NLSYmtry+FwvLy8ioqKCgsLR44c6ePjk5uba2dn9+2337a1tTGdI4BOXFxcMjIypkyZYmlpGRsby3Q68Ez0TrKzt7c/evSoRCLx8fGhNRBl2rRpo0ePJoRERkba2dnt2bOnoqKio6MjOzt769at3R87evRoTk6OAfKBAaj7oHc/Pz+NRkMIsbe3DwgI+P333x0dHblcLubPAwv4+fllZmZu3rz5888/ZzoXeCZDzKKPiYmhtkBSqVS0BkpKSho/fjwhZOzYsWFhYSKRKDAw8OrVq1KptPuw+Y6OjpMnT2ZkZNCaCQxY3Qe9+/v7jx07NjAw0M7OLigoqKqqqtdxIAAmLSAgIDc398CBAytXruzs7GQ6HXgKwx02U1NT4+rqSo1pnrRmzZrr16/3vHLnzh0zM7N+h/vyyy9dXFyysrIKCwuLiooeP35cU1OTkpKydetWCwuLJ1vesmWLjY3NBx980O+IAKTHQe9vvPFGRETEsWPH2tvb3d3dY2JisLgIWMbT0/PSpUuLFi0KDw//7rvv/Pz8mM4I/g/DFXiBQFBdXf2s/7po0aL6+vqeV7744ouAgIB+h6OWGgcEBBw8eLC2tlYsFt+6dWvnzp2enp5FRUV37twhhKxfv14oFL777ruPHz9OS0trbW2Ni4urrq52dHR0cXHpbqqzsxO7irKPWq0uLi6urq5WKpVubm4hISFcrq4PtNRqdWdnp5WVFSFkzJgxhJD8/HxqB+UXX3yxsLBQ56xhoKCjf9LB3t7+1KlTSUlJEydOXLduXUJCAv61NB40FvgnO2jPqtnLkwcRnj9/ns/n65hDRETE+vXr16xZ09jYePHixZaWloyMjOPHjycmJl64cOHy5ctyuby4uPjcuXONjY2DBw/Oy8uLjY2NiYnpPuuzoKBg5syZZWVlujxOAGOTk5OzfPlyoVDo5uZGCJFKpeXl5YcOHZo0aZIuzba2tlpbW/dcH7xw4cKmpiZCyPz58yMjI3VMGwYImvonfVauXPlf//Vf77777sGDB7dv3z537lzjvB0ZaOgq8EbSQUNCQv7nf/4nLCwsPz9/z549w4YNGzFixPbt20tLS9esWUONqAoLCzkczogRIyZNmrRnz57m5uabN29SP65SqWbNmiWXywsLC1944QVCSFdXV3t7u0qlsrOzy83NjYiIUCqV1dXV7u7uBvh1VCpVXV2do6Ojubm5ufkz/7d79OiRAZIxaatXrz537lzPuZ/l5eVz5szJy8vTpdnuGXbdPD09PT09CSGurq6urq66NA4DB039k1be3t5nz57NysrasmXLtm3bEhISFixYYGdnx3ReAxpdN1lUB83Jyfnuu+++++677Ozs7OzsdevW0RROiw8++CA0NHT8+PHDhw/vXov/xhtvFBYWvv766/b29oSQ06dP5+TkLFy4sKKiIjk5ubCw8Ndff33nnXfefPNNkUg0a9astWvX3rx58/Dhwzt27Hj77bdff/31vXv3Tp06VS6XHz9+3MvLKyUl5fHjx9QMA5VKVVVV1Z3AxYsXqVNwpFIpdRbTyZMnFQpFrzyftZKwra2NerVx7dq1/fv3R0dHBwQE9Nzb/EmLFy/u959rgFCpVL2OY3dxcXnWBJHn92SBB+gHmvqnAURGRv72229ff/11Zmamp6dnbGxsamoqzqBjCl0jeGProOPHj//555+7v/3LX/7y6quvTpo0ad26dc7OztSdMp/Ppyb6HTp0aNGiRUOHDr1w4UJubu7ly5e///77sLCwpqYmS0tLOzu7tra2X3/9ldpI5/z58wEBAXPmzLG1tV2xYsWuXbu2bt168ODBU6dOiUSi6OjovLy8iIiIPXv2vPLKKw0NDceOHVuyZMmePXvEYnFJSUlsbKy1tfXDhw9feumlu3fvXr16tbW1tbOzs7y8fOnSpcnJyVVVVbm5uebm5r/88suQIUMUCkVHR8fu3bs1Gg2HwwkPDy8qKhIKhQcOHPjLX/4SFxfX3Nz866+/alny39HRcefOnY6Ojvr6+paWFmtra5lMplKprK2tW1paurq6qJa7P+/o6Eit7xo0aBA1P5zS3NysVqtHjx49ZMgQGv4Xo9eqVavGjh07c+ZMd3d3DocjlUrPnDmzatUqHZutr6/n8Xh6yRAGMpr6p8FMnjx58uTJtbW1x48f371794IFC8LDw6dOnRoaGjp69Gi8pDcYugq8kXdQa2vrU6dOcbncp75Zpw73bGhoiI+PDw0NHTNmzIsvvjh58uS5c+dWV1e7ubkVFxeLxeKysrJ///vfXV1dX3755cKFC1taWo4ePapQKI4dO7Zly5YpU6bY2Ni89tprRUVFv/zyy44dO5RK5dq1a2NjYzkczrp16+zt7UtLSz/77LPw8PD09PTGxsYRI0a0tbUNHz78999/t7a2vnbtWnJysrm5uVKpnDlz5quvvvro0aPo6OiMjIxx48Z9/PHH7e3t1tbWVVVVLi4uVlZWaWlpe/bsqaqqevHFF8mlS4SQlJSU2bNn3759e9OmTQUFBSqVqrGxsaOjY/jw4VZWVjwez97evr293d7ensvltre329raDh48uKurq+dfo6mpSSaTqdXq9vb27k1auFyura2tmZnZ6tWro6Ki6P9fTM9WrFgRFRWVnp5OnT3o4eGRlpYmFot1bLaurk4gEOgjQRjQaOqfBubs7BwfHx8fH9/U1JSdnf3LL798++23d+/e9ff3Dw4OFovF3t7evr6+DQ0N7e3tPj4+np6eTk5OPV8+UhOcq6qqbGxs7O3t7927V1ZW5uXlJRaLu+8S7ty5w+FwbG1tXVxcnjVTihqNODg4GOLXNiZ0FXjj76AWFhbaP8Dj8Y4dO0YIsba2njRp0o0bNwIDAwkhTU1NtbW1/v7+KSkpKSkpbW1ts2fP5nK5sbGxkyZN+vnnnzdv3pyQkFBZWRkWFhYVFfXSSy81NTWtXLnyrbfe2rlz5/LlyzUazYwZM27cuCEUCgMDA8+ePTt37lxnZ+eamhqpVJqWlrZ9+/a2trbExMSNGzd+/fXX8+bN27p1a2dn540bNyZNmhQTE+Pl5bV58+aoqCgbGxsul/vzzz+LRKIrV67U19d/++23iYmJ6UFBhJC4uLj169e3trauWrUqMTHR3Nycx+PhGTJFLBYvW7as5xWVSqXjVMq6ujrdZ4YCEHr6J1OGDBkye/bs2bNnE0La2tquX79+7dq1ysrKnJycgwcP2traOjg4PHjwoLy8XCaT8Xg8mUzm7OxsZWV19+5djUbD4/GomU/W1tajRo0qLS2trKy0t7d3cHCoqKgQCAT29vZNTU0NDQ0CgcDGxqatra2rq8vZ2VmpVNrY2DQ3N9fV1XV2dnI4HD6fT82npubEmJmZVVdXOzs783g8Ho+nVCoHDRqUkZFB15FoBscx2vc6f/vb3wQCASOv7ftHKpWKRKKnrqnr6upauXLlhx9+2H2L89lnn+3evfvevXtcLpfquNTHOjs7uwtwRUWFu7t7VVUVj8d76kOts2fPurq6jho16sn/upvDIYS8VFysVCpHjx5tmHOfKioqJkyYUF5eboBYeqd9n4YNGzZQEym6ZWVl+fv7X7p0ifpWJpPFxcXduXMnMjIyMTGR9nRNHNU/3zfsPz4s7p+rVq2ilv52y8/Pp54FGiQ7vVEqlTU1Nba2tk1NTY8fPx45cmT3PU1bW5tarab+edRoNA0NDTKZzMnJyc7Ojhr0d3V11dTUKBQKlUrl5ORUU1Njbm6uUChsbW0dHR1FIpFMJmtoaLC1taU+WVVV1dXVxefzZTJZXV1dQ0ODmZlZZ2eni4tL3VtvEUK+8vZ2cHCwsLAwNzc3MzNrbW3V+++7YcMG6r6H0NM/DbcOnvVEIhEh5KmV2MLC4sCBAz2vxMfHR0ZGUgume36s53MFamZ+r6kMPf3ps/Hg4ODnSBwI+bN9Gl577bVeaxPkcnnPP6+dnd38+fPb29vDwsJozBIGKu39k9rAo+eVpKSkESNG0J+Xnpmbm1MLr558nE6NgijUWLzX0zILC4ueq5meXLTi4ODQ3SwV5Vl2v/UWIeTUqVNKpbK9vV2j0ahUKjqefdK9NRAKPDO4XG5QUBDTWcD/j8vlatmnQSKRSCSSnlfy8/N7vm7ncrmmOBcBjFaf9hEJCgrq9e/J+fPnB+ArZ/1iwQAJBR4AwLgYyT4iYOqMusA3NjY+fPiQ+rqlpaWmpobu9RWGWcdssNXSFy5coLX9jo4OX1/f7m+1PEI0Nvv373/qH+eHH354/kbQP3WE/vksetnoBv1TRyzon8Zb4L28vHbv3n3ixAnq29ra2tbWVronkSqVSjMzM1qnpFGvc7TsQ6cXL3A4hJCN06bRGkWpVIpEokGDBnVfMZWHWgsXLszLy5PL5StWrOhfC+ifukD/1E73fUTQP3XBnv6pMRHbtm3bunUr3VGCgoJKSkpoDUEtt6M1hEaj2bp1qwH+XIGBgTdu3KA7Ck2Ki4s3bNigr9bQP/sE/VO7pKSkgICADz744Isvvti3b9/GjRuDgoL279/f7wbRP/uENf3TeEfwALQKDg42lfEcDDTGv48ImAQUeAAAo/PkRjcAfYUT/QAAAFgIBR4AAICFTOYRvbm5uVqtpjuKmZkZ3fMzqV0PaQ1BRaE7BDHIn8tUoH/2NQrdIQj6Zw/on32NQncIYpA/l/HuRd+LXC4nhFDHt9OnsrJSJBLRvXN7ZWWl9o0SdWewPxfdv4ipQP/sE/RPA0P/7BPW9E+TKfAAAADw/PAOHgAAgIVQ4AEAAFgIBR4AAICFUOABAABYCAUeAACAhVDgAQAAWMg0CvyXX34ZGBgYHByck5Ojx2YVCsX+/fu1RNEx7kcffRQYGCgWi3fu3ElTCLVavWTJEj8/P29v7++//56mKN0SExPT0tLojmJy0D+fBf3TGKB/Pgv7+yetZ9XpxaNHjwICAhQKxb179/z9/VUqlV6avXbt2uLFi2NiYp4VRce4mZmZY8aMaWtrq6ur8/DwKCgo0HsIjUZz8uTJqKgotVr94MEDW1vbzs5OOqJQLl68aGlpeeTIEQ0Nfy7Thf6pBfon49A/tWB9/zSBEXx6evrMmTMHDx7s6+vr6upaXFysl2Z/+OGHx48fa4miY9yGhoZ33nnHysqKz+eHhYWVl5frPQQhxNnZ+YMPPuBwOJ6envb29iqVio4ohBC5XL5hw4aYmBjqW5qimCL0Ty3QPxmH/qkF6/unCRT4qqoqd3d36mt3d/fq6mq9NPvxxx+vWLFCSxQd486dO5c67bGkpOTSpUsRERF6D0EICQ8PDw0NTUpKkkgk7733npWVFR1RCCHx8fFbt251cnKivqUpiilC/9QC/ZNx6J9asL5/mkCBV6vVPTc3ViqVhomie1yNRrN3797Zs2f/9NNPDg4OdISgvPLKK++8886BAwdkMhkdUY4fP+7k5BQZGdl9hb7fxeSgf/4p9E8GoX/+KRb3TxM4akkkEj169Ij6WiqVikQiw0TRMa5KpXrjjTccHR2vXLlCHVqg9xCEkNTUVG9v78DAwKVLl/773//Oz8+nI8qRI0cePHiQmZlZVVX1r3/9q6Ojg44oJgr9Uwv0T8ahf2rB/v6plzf5tCorKwsKCuro6CgvL/f19dXj7JjMzMzuSSJPRtEx7rFjx6Kjo7X/Irr/ap9++umbb77Z1dVVV1fn6up6//59OqJ0S0hIoCaJ0BrFtKB/aoH+yTj0Ty1Y3z9NYATv4eGxcuXKsLAwQsjBgwe5XFpeKzwZRce4ubm56enpQqGQ+jY5OXnGjBn6DUEIiYuLW7p06fDhwzUazUcffeTj40MI0XuUJ+n9z2W60D+1QP9kHPqnFqzvnzguFgAAgIUGym0sAADAgIICDwAAwEIo8AAAACyEAg8AAMBCKPAAAAAshAIPAADAQijwAAAALIQCDwAAwEIo8AAAACyEAg8AAMBCKPAAAAAshAIPAADAQijwAAAALIQCDwAAwEIo8AAAACyEAg8AAMBCKPAAAAAshAKvKzs7O4VCIZfLk5OT+/qz3T91+vTp+Ph4GrKDgQ79E4wZ+ietUOD1o7m5+ZtvvtH+ma6urmf91Msvv/zRRx/RlRwMeOifYMzQP2mCAq8ff/vb365fv/73v/+dELJt2zZfX9+QkJAjR44QQn7++ee4uLhp06adPXt2yZIlfn5+np6eiYmJPX8qKyvrww8/1Gg077//fmBg4IgRI44dO0YIycrKmjVrVmhoaGBg4MaNGxn9FcGEoX+CMUP/pIsGdGNra9vS0lJRUREWFqbRaM6dOxcZGalQKBobG4cNG1ZYWJiRkSESiWpra2/fvv3WW2+p1erHjx8LhUKNRtP9U6mpqatWrfrpp58iIiKUSmVtba1QKKyqqsrMzLS1tW1sbOzs7PT09KytrWX4twVTg/4Jxgz9k1bmTN9gsE1ubm51dXV0dDQhpK2trbCwUCQShYeHCwQCgUCwcePGw4cPFxYWNjU1PfVnZ82aZWZmJhAIJBJJfn7+4MGDp0yZMmTIEEKIn5+fXC4XCASG/pWARdA/wZihf+oXHtHrmbW19dq1a8+ePXv27NmbN2+++eabhBA7OztCSHZ29pw5czgcTlxcnIuLy5M/q9FoOBwO9bWZmZlarSaE8Hg8A6YPLIf+CcYM/VO/UOD1RqVSEUKmTJnyz3/+s7OzUyaTBQUFVVdXd3/gypUr0dHRixcvbm5urq2tpfof9VOUsLCwU6dOqdXqhoaG33777cUXXzT8bwFshf4Jxgz9kw4o8PrB5/NbWlq2bNkSHh4+bdq04ODgMWPGbNq0SSwWd39mwYIFOTk5Eonk8OHDU6ZM2bx5c/dPUR+YNWvWqFGjgoODIyIiPvnkE5FIxNBvA2yD/gnGDP2TJhyNRsN0DgAAAKBnGMEDAACwEAo8AAAAC6HAAwAAsBAKPAAAAAuhwAMAALAQCjwAAAALocADAACwEAo8AAAAC6HAAwAAsBAKPAAAAAuhwAMAALAQCjwAAAALocADAACwEAo8AAAAC6HAAwAAsND/A9RZ5VzmpjZ9AAAAAElFTkSuQmCC" /><!-- --></p>
-<p>When fitting the DFOP model with constant variance, parameter convergence is not as unambiguous. Therefore, the number of iterations in the first phase of the algorithm was increased, leading to visually satisfying convergence.</p>
-<pre class="r"><code>f_parent_saemix_dfop_const &lt;- saem(f_parent_mkin_const[&quot;DFOP&quot;, ], quiet = TRUE,
+<p>When fitting the DFOP model with constant variance, parameter convergence is not as unambiguous (see the failure of nlme with the default number of iterations above). Therefore, the number of iterations in the first phase of the algorithm was increased, leading to visually satisfying convergence.</p>
+<pre class="r"><code>f_parent_saemix_dfop_const &lt;- mkin::saem(f_parent_mkin_const[&quot;DFOP&quot;, ], quiet = TRUE,
control = saemixControl(nbiter.saemix = c(800, 200), print = FALSE,
save = FALSE, save.graphs = FALSE, displayProgress = FALSE),
transformations = &quot;saemix&quot;)
plot(f_parent_saemix_dfop_const$so, plot.type = &quot;convergence&quot;)</code></pre>
<p><img src="data:image/png;base64,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" /><!-- --></p>
-<p>The same applies to the case where the DFOP model is fitted with the two-component error model.</p>
-<pre class="r"><code>f_parent_saemix_dfop_tc_moreiter &lt;- saem(f_parent_mkin_tc[&quot;DFOP&quot;, ], quiet = TRUE,
+<p>The same applies to the case where the DFOP model is fitted with the two-component error model. Convergence of the variance of k2 is enhanced by using the two-component error, it remains more or less stable already after 200 iterations of the first phase.</p>
+<pre class="r"><code>f_parent_saemix_dfop_tc_moreiter &lt;- mkin::saem(f_parent_mkin_tc[&quot;DFOP&quot;, ], quiet = TRUE,
control = saemixControl(nbiter.saemix = c(800, 200), print = FALSE,
save = FALSE, save.graphs = FALSE, displayProgress = FALSE),
transformations = &quot;saemix&quot;)
@@ -1710,20 +1712,31 @@ plot(f_parent_saemix_dfop_tc_moreiter$so, plot.type = &quot;convergence&quot;)</
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqAAAAHgCAIAAAD17khjAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAgAElEQVR4nOzdd1xT1/8w8HOTEPZIIOzlQIYLF4g4qHvgKM46WitusVr3xFW1jronSp21DrTiADcqRQVFRMAFRZC9AklY2c8f59v75BeEAiZmfd5/8Aond5zkJPncc+4ZhFQqRQAAAADQLhRVZwAAAAAAigcBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALaT9AT45OZn4l729/fTp03k8HkIoMjISJ75//1723+TkZDc3N+L/ioyMRAilpqYSBGFnZyeRSBo448aNG21tbT09Pa9du/Z1XiP4cuHh4QRBFBUVyaUXFxdv2bJFJVkCX0HdcheJRNOnT2cwGI6Ojrt27VJh3gD4Qtof4LHZs2dfvHhxypQpJ06cWLduHZlOEMSzZ88QQs+fPycIAifu378/IiJi1KhRCKFTp05FRER069YNIXThwgWCIAoLC2NjY+s70e3bt9etW7dp06Zvvvlm7NixbDZbuS8MKA2Px4uMjBwzZozsBwZovTNnzoSHh2/cuHHUqFGLFy+Oj49XdY4AaCZdCfBdu3YdO3bstm3bxo4de/ToUbIK7uHh8fTpU4RQQkKCp6cnThw8ePDo0aM9PDwQQiNHjhw9erS9vT1C6MKFC2PGjDE3N7906VJ9J7p586arq+uMGTOWLl0qEAhiYmKU/tqAQu3bt09fXz82NjYxMXHFihVv375VdY7A10CWe05Ojp+f3/z585cuXYoQevPmjaqzBpRr9+7dVlZWQ4cObdeu3Y8//qjq7CiSrgR4UpcuXaqrq/Py8vC/fn5+z549k0qlz58/7969ewM7vnz5Mj09fcKECcOHD4+IiKivlb6oqMjS0hIhhP+WlJQo+hUAJXr48OGSJUvCw8N79eoVEBDw9u3bkJAQVWcKKJ1suYeGhj558gQhFB0djRBq+GcBaLrnz58vXrw4KCioR48eaWlpqs6OgulcgCfb4TE/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nZ1U5sruxo0bISEhV65cCQgIEIlExcXFdnZ2BQUF9+7dMzExYbPZAoHAxcWluLhYxa8W/AvKXTdBuesmKHcSTdUXGKoUGxtbWFg4fvx4hFBNTU1SUpK9vX2vXr1YLBaLxVq1atXvv/+elJRUXl7+2X2DgoKoVCqLxfL19X3+/LmRkdE333zDYDAQQm5ublwul8Vife2XBBoByl03QbnrJl0ud11soicZGhouXrz4+vXr169ff/PmzeTJkxFCpqamCKEHDx6MGTOGIIjZs2fb2NjU3VcqlRIEgR9TqVSJRIIQsrS0/IrZB80E5a6boNx1ky6Xu44GeLFYjBD65ptvTpw4IRAIOBxOu3btCgsLyQ1evHgxfvz4adOm8Xi84uJiXK54L6xnz55//fWXRCIpKyuLi4vr1q3b138VoKmg3HUTlLtugnLXxQBvZWVVWVkZGhraq1evAQMGdOjQoXPnzqtXr3ZyciK3mTRpUkxMjK+v7++///7NN9+sWbOG3AtvEBQU1LFjxw4dOgQEBPz222/29vYqejWgsaDcdROUu26CckcIEVKpVNV5AAAAAICC6WINHgAAANB6EOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOABAAAALQQBHgAAANBCEOARQkgkEk2fPp3BYDg6Ou7atUv2qeTkZOJf9vb206dP5/F4CKHIyEic+P79e9l/k5OT3dzciP8rMjISIZSamkoQhJ2dnUQiaSAzGzdutLW19fT0vHbtmjJfNGiyBj4n4eHhBEEUFRXJ7VJcXLxly5avmEegeE0q9wY2BhpKg8tUCqTS33//HSG0b9++efPmIYSePXtGPvXq1SuE0OzZsy9evLhs2TIKhfLzzz9LpdKrV68ihAiCOHnypFQq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" /><!-- --></p>
<p>The four combinations can be compared using the model comparison function from the saemix package:</p>
<pre class="r"><code>compare.saemix(f_parent_saemix_sfo_const$so, f_parent_saemix_sfo_tc$so,
- f_parent_saemix_dfop_const$so, f_parent_saemix_dfop_tc$so)</code></pre>
+ f_parent_saemix_dfop_const$so, f_parent_saemix_dfop_tc_moreiter$so)</code></pre>
<pre><code>Likelihoods calculated by importance sampling</code></pre>
<pre><code> AIC BIC
1 818.37 817.33
2 820.38 819.14
3 725.91 724.04
-4 688.09 686.01</code></pre>
+4 683.64 681.55</code></pre>
<p>As in the case of nlme fits, the DFOP model fitted with two-component error (number 4) gives the lowest AIC. The numeric values are reasonably close to the ones obtained using nlme, considering that the algorithms for fitting the model and for the likelihood calculation are quite different.</p>
+<p>In order to check the influence of the likelihood calculation algorithms implemented in saemix, the likelihood from Gaussian quadrature is added to the best fit, and the AIC values obtained from the three methods are compared.</p>
+<pre class="r"><code>f_parent_saemix_dfop_tc_moreiter$so &lt;-
+ llgq.saemix(f_parent_saemix_dfop_tc_moreiter$so)
+AIC(f_parent_saemix_dfop_tc_moreiter$so)</code></pre>
+<pre><code>[1] 683.64</code></pre>
+<pre class="r"><code>AIC(f_parent_saemix_dfop_tc_moreiter$so, method = &quot;gq&quot;)</code></pre>
+<pre><code>[1] 683.7</code></pre>
+<pre class="r"><code>AIC(f_parent_saemix_dfop_tc_moreiter$so, method = &quot;lin&quot;)</code></pre>
+<pre><code>[1] 683.17</code></pre>
+<p>The AIC values based on importance sampling and Gaussian quadrature are quite similar. Using linearisation is less accurate, but still gives a similar value.</p>
</div>
<div id="nlmixr" class="section level3">
<h3>nlmixr</h3>
<p>In the last years, a lot of effort has been put into the nlmixr package which is designed for pharmacokinetics, where nonlinear mixed-effects models are routinely used, but which can also be used for related data like chemical degradation data. A current development branch of the mkin package provides an interface between mkin and nlmixr. Here, we check if we get equivalent results when using a refined version of the First Order Conditional Estimation (FOCE) algorithm used in nlme, namely First Order Conditional Estimation with Interaction (FOCEI), and the SAEM algorithm as implemented in nlmixr.</p>
<p>First, the focei algorithm is used for the four model combinations and the goodness of fit of the results is compared.</p>
-<pre class="r"><code>f_parent_nlmixr_focei_sfo_const &lt;- nlmixr(f_parent_mkin_const[&quot;SFO&quot;, ], est = &quot;focei&quot;)
+<pre class="r"><code>library(nlmixr)
+f_parent_nlmixr_focei_sfo_const &lt;- nlmixr(f_parent_mkin_const[&quot;SFO&quot;, ], est = &quot;focei&quot;)
f_parent_nlmixr_focei_sfo_tc &lt;- nlmixr(f_parent_mkin_tc[&quot;SFO&quot;, ], est = &quot;focei&quot;)
f_parent_nlmixr_focei_dfop_const &lt;- nlmixr(f_parent_mkin_const[&quot;DFOP&quot;, ], est = &quot;focei&quot;)
f_parent_nlmixr_focei_dfop_tc&lt;- nlmixr(f_parent_mkin_tc[&quot;DFOP&quot;, ], est = &quot;focei&quot;)</code></pre>
@@ -1734,7 +1747,14 @@ f_parent_nlmixr_focei_sfo_const$nm 5 818.63
f_parent_nlmixr_focei_sfo_tc$nm 6 820.61
f_parent_nlmixr_focei_dfop_const$nm 9 728.11
f_parent_nlmixr_focei_dfop_tc$nm 10 687.82</code></pre>
-<p>The AIC values are very close to the ones obtained with nlme.</p>
+<p>The AIC values are very close to the ones obtained with nlme which are repeated below for convenience.</p>
+<pre class="r"><code>AIC(
+ f_parent_nlme_sfo_const, f_parent_nlme_sfo_tc, f_parent_nlme_dfop_tc
+)</code></pre>
+<pre><code> df AIC
+f_parent_nlme_sfo_const 5 818.63
+f_parent_nlme_sfo_tc 6 820.61
+f_parent_nlme_dfop_tc 10 687.84</code></pre>
<p>Secondly, we use the SAEM estimation routine and check the convergence plots for SFO with constant variance</p>
<pre class="r"><code>f_parent_nlmixr_saem_sfo_const &lt;- nlmixr(f_parent_mkin_const[&quot;SFO&quot;, ], est = &quot;saem&quot;,
control = nlmixr::saemControl(logLik = TRUE))
@@ -1743,17 +1763,17 @@ traceplot(f_parent_nlmixr_saem_sfo_const$nm)</code></pre>
<p>for SFO with two-component error</p>
<pre class="r"><code>f_parent_nlmixr_saem_sfo_tc &lt;- nlmixr(f_parent_mkin_tc[&quot;SFO&quot;, ], est = &quot;saem&quot;,
control = nlmixr::saemControl(logLik = TRUE))
-nlmixr::traceplot(f_parent_nlmixr_saem_sfo_tc$nm)</code></pre>
+traceplot(f_parent_nlmixr_saem_sfo_tc$nm)</code></pre>
<p><img src="data:image/png;base64,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pSh6164dW7d+pC3z8MO/ttns6p8vv/xca2szOl64cPE119wwHBUbVrq6ujiOC4VC5oGTZKAgO5bt+9iNRqzVFAQCJqoFj6bhk1rwiqJEo1Fk4hMyCYOBWPCEsxh6ge/sbN+0acOaNQ84HFlvvvnngwf3LViweMmSSy66aCkq0NBw6sCBPVp1BwC/3/fII48iwcNc9T/aQGPn1BA54vQAACAASURBVL53ZMEjgacoigg8YWhRLXgAsNvtSS3411577Z/+6Z86OnDzkRHGCiTIjqBj6KX066/rKiqmut3ZLGtYsOCio0e/AgCKohmGZRiWoqhPP91y7bU3ai/heZ6iKIvFisqcc76w55577tZbbx2C93BOIGkfVOApikICbzQaMffAIBAwUYPsAMBmsyUV+O7u7p4erP1mCGMLlmUkSUJtgECA4bDgJUlS55UpilbTNiGqq/eXl090Os/KbeT3+xRFef75/woGg2VlE1auXG23O87h0V988cXhw4fPuebfEGTBy7IMMKBsay14o9GImdGQQMBEddEDgN1uT+qilyQJ/UhJ88sw0CZ4giCo2XAJ45yhF/jJk6fs3burs7PDbrfv3btTu5GiJEl79+6+554f6S4RBL6s7IJrr73BZrOtX//Ohx++f+ut30EvBYOBP/3pv9Dx9OnT3W79FguyLMuyvHPnZgA4ffpkNBpBxwOB9uyqr2/EfkMKAHz11YFBJw5qa78EgOrq3WVlxRR1Omnv2dbWHItFent7AICiQJYlSeoLimluPrVz50msCvXt2YW7ZQJ6ROqP5ez7K4qifP31KczyyGLYs+eTtPbsSucrAAA4fvxwXV2N7mROTv60abPTuk9mg2PBq3NJaiwIITNgWQaIwBM0DP0vvLi4dPny69599y2KoqZPn6ndLunYsa9yc3N1s+8AUFJSdttt30XHixYtef31MxmYTSbzxRdfho4H2nXb5+suK5sEAIpCsyyLjgcC7bpts2VjTgTwPNfS0pCXV2yxWFOXdDqzASAvryg72202O5JuSGW12kwms8PhAgCj0SRJoiT1VSMry5265irRaC9FMRYLrpOjq6tNFPmiogswy3NcRBDidnv24EUBACAUCnR3t5eWlmN+pGjXbavVjb3rttjYeDInJ99m079lq1XflsY5ujn4gSx4ABBFkQh8hoG+UDINT1AZ+l+4KIqV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c+fC2RY8ALS0tKDmmpubAxiJ59BDLRbLU0/9PivLs2LFitQWPJpH0FJXVxeJRJYuXao9uWzZMoZhXnzxRYqiCgsLZ82aMmvWTPSSIAgrV67cuXNnNBp97rnnLr300tmzZ997770oEwAOnZ2dDz74YElJyfXXX19ZWZkilmXEkCQpGAx6vd5IJJKdne12u853jZJABJ6gkgkCj2PBT5s2rbGxsX8OnkaZ7JK66P1+vxq1BABWq0VNiQMYAo9uIggCCrLDt+DXrl17/PhHn332Gd6bHoRnn322o6OjsLBw/vz5Tz31+08+2e7z+QHgZz/72d133z1jxgyKou65555wOFxdXe1yuS644AI0tnA4HA899MC9934nP38y9Ecs3n777d/+9rfHesTACCPLyQU+Ly/vpptuWrdunclkqqioAID8/PzNmzeXl09Yvfpb2pLd3d2hUOirr76CfoGXJMliscRisZaWlqKiIuhX4kEt+OzsbJZlLRbzpEkTrVZnagt+ypQpl156qe4lFDQwc+ZM3W1XrVr1H//xH6qolJaWrFv37mOPPdbW1nb48OHvf//7P/3pTx999NG6urr33nvvjTfeeOSRRy666KLc3FzV35MUv9+/evXqY8eOAcDTTz9tMBgeeOCB8vLSyy9fjFpmCiRJ6ujoKCoqam/v+OqrY1u37hFFsby8/Hvf+x5FUeizEgTh5MmTXV1dgUBg06ZNtbW1LpdLFIW9e/cqinLxxZdYLBa0sDAcDufl5Xm9XkVRjh8/rvXn0TS9fPmVr73259T1GWGIwBNUxpLACwInCPrpW0GIoU05o9He/nPaODgZnf/d7574+OOP4/GQIPAMw9A0xXGxWCwIABwXRmWQTCuK0traol5vNBoAIBzuNZn61gQnVoyiQH36ZZct9njcPB8PBNDCaF5TMT08f2YkIUnS559//vHHGy+5ZOlA5fvekiwqipLitp988ulPfvIT9c/c3Jyrrrr85ptvtlotV155BQDEYn1RBTQNCxbMBoD/z955x0dVZQ/8TO+ZmZRJT0hCCoRIBxGsKEWQVVnRRUBcwcqqu666ruv60/3pb6tbUHbFgrsqVpRuoQQVpW0UEBICCSG9zUwy9fX3fn/c8BwnyeROTOd+/8jn5c159943780775x77jkA3zXIcbTc/syZU2fOnAoADNNFlsDzZxFEbWK+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wpNAIBAIBMJQA8uC9/v9Nptt+vSZgiB8/fV/J02aOmHCpL/85f+OHi3JzMzq7yEOFvfcc4/D4Th+/PiHH344AN09/vjjarV63759n332WbTHLl68eNy47xISSJJIUXR9ff2ePXuam5vl/ffdd198fEctivXr1zc2NqLtiy+ePnfuPLSNzvf222/PyMjorrvPP/+8uLgYAByOxHvuuRsAJEl67rnn/H5/tCMnDAseeOABm812+PDhjz76qEfhHn840f6yBviXSPjhDOVLNpTH1udgWfBGozEYDAaDAYcj0eVyulxOAIUoimfORFcXkjAwKBRKo9GYm5u7evXqUMUfSnr6d/o7NTWtdx0VFY0736OisLCwd40QCAQCoT/AsuAzM7NOnDi2du1f7r//lwoFvPrqv3Q6PU1TFsuA1kMkREaSxJdeehkAtFptRkbG5ZdfplKp582bV15eznFcmHB6etrhw4fQdlpauILfunWbVttRAXPp0qVms7m5uWnLlq1oj2yph749FBYWHjp0qK/PiTACef/9TWq1iqKowR4Iob8gl3iIgKXgr7pqTkNDvdfbbjAYL7po4rFjXweDAQCYOvXifh7e0MJut1911VUpKSlms6m11VleXv7ll1+J4nelshMSEubOnZOamt7Y2LBjx467775brVZv3rz52LFjUXWkVKpWrrwtPT3d4/G8/PLLmK5vSQLZ615dXd3W1rZ48WKTyTR16pSvvjogi7W1tdnttvT0dPSvyWSy2Wxutzs2NlaWcbmc8jbP8wDAMKzcOCItLc1mswFAWdmpMWMK0tPTrFarx+OJ6kwJ/c1DDz1kNpsPHjx05szpa6+99vjx459//rlKpZ4+fdr48ePtdhvDsM3NTfv3f3nu3Dn5qOzsnEsvnZWcnNTS0rp79+7edV1QkD9r1qUJCQmtra27d++W2//xjxeH+UgxfzjdNUgYeCLfQtFe4scee0yr1X755ZcWiyU3N1cQhIqKih07dubk5Fx66ayEhIS2tra9e4tPn+7wGWu1upkzLyksHGu1WlmWa21t/eqrr06fPt27c4nwYF+9enVKSsrZs5Wvv/4GAFx55ZWXXXYZAKxdu9btdicmJt19910A8N5775aWlv2Q77OfwFLwdnvsvfc+UF9fBwCLFi0eNSrb7XalpaXn5Y3p5+ENIdLS0pYvX67VatG/qamp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" /><!-- --></p>
<p>For DFOP with constant variance, the convergence plots show considerable instability of the fit, which can be alleviated by increasing the number of iterations and the number of parallel chains for the first phase of algorithm.</p>
<pre class="r"><code>f_parent_nlmixr_saem_dfop_const &lt;- nlmixr(f_parent_mkin_const[&quot;DFOP&quot;, ], est = &quot;saem&quot;,
control = nlmixr::saemControl(logLik = TRUE, nBurn = 1000), nmc = 15)
-nlmixr::traceplot(f_parent_nlmixr_saem_dfop_const$nm)</code></pre>
+traceplot(f_parent_nlmixr_saem_dfop_const$nm)</code></pre>
<p><img src="data:image/png;base64,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MGLEiFdfffXee+91PRAJIcoiLJFIVq1a5Tjpe1XLMbFY0pHA90/YEXw3aG1t2b5969///vTgFniG+Ph4tNG3L6koaIRrfH5wiZHeJUfu/olWqyko+Hbp0r+q1aG7dv1QWFiwaNFyxwIaTdtTT72AfN+6Oj8llUr4fD6KHm80Gp999tl//etfKJCXE0i6XFcxuCUwMJDH43Uk8AUFBZWVlW4Fvrq6euPGjRKJxGq1Ll68uEvXwnD06FGRSMSs2lcqlRqNZufOnatWrfrss88AoKWlBQn83Llzd+zYgYbpLS0t5eXl99577+HDh5OT21d4tra2njt3jqIoVzc9t3gW+PHjxwcHfwTgrGj9jcGgAWglD9rmcDghISEhISGOBSZOnOjWHoV8LpBX0aOPPnrfffc5fsvn88VisVwuR65JjsP9fq6dVwW+v79d9h++++6rTz99n1mQeSOQmJiYnJwI7uI99CboB+XWndvJB9t742q/pbq6Kj4+MTIyWiAQjB07sabmOrMiQRAYhonFEi6Xx+XyuvqQwTBs2LChKFLv8uXLP/zww1OnTrktiRTRS4HHMCw4OHjTpnzXbC7nz5/ft29fQ0PDJ598wgyymWXSpaWly5Yte/nll5lER12FoqjHHnvs1VdfZQQ+IiICAFpaWi5duvT+++8DwOHDh5EfHPqqrq4OAEwm08GDBw8fPgwATDolgiC++OILdPk//fRTUVHRiRMnHn30Udfz3nfffY888gi6S65xdRDNzc0daX+/YpAMVhwjyJaXlzs9LxITE1NSUpycPiZOnIhyPKOO7vqI4fP5VVWVNltbS4v+uededJT2ASLw/bqR/Yr58xcDwGuvveC037swDECSdn/EG0BhEvxUOYZBTs7IixfLpVKJP+pHD/pOa0bRJvh8vmtJufw6gb906ZLdbps0aXJAwPsAowDA32EYvAx0473JJy0tIzm5fYqkvr42PPy65TMaTRtN05988p5er4+Jib399jtksk7CzDmRlTXkt99O7969e+vWrQBQX+8+GF+XBB4AQkND//zzz59/3r18+f2O+8vKyvR6vV6vf+ihh+Li4lCmA6S7MpkMLU+vrq7uKPtXpxw7duz333/n8/nMwzkyMvLcuXPNzc1M3rz6+no0akdxS5HAA8ChQ4ecarNarWjsTpLkqlWrJk+enJKSsmbNmvfff9/R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" /><!-- --></p>
<p>For DFOP with two-component error, the same increase in iterations and parallel chains was used, but using the two-component error appears to lead to a less erratic convergence, so this may not be necessary to this degree.</p>
<pre class="r"><code>f_parent_nlmixr_saem_dfop_tc &lt;- nlmixr(f_parent_mkin_tc[&quot;DFOP&quot;, ], est = &quot;saem&quot;,
control = nlmixr::saemControl(logLik = TRUE, nBurn = 1000, nmc = 15))
-nlmixr::traceplot(f_parent_nlmixr_saem_dfop_tc$nm)</code></pre>
+traceplot(f_parent_nlmixr_saem_dfop_tc$nm)</code></pre>
<p><img src="data:image/png;base64,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z2AwAIDL1ZrKY+/e3f37J3coDfmiOp0WzrYNgkAFyE2c7VUk6WRZxm43cutO0wpkoaFpym63chPCMDRFEf7GgGGYz0Qo7SkvL6uv91FUHsNwgQBHJyoo2OlVZuJq4w6cq62tNZvN7o9XhOLi4pCQkP79+wfTuKGh4eDBgwcOHKitrX3qqac2bdq0ZcuWEydONDc3//3vfw/ct7S09KmnvtBqtUeOHNFqtSRJCgQCqVSKKuSKRCLkgGKxWDos70sQhGc+b3/cEAoeAH7++efBgwc7HI7du3cPGjRo3LhxnpnReK4pvBb40YuqSCTmXA8UAAQCIefuNN26aMJZAlryEAol3HwXPN0POI8BxwUYhnXlHl4pTKYm9wscwzByuQwAkHZHTJlya1HR0bNny5YtW5aamnTnnbfTNB3YCcNq5WieAQC73YJG1cVQTJOpkVtHkoy9pOAJzkIAgCAo9LLSHhwXBKPgrVbL3r27pk2btWnTBn9tiosPJyenKJXd5GOLiItrrUtpNBqLi4snTJjgedTpdJaUlGRmZnYqXSnDMARBWCyWefPmEQSxfv363NzcDnstWLDgjz/+QNs7d+7U6XRo+x//+MepU6e+++679l9UlmVRGcmff/65b99NcXFxs2fPTklJQVNzu92uUCjEYrHD4dDpdAKBQKVSRUdHC4VCm82GClGyLGs2N8nlSqlUgV5ugvRJulGUXFpa2vfff//BBx9s3779119/Xb9+/bx583p6UDxB4S4X29MD4bkyREWlurOTUhQpkVSMHDni4MFDaI9AIPjoo48XL35s9eqfaJqeOHFiTY1u584dx44d82mTJEmnwVAbEZEgEnFeX6hraGiMikrhXA/eajU4HGaNJolbd4mk9bstEsmiozlWxtLrq0UiWViYxs/xYKzH7C+/rJ88eZpc7tf7h6bpgwcPPPzwYq/9mzZtMJmMABAaGpac3FbvANWALis7xtk6QtMkTZMWixMAVCqVyWSaMmVK//79vvjiv99/v0YsFkulko8//txiscTFxUU0YawAACAASURBVK5Y8XZaWqrXs8Jut1AUfeLEIc+dFEW9+OIrBw8WWSytuWMXLrxv4cK758yZ1f5rRpJODMOs1pMHDhz6448/kpOTmpqanE6XTqdTKpXz5t1msVh/+unnH374QautnTVrelSUJisr02KxbNz46113zbdaswFCAWDWrOn/939TONwElmUJwiESid3Vqk6eLPJsEBYWnpyc3r7jjaLgAWDu3LlKpfLWW28FgKVLl+7YsePzzz/v6UHxBAPvRd+r8Hz+4jgDAEOHDj148NCdd965d+/etLS0/v0zHnzwwd9++w0A8vPzt2zZwrLsb7/9PnHiRH/ScBznrEJQqAiOC7ogAb2Dcu7eJqcLbq0Yh+5HjxYVFv4BAFOnzjIYdJGRmpSUfs3Nfq0IZWUnNRpNd66+IyIjIz7//D8Mw/zjH8v1ekNpadmtt053OBzQmgmRAYC6Ou2CBQsffvj+p576S2Bp9fUNR48e37lzDwBIpdJFix4MCwt98813ly9/0+l03X33fJIkvQzgdXXahx9+Qq83AMBHH70rl8sYhl29+sdbb52QnZ0FAAMHZixf/ubevb//8cd+mqYnT7515849LMsOHJhBkgORkNjYPgDdmnLtBlLwADBmzJiQkBCr1VpbW/vFF18sW7YMZUriuZZRqZTAz+B7NSNGDPvuu9B33nnn3nvvjY+PB4AHH3wwPz9//fr1cKmU1po1a3wqeDcul0skEvHfk06RkzMsJ2cY2j558viZM2UnThQzDEuSxNtvL1+y5G9euryk5Fh6+oD2cmbP9m0Q1ekaS0uPDBw4pH0u+iCx2QwWiy4mJj07ewQA7Nz5288//wwASLtLpVKU4U4ikZAkyTDM4cNHs7NHGAyG//znP4sWLYqLiztzpsRiMaHuAPD7779Pnz43ISEhJCREoVA8/fTTL774IsuyAoH0p59++uSTL1at+pEgiBkzZuzataugoKCpqen5518oKzttNJri4uIefPDBWbPuQKL+9KeZ7nEOHjx8/fpfampqrFYrAOzYsRvtf+aZZSR5O9qOjo7Lzo7jcBNQLnqVqk9nc9HfWD8GkUi0YsWKzMxM9BF9UXiucdC6Gv/g7sVMnvwns9mcmJi4du3aTz75BO38+9//ft9996Ht8PDwTZs2lZSUuLtQFPXdd9/l5+cDwJtvfvDGG2+p1epHHnmkfd0almW1Wm1DQwPDMAUFBe0bmEym6ura5mbvvFImk8mz8V//+te8vDyvNkVFRQcPHkTblZWVHV6p3W5/9913f/zxxzfffBNpgjNnzrgl9Cxz5sxftuzVZcteXbTo8fDwiGXLXkXava6uhiBcAECSZEXFhbS0fj04yKefflokEolEoj59+nz66aeVlZUikejhhx+ur69funRp//79T58+7XA43nrrrddee+21114DAKfTWV/f4JbQ0NDAsmx1dfXixYsbGhpefPFFAMAw7J///Oc333xjt9u1Wq1Op/v222/r6uqGDh06Z86cAwcOWq22Bx98sLKy8vXXX/c5MAzDSkpKampqPv3003feeWf69Okff/xxRkaGxWLpwVpK3TeDr66uzM/Ps9vtgwYNnjx5ulcGFZ9HA3fhxqJFixYtWnT8+PHXXnvtX//614gRI8aMGdN1sTxuysvLCgp2WizmPn3iZs++3aczjs9AW38g311ewd8IxMa2OfkPGTJk1apVDzzwQF5eXlRU1Kuvvjpv3rx333135MiRdXV1r7/+el5e3qRJk06fPvW//612uQiKor755ptHHnlk9OjRALBx40aNRpObm/v666+/+uqrOTk5WVlZ33777ebNmxMSEvr06aPRaADAbre/8MLft23bQZJPrFu37vbbWydbJEnGx8ePHDnyz3/+84IFC55++ul///vfq1atWr9+fXl5+Zo1a9LS0vR6/ZQpU2iaFgqFzzzzl5dffj0tLe3XX39NTEz87bffDAbDnj17pFLpM888Q9M0ctL+4osvnn/+eXSKzz77bPLkyVu3btVqPwQY2f5uEARx8eJFq9VqMpnCwsI814aVSiVFUTabzWazEQQBACZTo1AoVihai5Xl5OSgSi1dx10KsqamSqVShYf3ZLHmsWPH6nQ6lmXdN6SioiIuLg7DsPfff3/69OmTJk365JNPDhw4AAA7duyYM2fO+fPnzp07/957DampqQUFBatWrUKiBgzwNkWMGDHi999/ZxhGrVYfPHgwNjb2gQceaGpq+ve/3501a0ZSkg/ThSc4joeFhT366KMA8NxzzwGA1Wp96aWXGAbrMRXPdgs0TX3wwVsVFecJwvX115+WlBzr8GjgLv44e/bk4cN7g2l54sSJ9PT0sLCw6upqz/16fbXBUBv0lfngwIFdFy6c5tydYWitttxmM3LrfuwYC9D6t38/xzHY7Wattpymqc52bGkxvPXWq7W11S6Xa9OmDd9//z+fzX75Zf2///1ukDLXrVsFAF999VVnB+NGqz1jtRo4d3c4bAUFm3W6Rs4SnE6rVltOki5u3T/6qPUfKhRyHgJrNDY0NVVw7391IEmi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HBdRKAjnFaDpnribyPwKgiAOWhyfhSAkK8kL8A0NdZWVFYFAYNq0GUuWLO9zK9Pv1oMH9x04sIfjuIKCohUrvqNSqYY8itQf0dzcDP0NN2tvb//kk0+k5dTUVL1e39DQAABWq3XdunUOh+P48eMFBROlAN/7mbokPT3d6XRe+FR71qxZgiA4HI6dO3cCwO9//0RLix16DYCXSA/Ro0d/4YUXCgoKHn/8cUEQTpw4ceHPMm/ePI7jegf4W265ZfPmzdLPlZOTs27dugsbOZD09HQA0Gg0Vqt14sSJg+8cDHq7uloyMiaNykQ3er2190eKomiaNpsziCsMBNwajbFPtbELhQIAoNdbzGbC+Q3DYX847Dca0xSKoX+HL6TV9iwTnwe3uy0SCSRyGhFC40uSBtkJAr9jx5s33HDzAw9sbG5uqqo6PuTWtrbWAwf23Hvv/Rs2POz3+w4c2BPLgWLP55GTk7NlyxaLxaJSqX7yk59873vfe/rpp6+66qqNGx+0WntmWZ81a9YDDzxw66236vX6l156ae3atRf205aVleXk5Fgs3aX+8z8fim5atWoVAFxxxRVTpkzpXaSwsJCm6V/96ld/+MMflEpl7wcla9Z0DwmcN2/eypUrAYBhmLvvvhsASktLi4qKpK2PP/747373u5/+9KfRsQUFBQUAoEgkIclYJa/nSAghlAxJCvC1tTVms6WgoEipVJWVzT927Osht7pczhkzZptMZo1GW1x8SVeXK5YD9blr12g00YXU1O70bmq1GgA2bty4cOHCTZs2zZ07d9myZQCwcOHCPXv2TJyYv3jx1dKeZrN5z549Tz755Pbt2+vq6m666abNmzdfd911AEDTNPXt8O7S0lKdTqf99j4rPd0mLahUqoceemjVqlV79uy59957AWDBggUAQFFUTk6OtM/GjRuXLFkCAFlZWQBw9dVXP/jggwBgtVqzs7NXrVpFUdTatWullfn5+W+//bbUTyDF9fT09FdeeWXRokU7d+5ct24dAEyePDmWEzWuYNcxQgjFLUl3e263Ky2tO+zZbOlud9eQW0tKSktKSgMBv93e+s03x66++tro/qIohsPd3d00TfdOiMLz3QF+ypQp9fX1zz///Lvv7jp79tyzz/7FZrMVF5cAwPLlyxYtWrR06RKOY3/2s00/+9mm3glneZ7fsGH922+/AwB/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" /><!-- --></p>
<p>The AIC values are internally calculated using Gaussian quadrature. For an unknown reason, the AIC value obtained for the DFOP fit using the two-component error model is given as Infinity.</p>
<pre class="r"><code>AIC(f_parent_nlmixr_saem_sfo_const$nm, f_parent_nlmixr_saem_sfo_tc$nm,
@@ -1761,8 +1781,55 @@ nlmixr::traceplot(f_parent_nlmixr_saem_dfop_tc$nm)</code></pre>
<pre><code> df AIC
f_parent_nlmixr_saem_sfo_const$nm 5 820.54
f_parent_nlmixr_saem_sfo_tc$nm 6 835.26
-f_parent_nlmixr_saem_dfop_const$nm 9 850.72
-f_parent_nlmixr_saem_dfop_tc$nm 10 Inf</code></pre>
+f_parent_nlmixr_saem_dfop_const$nm 9 842.84
+f_parent_nlmixr_saem_dfop_tc$nm 10 684.51</code></pre>
+<p>The following table gives the AIC values obtained with the three packages.</p>
+<pre class="r"><code>AIC_all &lt;- data.frame(
+ nlme = c(AIC(f_parent_nlme_sfo_const), AIC(f_parent_nlme_sfo_tc), NA, AIC(f_parent_nlme_dfop_tc)),
+ nlmixr_focei = sapply(list(f_parent_nlmixr_focei_sfo_const$nm, f_parent_nlmixr_focei_sfo_tc$nm,
+ f_parent_nlmixr_focei_dfop_const$nm, f_parent_nlmixr_focei_dfop_tc$nm), AIC),
+ saemix = sapply(list(f_parent_saemix_sfo_const$so, f_parent_saemix_sfo_tc$so,
+ f_parent_saemix_dfop_const$so, f_parent_saemix_dfop_tc_moreiter$so), AIC),
+ nlmixr_saem = sapply(list(f_parent_nlmixr_saem_sfo_const$nm, f_parent_nlmixr_saem_sfo_tc$nm,
+ f_parent_nlmixr_saem_dfop_const$nm, f_parent_nlmixr_saem_dfop_tc$nm), AIC)
+)
+kable(AIC_all)</code></pre>
+<table>
+<thead>
+<tr class="header">
+<th align="right">nlme</th>
+<th align="right">nlmixr_focei</th>
+<th align="right">saemix</th>
+<th align="right">nlmixr_saem</th>
+</tr>
+</thead>
+<tbody>
+<tr class="odd">
+<td align="right">818.63</td>
+<td align="right">818.63</td>
+<td align="right">818.37</td>
+<td align="right">820.54</td>
+</tr>
+<tr class="even">
+<td align="right">820.61</td>
+<td align="right">820.61</td>
+<td align="right">820.38</td>
+<td align="right">835.26</td>
+</tr>
+<tr class="odd">
+<td align="right">NA</td>
+<td align="right">728.11</td>
+<td align="right">725.91</td>
+<td align="right">842.84</td>
+</tr>
+<tr class="even">
+<td align="right">687.84</td>
+<td align="right">687.82</td>
+<td align="right">683.64</td>
+<td align="right">684.51</td>
+</tr>
+</tbody>
+</table>
</div>
</div>
</div>
diff --git a/vignettes/web_only/dimethenamid_2018.rmd b/vignettes/web_only/dimethenamid_2018.rmd
index d3541a34..30325044 100644
--- a/vignettes/web_only/dimethenamid_2018.rmd
+++ b/vignettes/web_only/dimethenamid_2018.rmd
@@ -1,7 +1,7 @@
---
title: Example evaluations of the dimethenamid data from 2018
author: Johannes Ranke
-date: Last change 23 June 2021, built on `r format(Sys.Date(), format = "%d %b %Y")`
+date: Last change 27 July 2021, built on `r format(Sys.Date(), format = "%d %b %Y")`
output:
html_document:
toc: true
@@ -163,8 +163,10 @@ tendency of the algorithm to try parameter combinations unsuitable for
fitting these data.
```{r f_parent_nlme, warning = FALSE}
+library(nlme)
f_parent_nlme_sfo_const <- nlme(f_parent_mkin_const["SFO", ])
-#f_parent_nlme_dfop_const <- nlme(f_parent_mkin_const["DFOP", ]) # error
+#f_parent_nlme_dfop_const <- nlme(f_parent_mkin_const["DFOP", ])
+# maxIter = 50 reached
f_parent_nlme_sfo_tc <- nlme(f_parent_mkin_tc["SFO", ])
f_parent_nlme_dfop_tc <- nlme(f_parent_mkin_tc["DFOP", ])
```
@@ -180,10 +182,10 @@ used for these attempts can be made visible below.
f_parent_nlme_sfo_const_logchol <- nlme(f_parent_mkin_const["SFO", ],
random = pdLogChol(list(DMTA_0 ~ 1, log_k_DMTA ~ 1)))
anova(f_parent_nlme_sfo_const, f_parent_nlme_sfo_const_logchol) # not better
-f_parent_nlme_dfop_tc_logchol <- update(f_parent_nlme_dfop_tc,
- random = pdLogChol(list(DMTA_0 ~ 1, log_k1 ~ 1, log_k2 ~ 1, g_qlogis ~ 1)))
+#f_parent_nlme_dfop_tc_logchol <- update(f_parent_nlme_dfop_tc,
+# random = pdLogChol(list(DMTA_0 ~ 1, log_k1 ~ 1, log_k2 ~ 1, g_qlogis ~ 1)))
# using log Cholesky parameterisation for random effects (nlme default) does
-# not converge and gives lots of warnings about the LME step not converging
+# not converge here and gives lots of warnings about the LME step not converging
```
The model comparison function of the nlme package can directly be applied
@@ -221,7 +223,7 @@ The convergence plot for the SFO model using constant variance is shown below.
```{r f_parent_saemix_sfo_const, results = 'hide'}
library(saemix)
-f_parent_saemix_sfo_const <- saem(f_parent_mkin_const["SFO", ], quiet = TRUE,
+f_parent_saemix_sfo_const <- mkin::saem(f_parent_mkin_const["SFO", ], quiet = TRUE,
transformations = "saemix")
plot(f_parent_saemix_sfo_const$so, plot.type = "convergence")
```
@@ -230,18 +232,19 @@ Obviously the default number of iterations is sufficient to reach convergence.
This can also be said for the SFO fit using the two-component error model.
```{r f_parent_saemix_sfo_tc, results = 'hide'}
-f_parent_saemix_sfo_tc <- saem(f_parent_mkin_tc["SFO", ], quiet = TRUE,
+f_parent_saemix_sfo_tc <- mkin::saem(f_parent_mkin_tc["SFO", ], quiet = TRUE,
transformations = "saemix")
plot(f_parent_saemix_sfo_tc$so, plot.type = "convergence")
```
When fitting the DFOP model with constant variance, parameter convergence
-is not as unambiguous. Therefore, the number of iterations in the first
+is not as unambiguous (see the failure of nlme with the default number of
+iterations above). Therefore, the number of iterations in the first
phase of the algorithm was increased, leading to visually satisfying
convergence.
```{r f_parent_saemix_dfop_const, results = 'hide'}
-f_parent_saemix_dfop_const <- saem(f_parent_mkin_const["DFOP", ], quiet = TRUE,
+f_parent_saemix_dfop_const <- mkin::saem(f_parent_mkin_const["DFOP", ], quiet = TRUE,
control = saemixControl(nbiter.saemix = c(800, 200), print = FALSE,
save = FALSE, save.graphs = FALSE, displayProgress = FALSE),
transformations = "saemix")
@@ -250,11 +253,11 @@ plot(f_parent_saemix_dfop_const$so, plot.type = "convergence")
The same applies to the case where the DFOP model is fitted with the
two-component error model. Convergence of the variance of k2 is enhanced
-by using the two-component error, it remains pretty stable already after 200
+by using the two-component error, it remains more or less stable already after 200
iterations of the first phase.
```{r f_parent_saemix_dfop_tc_moreiter, results = 'hide'}
-f_parent_saemix_dfop_tc_moreiter <- saem(f_parent_mkin_tc["DFOP", ], quiet = TRUE,
+f_parent_saemix_dfop_tc_moreiter <- mkin::saem(f_parent_mkin_tc["DFOP", ], quiet = TRUE,
control = saemixControl(nbiter.saemix = c(800, 200), print = FALSE,
save = FALSE, save.graphs = FALSE, displayProgress = FALSE),
transformations = "saemix")
@@ -306,6 +309,7 @@ First, the focei algorithm is used for the four model combinations and the
goodness of fit of the results is compared.
```{r f_parent_nlmixr_focei, results = "hide", message = FALSE, warning = FALSE}
+library(nlmixr)
f_parent_nlmixr_focei_sfo_const <- nlmixr(f_parent_mkin_const["SFO", ], est = "focei")
f_parent_nlmixr_focei_sfo_tc <- nlmixr(f_parent_mkin_tc["SFO", ], est = "focei")
f_parent_nlmixr_focei_dfop_const <- nlmixr(f_parent_mkin_const["DFOP", ], est = "focei")
@@ -317,7 +321,14 @@ AIC(f_parent_nlmixr_focei_sfo_const$nm, f_parent_nlmixr_focei_sfo_tc$nm,
f_parent_nlmixr_focei_dfop_const$nm, f_parent_nlmixr_focei_dfop_tc$nm)
```
-The AIC values are very close to the ones obtained with nlme.
+The AIC values are very close to the ones obtained with nlme which are repeated below
+for convenience.
+
+```{r AIC_parent_nlme_rep}
+AIC(
+ f_parent_nlme_sfo_const, f_parent_nlme_sfo_tc, f_parent_nlme_dfop_tc
+)
+```
Secondly, we use the SAEM estimation routine and check the convergence plots for
SFO with constant variance
@@ -333,7 +344,7 @@ for SFO with two-component error
```{r f_parent_nlmixr_saem_sfo_tc, results = "hide", warning = FALSE, message = FALSE}
f_parent_nlmixr_saem_sfo_tc <- nlmixr(f_parent_mkin_tc["SFO", ], est = "saem",
control = nlmixr::saemControl(logLik = TRUE))
-nlmixr::traceplot(f_parent_nlmixr_saem_sfo_tc$nm)
+traceplot(f_parent_nlmixr_saem_sfo_tc$nm)
```
For DFOP with constant variance, the convergence plots show considerable instability
@@ -343,7 +354,7 @@ the number of parallel chains for the first phase of algorithm.
```{r f_parent_nlmixr_saem_dfop_const, results = "hide", warning = FALSE, message = FALSE}
f_parent_nlmixr_saem_dfop_const <- nlmixr(f_parent_mkin_const["DFOP", ], est = "saem",
control = nlmixr::saemControl(logLik = TRUE, nBurn = 1000), nmc = 15)
-nlmixr::traceplot(f_parent_nlmixr_saem_dfop_const$nm)
+traceplot(f_parent_nlmixr_saem_dfop_const$nm)
```
For DFOP with two-component error, the same increase in iterations and parallel
@@ -354,7 +365,7 @@ erratic convergence, so this may not be necessary to this degree.
```{r f_parent_nlmixr_saem_dfop_tc, results = "hide", warning = FALSE, message = FALSE}
f_parent_nlmixr_saem_dfop_tc <- nlmixr(f_parent_mkin_tc["DFOP", ], est = "saem",
control = nlmixr::saemControl(logLik = TRUE, nBurn = 1000, nmc = 15))
-nlmixr::traceplot(f_parent_nlmixr_saem_dfop_tc$nm)
+traceplot(f_parent_nlmixr_saem_dfop_tc$nm)
```
The AIC values are internally calculated using Gaussian quadrature. For an
@@ -366,8 +377,20 @@ AIC(f_parent_nlmixr_saem_sfo_const$nm, f_parent_nlmixr_saem_sfo_tc$nm,
f_parent_nlmixr_saem_dfop_const$nm, f_parent_nlmixr_saem_dfop_tc$nm)
```
-
-
+The following table gives the AIC values obtained with the three packages.
+
+```{r AIC_all}
+AIC_all <- data.frame(
+ nlme = c(AIC(f_parent_nlme_sfo_const), AIC(f_parent_nlme_sfo_tc), NA, AIC(f_parent_nlme_dfop_tc)),
+ nlmixr_focei = sapply(list(f_parent_nlmixr_focei_sfo_const$nm, f_parent_nlmixr_focei_sfo_tc$nm,
+ f_parent_nlmixr_focei_dfop_const$nm, f_parent_nlmixr_focei_dfop_tc$nm), AIC),
+ saemix = sapply(list(f_parent_saemix_sfo_const$so, f_parent_saemix_sfo_tc$so,
+ f_parent_saemix_dfop_const$so, f_parent_saemix_dfop_tc_moreiter$so), AIC),
+ nlmixr_saem = sapply(list(f_parent_nlmixr_saem_sfo_const$nm, f_parent_nlmixr_saem_sfo_tc$nm,
+ f_parent_nlmixr_saem_dfop_const$nm, f_parent_nlmixr_saem_dfop_tc$nm), AIC)
+)
+kable(AIC_all)
+```
# References

Contact - Imprint