aboutsummaryrefslogblamecommitdiff
path: root/docs/dev/reference/mkinpredict.html
blob: f265a2343fd986f04cb7ff88029b99dce27dbc20 (plain) (tree)
1
2
3
4
5
6
7
8
9
               
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
                                                              
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
                                                                               
                                                              
 
                                                    
                                                                                    








                                                                                                                               
                                                                                                                                        


                                                      
                                     
                                                 
                     
                                                                                                                           


                               
                                            
                                                              
                                                                                                   





                                                                                                 
                                                                                                   
         
                                                                                                                  
        
                                                                                                                                                                    
         
                                                                                                                                                          
         
                                                                                                                                           
         
                                                                                                                                        
         




                                                                                                                             
         


                                                                                              
         






                                                                                                                
            

                                       
                                                                  
                                             

      
                                       



                           
                                

                                                                               
                                                                                                                                                                       



                                                                               
                                                                                         

                                                                  












                                                                                                                                                                                                                                                                                                                        
                                                                                 



































                                                                                                                                                                                                                                                                                                                    
                                                                         













                                                                        
                                                                        

                                                                            







                                                                              
                                                                       

             
                                                                   

             
                                                                   

                 
                                                                  


                                                              
                                                                      
                                              
 
                                                               
 


                    
 


                                                        
                         
          
 










































































































                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                                         

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                                         

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                                       




































                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
                                                                                                  
                                                                                                 


                                                                                                 

















                                                                                                                                                                                                                                                                                                                                                                                                                           
                                                                 
                                                                                      

      
                                            

                     
                                                                                                             
      
                     


  
  
 
                
 
<!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>Produce predictions from a kinetic model using specific parameters — mkinpredict • 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="Produce predictions from a kinetic model using specific parameters — mkinpredict"><meta property="og:description" content="This function produces a time series for all the observed variables in a
kinetic model as specified by mkinmod, using a specific set of
kinetic parameters and initial values for the state variables."><meta name="robots" content="noindex"><!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--></head><body data-spy="scroll" data-target="#toc">
    

    <div class="container template-reference-topic">
      <header><div class="navbar navbar-default navbar-fixed-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <span class="navbar-brand">
        <a class="navbar-link" href="../index.html">mkin</a>
        <span class="version label label-info" data-toggle="tooltip" data-placement="bottom" title="In-development version">1.2.3</span>
      </span>
    </div>

    <div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav"><li>
  <a href="../reference/index.html">Reference</a>
</li>
<li class="dropdown">
  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
    Articles
     
    <span class="caret"></span>
  </a>
  <ul class="dropdown-menu" role="menu"><li>
      <a href="../articles/mkin.html">Introduction to mkin</a>
    </li>
    <li class="divider">
    <li class="dropdown-header">Example evaluations with (generalised) nonlinear least squares</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 class="divider">
    <li class="dropdown-header">Example evaluations with hierarchical models (nonlinear mixed-effects models)</li>
    <li>
      <a href="../articles/prebuilt/2022_dmta_parent.html">Testing hierarchical parent degradation kinetics with residue data on dimethenamid and dimethenamid-P</a>
    </li>
    <li>
      <a href="../articles/prebuilt/2022_dmta_pathway.html">Testing hierarchical pathway kinetics with residue data on dimethenamid and dimethenamid-P</a>
    </li>
    <li>
      <a href="../articles/prebuilt/2022_cyan_pathway.html">Testing hierarchical pathway kinetics with residue data on cyantraniliprole</a>
    </li>
    <li>
      <a href="../articles/web_only/dimethenamid_2018.html">Comparison of saemix and nlme evaluations of dimethenamid data from 2018</a>
    </li>
    <li>
      <a href="../articles/web_only/multistart.html">Short demo of the multistart method</a>
    </li>
    <li class="divider">
    <li class="dropdown-header">Performance</li>
    <li>
      <a href="../articles/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a>
    </li>
    <li>
      <a href="../articles/web_only/benchmarks.html">Benchmark timings for mkin</a>
    </li>
    <li>
      <a href="../articles/web_only/saem_benchmarks.html">Benchmark timings for saem.mmkin</a>
    </li>
    <li class="divider">
    <li class="dropdown-header">Miscellaneous</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>
  </ul></li>
<li>
  <a href="../news/index.html">News</a>
</li>
      </ul><ul class="nav navbar-nav navbar-right"><li>
  <a href="https://github.com/jranke/mkin/" class="external-link">
    <span class="fab fa-github fa-lg"></span>
     
  </a>
</li>
      </ul></div><!--/.nav-collapse -->
  </div><!--/.container -->
</div><!--/.navbar -->

      

      </header><div class="row">
  <div class="col-md-9 contents">
    <div class="page-header">
    <h1>Produce predictions from a kinetic model using specific parameters</h1>
    <small class="dont-index">Source: <a href="https://github.com/jranke/mkin/blob/HEAD/R/mkinpredict.R" class="external-link"><code>R/mkinpredict.R</code></a></small>
    <div class="hidden name"><code>mkinpredict.Rd</code></div>
    </div>

    <div class="ref-description">
    <p>This function produces a time series for all the observed variables in a
kinetic model as specified by <a href="mkinmod.html">mkinmod</a>, using a specific set of
kinetic parameters and initial values for the state variables.</p>
    </div>

    <div id="ref-usage">
    <div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">mkinpredict</span><span class="op">(</span><span class="va">x</span>, <span class="va">odeparms</span>, <span class="va">odeini</span>, <span class="va">outtimes</span>, <span class="va">...</span><span class="op">)</span></span>
<span></span>
<span><span class="co"># S3 method for mkinmod</span></span>
<span><span class="fu">mkinpredict</span><span class="op">(</span></span>
<span>  <span class="va">x</span>,</span>
<span>  odeparms <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>k_parent_sink <span class="op">=</span> <span class="fl">0.1</span><span class="op">)</span>,</span>
<span>  odeini <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>parent <span class="op">=</span> <span class="fl">100</span><span class="op">)</span>,</span>
<span>  outtimes <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/seq.html" class="external-link">seq</a></span><span class="op">(</span><span class="fl">0</span>, <span class="fl">120</span>, by <span class="op">=</span> <span class="fl">0.1</span><span class="op">)</span>,</span>
<span>  solution_type <span class="op">=</span> <span class="st">"deSolve"</span>,</span>
<span>  use_compiled <span class="op">=</span> <span class="st">"auto"</span>,</span>
<span>  method.ode <span class="op">=</span> <span class="st">"lsoda"</span>,</span>
<span>  atol <span class="op">=</span> <span class="fl">1e-08</span>,</span>
<span>  rtol <span class="op">=</span> <span class="fl">1e-10</span>,</span>
<span>  maxsteps <span class="op">=</span> <span class="fl">20000L</span>,</span>
<span>  map_output <span class="op">=</span> <span class="cn">TRUE</span>,</span>
<span>  na_stop <span class="op">=</span> <span class="cn">TRUE</span>,</span>
<span>  <span class="va">...</span></span>
<span><span class="op">)</span></span>
<span></span>
<span><span class="co"># S3 method for mkinfit</span></span>
<span><span class="fu">mkinpredict</span><span class="op">(</span></span>
<span>  <span class="va">x</span>,</span>
<span>  odeparms <span class="op">=</span> <span class="va">x</span><span class="op">$</span><span class="va">bparms.ode</span>,</span>
<span>  odeini <span class="op">=</span> <span class="va">x</span><span class="op">$</span><span class="va">bparms.state</span>,</span>
<span>  outtimes <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/seq.html" class="external-link">seq</a></span><span class="op">(</span><span class="fl">0</span>, <span class="fl">120</span>, by <span class="op">=</span> <span class="fl">0.1</span><span class="op">)</span>,</span>
<span>  solution_type <span class="op">=</span> <span class="st">"deSolve"</span>,</span>
<span>  use_compiled <span class="op">=</span> <span class="st">"auto"</span>,</span>
<span>  method.ode <span class="op">=</span> <span class="st">"lsoda"</span>,</span>
<span>  atol <span class="op">=</span> <span class="fl">1e-08</span>,</span>
<span>  rtol <span class="op">=</span> <span class="fl">1e-10</span>,</span>
<span>  map_output <span class="op">=</span> <span class="cn">TRUE</span>,</span>
<span>  <span class="va">...</span></span>
<span><span class="op">)</span></span></code></pre></div>
    </div>

    <div id="arguments">
    <h2>Arguments</h2>
    <dl><dt>x</dt>
<dd><p>A kinetic model as produced by <a href="mkinmod.html">mkinmod</a>, or a kinetic fit as
fitted by <a href="mkinfit.html">mkinfit</a>. In the latter case, the fitted parameters are used for
the prediction.</p></dd>


<dt>odeparms</dt>
<dd><p>A numeric vector specifying the parameters used in the
kinetic model, which is generally defined as a set of ordinary differential
equations.</p></dd>


<dt>odeini</dt>
<dd><p>A numeric vector containing the initial values of the state
variables of the model. Note that the state variables can differ from the
observed variables, for example in the case of the SFORB model.</p></dd>


<dt>outtimes</dt>
<dd><p>A numeric vector specifying the time points for which model
predictions should be generated.</p></dd>


<dt>...</dt>
<dd><p>Further arguments passed to the ode solver in case such a
solver is used.</p></dd>


<dt>solution_type</dt>
<dd><p>The method that should be used for producing the
predictions. This should generally be "analytical" if there is only one
observed variable, and usually "deSolve" in the case of several observed
variables. The third possibility "eigen" is fast in comparison to uncompiled
ODE models, but not applicable to some models, e.g. using FOMC for the
parent compound.</p></dd>


<dt>use_compiled</dt>
<dd><p>If set to <code>FALSE</code>, no compiled version of the
<a href="mkinmod.html">mkinmod</a> model is used, even if is present.</p></dd>


<dt>method.ode</dt>
<dd><p>The solution method passed via mkinpredict to ode] in
case the solution type is "deSolve" and we are not using compiled code.
When using compiled code, only lsoda is supported.</p></dd>


<dt>atol</dt>
<dd><p>Absolute error tolerance, passed to the ode solver.</p></dd>


<dt>rtol</dt>
<dd><p>Absolute error tolerance, passed to the ode solver.</p></dd>


<dt>maxsteps</dt>
<dd><p>Maximum number of steps, passed to the ode solver.</p></dd>


<dt>map_output</dt>
<dd><p>Boolean to specify if the output should list values for
the observed variables (default) or for all state variables (if set to
FALSE). Setting this to FALSE has no effect for analytical solutions,
as these always return mapped output.</p></dd>


<dt>na_stop</dt>
<dd><p>Should it be an error if ode returns NaN values</p></dd>

</dl></div>
    <div id="value">
    <h2>Value</h2>
    

<p>A matrix with the numeric solution in wide format</p>
    </div>
    <div id="author">
    <h2>Author</h2>
    <p>Johannes Ranke</p>
    </div>

    <div id="ref-examples">
    <h2>Examples</h2>
    <div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span></span></span>
<span class="r-in"><span><span class="va">SFO</span> <span class="op">&lt;-</span> <span class="fu"><a href="mkinmod.html">mkinmod</a></span><span class="op">(</span>degradinol <span class="op">=</span> <span class="fu"><a href="mkinmod.html">mkinsub</a></span><span class="op">(</span><span class="st">"SFO"</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="co"># Compare solution types</span></span></span>
<span class="r-in"><span><span class="fu">mkinpredict</span><span class="op">(</span><span class="va">SFO</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>k_degradinol <span class="op">=</span> <span class="fl">0.3</span><span class="op">)</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>degradinol <span class="op">=</span> <span class="fl">100</span><span class="op">)</span>, <span class="fl">0</span><span class="op">:</span><span class="fl">20</span>,</span></span>
<span class="r-in"><span>      solution_type <span class="op">=</span> <span class="st">"analytical"</span><span class="op">)</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span>    time  degradinol</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 0     0 100.0000000</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 1     1  74.0818221</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 2     2  54.8811636</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 3     3  40.6569660</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 4     4  30.1194212</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 5     5  22.3130160</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 6     6  16.5298888</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 7     7  12.2456428</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 8     8   9.0717953</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 9     9   6.7205513</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 10   10   4.9787068</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 11   11   3.6883167</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 12   12   2.7323722</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 13   13   2.0241911</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 14   14   1.4995577</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 15   15   1.1108997</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 16   16   0.8229747</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 17   17   0.6096747</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 18   18   0.4516581</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 19   19   0.3345965</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 20   20   0.2478752</span>
<span class="r-in"><span><span class="fu">mkinpredict</span><span class="op">(</span><span class="va">SFO</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>k_degradinol <span class="op">=</span> <span class="fl">0.3</span><span class="op">)</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>degradinol <span class="op">=</span> <span class="fl">100</span><span class="op">)</span>, <span class="fl">0</span><span class="op">:</span><span class="fl">20</span>,</span></span>
<span class="r-in"><span>      solution_type <span class="op">=</span> <span class="st">"deSolve"</span><span class="op">)</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span>    time  degradinol</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 0     0 100.0000000</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 1     1  74.0818221</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 2     2  54.8811636</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 3     3  40.6569660</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 4     4  30.1194212</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 5     5  22.3130160</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 6     6  16.5298888</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 7     7  12.2456428</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 8     8   9.0717953</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 9     9   6.7205513</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 10   10   4.9787068</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 11   11   3.6883167</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 12   12   2.7323722</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 13   13   2.0241911</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 14   14   1.4995577</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 15   15   1.1108996</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 16   16   0.8229747</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 17   17   0.6096747</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 18   18   0.4516581</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 19   19   0.3345965</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 20   20   0.2478752</span>
<span class="r-in"><span><span class="fu">mkinpredict</span><span class="op">(</span><span class="va">SFO</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>k_degradinol <span class="op">=</span> <span class="fl">0.3</span><span class="op">)</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>degradinol <span class="op">=</span> <span class="fl">100</span><span class="op">)</span>, <span class="fl">0</span><span class="op">:</span><span class="fl">20</span>,</span></span>
<span class="r-in"><span>      solution_type <span class="op">=</span> <span class="st">"deSolve"</span>, use_compiled <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span>    time  degradinol</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 0     0 100.0000000</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 1     1  74.0818221</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 2     2  54.8811636</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 3     3  40.6569660</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 4     4  30.1194212</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 5     5  22.3130160</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 6     6  16.5298888</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 7     7  12.2456428</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 8     8   9.0717953</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 9     9   6.7205513</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 10   10   4.9787068</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 11   11   3.6883167</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 12   12   2.7323722</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 13   13   2.0241911</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 14   14   1.4995577</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 15   15   1.1108996</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 16   16   0.8229747</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 17   17   0.6096747</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 18   18   0.4516581</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 19   19   0.3345965</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 20   20   0.2478752</span>
<span class="r-in"><span><span class="fu">mkinpredict</span><span class="op">(</span><span class="va">SFO</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>k_degradinol <span class="op">=</span> <span class="fl">0.3</span><span class="op">)</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>degradinol <span class="op">=</span> <span class="fl">100</span><span class="op">)</span>, <span class="fl">0</span><span class="op">:</span><span class="fl">20</span>,</span></span>
<span class="r-in"><span>      solution_type <span class="op">=</span> <span class="st">"eigen"</span><span class="op">)</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span>    time  degradinol</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 0     0 100.0000000</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 1     1  74.0818221</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 2     2  54.8811636</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 3     3  40.6569660</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 4     4  30.1194212</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 5     5  22.3130160</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 6     6  16.5298888</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 7     7  12.2456428</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 8     8   9.0717953</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 9     9   6.7205513</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 10   10   4.9787068</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 11   11   3.6883167</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 12   12   2.7323722</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 13   13   2.0241911</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 14   14   1.4995577</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 15   15   1.1108997</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 16   16   0.8229747</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 17   17   0.6096747</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 18   18   0.4516581</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 19   19   0.3345965</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 20   20   0.2478752</span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co"># Compare integration methods to analytical solution</span></span></span>
<span class="r-in"><span><span class="fu">mkinpredict</span><span class="op">(</span><span class="va">SFO</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>k_degradinol <span class="op">=</span> <span class="fl">0.3</span><span class="op">)</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>degradinol <span class="op">=</span> <span class="fl">100</span><span class="op">)</span>, <span class="fl">0</span><span class="op">:</span><span class="fl">20</span>,</span></span>
<span class="r-in"><span>      solution_type <span class="op">=</span> <span class="st">"analytical"</span><span class="op">)</span><span class="op">[</span><span class="fl">21</span>,<span class="op">]</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span>       time degradinol </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 20.0000000  0.2478752 </span>
<span class="r-in"><span><span class="fu">mkinpredict</span><span class="op">(</span><span class="va">SFO</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>k_degradinol <span class="op">=</span> <span class="fl">0.3</span><span class="op">)</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>degradinol <span class="op">=</span> <span class="fl">100</span><span class="op">)</span>, <span class="fl">0</span><span class="op">:</span><span class="fl">20</span>,</span></span>
<span class="r-in"><span>      method <span class="op">=</span> <span class="st">"lsoda"</span>, use_compiled <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span><span class="op">[</span><span class="fl">21</span>,<span class="op">]</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span>       time degradinol </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 20.0000000  0.2478752 </span>
<span class="r-in"><span><span class="fu">mkinpredict</span><span class="op">(</span><span class="va">SFO</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>k_degradinol <span class="op">=</span> <span class="fl">0.3</span><span class="op">)</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>degradinol <span class="op">=</span> <span class="fl">100</span><span class="op">)</span>, <span class="fl">0</span><span class="op">:</span><span class="fl">20</span>,</span></span>
<span class="r-in"><span>      method <span class="op">=</span> <span class="st">"ode45"</span>, use_compiled <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span><span class="op">[</span><span class="fl">21</span>,<span class="op">]</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span>       time degradinol </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 20.0000000  0.2478752 </span>
<span class="r-in"><span><span class="fu">mkinpredict</span><span class="op">(</span><span class="va">SFO</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>k_degradinol <span class="op">=</span> <span class="fl">0.3</span><span class="op">)</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>degradinol <span class="op">=</span> <span class="fl">100</span><span class="op">)</span>, <span class="fl">0</span><span class="op">:</span><span class="fl">20</span>,</span></span>
<span class="r-in"><span>      method <span class="op">=</span> <span class="st">"rk4"</span>, use_compiled <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span><span class="op">[</span><span class="fl">21</span>,<span class="op">]</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span>       time degradinol </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 20.0000000  0.2480043 </span>
<span class="r-in"><span><span class="co"># rk4 is not as precise here</span></span></span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co"># The number of output times used to make a lot of difference until the</span></span></span>
<span class="r-in"><span><span class="co"># default for atol was adjusted</span></span></span>
<span class="r-in"><span><span class="fu">mkinpredict</span><span class="op">(</span><span class="va">SFO</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>k_degradinol <span class="op">=</span> <span class="fl">0.3</span><span class="op">)</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>degradinol <span class="op">=</span> <span class="fl">100</span><span class="op">)</span>,</span></span>
<span class="r-in"><span>      <span class="fu"><a href="https://rdrr.io/r/base/seq.html" class="external-link">seq</a></span><span class="op">(</span><span class="fl">0</span>, <span class="fl">20</span>, by <span class="op">=</span> <span class="fl">0.1</span><span class="op">)</span><span class="op">)</span><span class="op">[</span><span class="fl">201</span>,<span class="op">]</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span>       time degradinol </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 20.0000000  0.2478752 </span>
<span class="r-in"><span><span class="fu">mkinpredict</span><span class="op">(</span><span class="va">SFO</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>k_degradinol <span class="op">=</span> <span class="fl">0.3</span><span class="op">)</span>, <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>degradinol <span class="op">=</span> <span class="fl">100</span><span class="op">)</span>,</span></span>
<span class="r-in"><span>      <span class="fu"><a href="https://rdrr.io/r/base/seq.html" class="external-link">seq</a></span><span class="op">(</span><span class="fl">0</span>, <span class="fl">20</span>, by <span class="op">=</span> <span class="fl">0.01</span><span class="op">)</span><span class="op">)</span><span class="op">[</span><span class="fl">2001</span>,<span class="op">]</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span>       time degradinol </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 20.0000000  0.2478752 </span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co"># Comparison of the performance of solution types</span></span></span>
<span class="r-in"><span><span class="va">SFO_SFO</span> <span class="op">=</span> <span class="fu"><a href="mkinmod.html">mkinmod</a></span><span class="op">(</span>parent <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/list.html" class="external-link">list</a></span><span class="op">(</span>type <span class="op">=</span> <span class="st">"SFO"</span>, to <span class="op">=</span> <span class="st">"m1"</span><span class="op">)</span>,</span></span>
<span class="r-in"><span>                  m1 <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/list.html" class="external-link">list</a></span><span class="op">(</span>type <span class="op">=</span> <span class="st">"SFO"</span><span class="op">)</span>, use_of_ff <span class="op">=</span> <span class="st">"max"</span><span class="op">)</span></span></span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Temporary DLL for differentials generated and loaded</span>
<span class="r-in"><span><span class="kw">if</span><span class="op">(</span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">require</a></span><span class="op">(</span><span class="va"><a href="http://rbenchmark.googlecode.com" class="external-link">rbenchmark</a></span><span class="op">)</span><span class="op">)</span> <span class="op">{</span></span></span>
<span class="r-in"><span>  <span class="fu"><a href="https://rdrr.io/pkg/rbenchmark/man/benchmark.html" class="external-link">benchmark</a></span><span class="op">(</span>replications <span class="op">=</span> <span class="fl">10</span>, order <span class="op">=</span> <span class="st">"relative"</span>, columns <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="st">"test"</span>, <span class="st">"relative"</span>, <span class="st">"elapsed"</span><span class="op">)</span>,</span></span>
<span class="r-in"><span>    eigen <span class="op">=</span> <span class="fu">mkinpredict</span><span class="op">(</span><span class="va">SFO_SFO</span>,</span></span>
<span class="r-in"><span>      <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>k_parent <span class="op">=</span> <span class="fl">0.15</span>, f_parent_to_m1 <span class="op">=</span> <span class="fl">0.5</span>, k_m1 <span class="op">=</span> <span class="fl">0.01</span><span class="op">)</span>,</span></span>
<span class="r-in"><span>      <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>parent <span class="op">=</span> <span class="fl">100</span>, m1 <span class="op">=</span> <span class="fl">0</span><span class="op">)</span>, <span class="fu"><a href="https://rdrr.io/r/base/seq.html" class="external-link">seq</a></span><span class="op">(</span><span class="fl">0</span>, <span class="fl">20</span>, by <span class="op">=</span> <span class="fl">0.1</span><span class="op">)</span>,</span></span>
<span class="r-in"><span>      solution_type <span class="op">=</span> <span class="st">"eigen"</span><span class="op">)</span><span class="op">[</span><span class="fl">201</span>,<span class="op">]</span>,</span></span>
<span class="r-in"><span>    deSolve_compiled <span class="op">=</span> <span class="fu">mkinpredict</span><span class="op">(</span><span class="va">SFO_SFO</span>,</span></span>
<span class="r-in"><span>      <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>k_parent <span class="op">=</span> <span class="fl">0.15</span>, f_parent_to_m1 <span class="op">=</span> <span class="fl">0.5</span>, k_m1 <span class="op">=</span> <span class="fl">0.01</span><span class="op">)</span>,</span></span>
<span class="r-in"><span>      <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>parent <span class="op">=</span> <span class="fl">100</span>, m1 <span class="op">=</span> <span class="fl">0</span><span class="op">)</span>, <span class="fu"><a href="https://rdrr.io/r/base/seq.html" class="external-link">seq</a></span><span class="op">(</span><span class="fl">0</span>, <span class="fl">20</span>, by <span class="op">=</span> <span class="fl">0.1</span><span class="op">)</span>,</span></span>
<span class="r-in"><span>      solution_type <span class="op">=</span> <span class="st">"deSolve"</span><span class="op">)</span><span class="op">[</span><span class="fl">201</span>,<span class="op">]</span>,</span></span>
<span class="r-in"><span>    deSolve <span class="op">=</span> <span class="fu">mkinpredict</span><span class="op">(</span><span class="va">SFO_SFO</span>,</span></span>
<span class="r-in"><span>      <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>k_parent <span class="op">=</span> <span class="fl">0.15</span>, f_parent_to_m1 <span class="op">=</span> <span class="fl">0.5</span>, k_m1 <span class="op">=</span> <span class="fl">0.01</span><span class="op">)</span>,</span></span>
<span class="r-in"><span>      <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>parent <span class="op">=</span> <span class="fl">100</span>, m1 <span class="op">=</span> <span class="fl">0</span><span class="op">)</span>, <span class="fu"><a href="https://rdrr.io/r/base/seq.html" class="external-link">seq</a></span><span class="op">(</span><span class="fl">0</span>, <span class="fl">20</span>, by <span class="op">=</span> <span class="fl">0.1</span><span class="op">)</span>,</span></span>
<span class="r-in"><span>      solution_type <span class="op">=</span> <span class="st">"deSolve"</span>, use_compiled <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span><span class="op">[</span><span class="fl">201</span>,<span class="op">]</span>,</span></span>
<span class="r-in"><span>    analytical <span class="op">=</span> <span class="fu">mkinpredict</span><span class="op">(</span><span class="va">SFO_SFO</span>,</span></span>
<span class="r-in"><span>      <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>k_parent <span class="op">=</span> <span class="fl">0.15</span>, f_parent_to_m1 <span class="op">=</span> <span class="fl">0.5</span>, k_m1 <span class="op">=</span> <span class="fl">0.01</span><span class="op">)</span>,</span></span>
<span class="r-in"><span>      <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span>parent <span class="op">=</span> <span class="fl">100</span>, m1 <span class="op">=</span> <span class="fl">0</span><span class="op">)</span>, <span class="fu"><a href="https://rdrr.io/r/base/seq.html" class="external-link">seq</a></span><span class="op">(</span><span class="fl">0</span>, <span class="fl">20</span>, by <span class="op">=</span> <span class="fl">0.1</span><span class="op">)</span>,</span></span>
<span class="r-in"><span>      solution_type <span class="op">=</span> <span class="st">"analytical"</span>, use_compiled <span class="op">=</span> <span class="cn">FALSE</span><span class="op">)</span><span class="op">[</span><span class="fl">201</span>,<span class="op">]</span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="op">}</span></span></span>
<span class="r-msg co"><span class="r-pr">#&gt;</span> Loading required package: rbenchmark</span>
<span class="r-out co"><span class="r-pr">#&gt;</span>               test relative elapsed</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 4       analytical    1.000   0.007</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 1            eigen    1.143   0.008</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 2 deSolve_compiled    8.857   0.062</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 3          deSolve    8.857   0.062</span>
<span class="r-in"><span></span></span>
<span class="r-in"><span><span class="co"># \dontrun{</span></span></span>
<span class="r-in"><span>  <span class="co"># Predict from a fitted model</span></span></span>
<span class="r-in"><span>  <span class="va">f</span> <span class="op">&lt;-</span> <span class="fu"><a href="mkinfit.html">mkinfit</a></span><span class="op">(</span><span class="va">SFO_SFO</span>, <span class="va">FOCUS_2006_C</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span></span></span>
<span class="r-in"><span>  <span class="va">f</span> <span class="op">&lt;-</span> <span class="fu"><a href="mkinfit.html">mkinfit</a></span><span class="op">(</span><span class="va">SFO_SFO</span>, <span class="va">FOCUS_2006_C</span>, quiet <span class="op">=</span> <span class="cn">TRUE</span>, solution_type <span class="op">=</span> <span class="st">"deSolve"</span><span class="op">)</span></span></span>
<span class="r-in"><span>  <span class="fu"><a href="https://rdrr.io/r/utils/head.html" class="external-link">head</a></span><span class="op">(</span><span class="fu">mkinpredict</span><span class="op">(</span><span class="va">f</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-out co"><span class="r-pr">#&gt;</span> DLSODA-  At current T (=R1), MXSTEP (=I1) steps   </span>
<span class="r-out co"><span class="r-pr">#&gt;</span>       taken on this call before reaching TOUT     </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> In above message, I1 = 1</span>
<span class="r-out co"><span class="r-pr">#&gt;</span>  </span>
<span class="r-out co"><span class="r-pr">#&gt;</span> In above message, R1 = 9.99904e-07</span>
<span class="r-out co"><span class="r-pr">#&gt;</span>  </span>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> <span class="warning">Warning: </span>an excessive amount of work (&gt; maxsteps ) was done, but integration was not successful - increase maxsteps</span>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> <span class="warning">Warning: </span>Returning early. Results are accurate, as far as they go</span>
<span class="r-err co"><span class="r-pr">#&gt;</span> <span class="error">Error in out[available, var]:</span> (subscript) logical subscript too long</span>
<span class="r-in"><span><span class="co"># }</span></span></span>
<span class="r-in"><span></span></span>
</code></pre></div>
    </div>
  </div>
  <div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
    <nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2>
    </nav></div>
</div>


      <footer><div class="copyright">
  <p></p><p>Developed by Johannes Ranke.</p>
</div>

<div class="pkgdown">
  <p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
</div>

      </footer></div>

  


  

  </body></html>

Contact - Imprint