aboutsummaryrefslogblamecommitdiff
path: root/docs/reference/mkinpredict.html
blob: 2aab0b50bb4c8f08316b53652fe2c7c45c4904c4 (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."><!-- 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-default" data-toggle="tooltip" data-placement="bottom" title="Released version">1.2.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" data-bs-toggle="dropdown" aria-expanded="false">
    Articles
     
    <span class="caret"></span>
  </a>
  <ul class="dropdown-menu" role="menu"><li>
      <a href="../articles/mkin.html">Introduction to mkin</a>
    </li>
    <li>
      <a href="../articles/FOCUS_D.html">Example evaluation of FOCUS Example Dataset D</a>
    </li>
    <li>
      <a href="../articles/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a>
    </li>
    <li>
      <a href="../articles/web_only/dimethenamid_2018.html">Example evaluations of dimethenamid data from 2018 with nonlinear mixed-effects models</a>
    </li>
    <li>
      <a href="../articles/web_only/multistart.html">Short demo of the multistart method</a>
    </li>
    <li>
      <a href="../articles/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a>
    </li>
    <li>
      <a href="../articles/web_only/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</a>
    </li>
    <li>
      <a href="../articles/twa.html">Calculation of time weighted average concentrations with mkin</a>
    </li>
    <li>
      <a href="../articles/web_only/NAFTA_examples.html">Example evaluation of NAFTA SOP Attachment examples</a>
    </li>
    <li>
      <a href="../articles/web_only/benchmarks.html">Benchmark timings for mkin</a>
    </li>
    <li>
      <a href="../articles/web_only/saem_benchmarks.html">Benchmark timings for saem.mmkin</a>
    </li>
  </ul></li>
<li>
  <a href="../news/index.html">News</a>
</li>
      </ul><ul class="nav navbar-nav navbar-right"><li>
  <a href="https://github.com/jranke/mkin/" class="external-link">
    <span class="fab fa-github fa-lg"></span>
     
  </a>
</li>
      </ul></div><!--/.nav-collapse -->
  </div><!--/.container -->
</div><!--/.navbar -->

      

      </header><div class="row">
  <div class="col-md-9 contents">
    <div class="page-header">
    <h1>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">20000</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 faster 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". The default "lsoda" is performant, but
sometimes fails to converge.</p></dd>


<dt>atol</dt>
<dd><p>Absolute error tolerance, passed to ode. Default is 1e-8,
lower than in lsoda.</p></dd>


<dt>rtol</dt>
<dd><p>Absolute error tolerance, passed to ode. Default is 1e-10,
much lower than in lsoda.</p></dd>


<dt>maxsteps</dt>
<dd><p>Maximum number of steps, passed to ode.</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><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><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><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-out co"><span class="r-pr">#&gt;</span>               test relative elapsed</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 2 deSolve_compiled      1.0   0.004</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 4       analytical      1.0   0.004</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 1            eigen      5.5   0.022</span>
<span class="r-out co"><span class="r-pr">#&gt;</span> 3          deSolve     51.0   0.204</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.6.</p>
</div>

      </footer></div>

  


  

  </body></html>

Contact - Imprint