From d852e9e000f57f280deb84611ae1af58daa883cc Mon Sep 17 00:00:00 2001 From: Johannes Ranke Date: Fri, 18 Nov 2016 23:08:45 +0100 Subject: Fix links in README, configure navbar, rebuild docs --- README.html | 10 ++-- README.md | 16 +++--- _pkgdown.yml | 2 +- docs/articles/FOCUS_D.R | 20 ++++++++ docs/articles/FOCUS_D.html | 2 +- docs/articles/FOCUS_L.html | 44 ++++++++--------- docs/articles/FOCUS_Z.pdf | Bin 239558 -> 239561 bytes docs/articles/compiled_models.html | 32 ++++++------ .../figure-html/benchmark_FOMC_SFO-1.png | Bin 9843 -> 9618 bytes .../figure-html/benchmark_SFO_SFO-1.png | Bin 11615 -> 10679 bytes docs/articles/index.html | 2 +- docs/articles/mkin.html | 2 +- docs/authors.html | 2 +- docs/index.html | 10 ++-- docs/news/index.html | 2 +- docs/reference/DFOP.solution.html | 2 +- docs/reference/Extract.mmkin.html | 10 ++-- docs/reference/FOCUS_2006_DFOP_ref_A_to_B.html | 2 +- docs/reference/FOCUS_2006_FOMC_ref_A_to_F.html | 2 +- docs/reference/FOCUS_2006_HS_ref_A_to_F.html | 2 +- docs/reference/FOCUS_2006_SFO_ref_A_to_F.html | 2 +- docs/reference/FOCUS_2006_datasets.html | 2 +- docs/reference/FOMC.solution.html | 2 +- docs/reference/HS.solution.html | 2 +- docs/reference/IORE.solution.html | 2 +- docs/reference/SFO.solution.html | 2 +- docs/reference/SFORB.solution.html | 2 +- docs/reference/add_err.html | 2 +- docs/reference/endpoints.html | 2 +- docs/reference/geometric_mean.html | 2 +- docs/reference/ilr.html | 2 +- docs/reference/index.html | 2 +- docs/reference/mccall81_245T.html | 14 +++--- docs/reference/mkin_long_to_wide.html | 2 +- docs/reference/mkin_wide_to_long.html | 2 +- docs/reference/mkinds.html | 2 +- docs/reference/mkinerrmin.html | 2 +- docs/reference/mkinfit.html | 48 +++++++++--------- docs/reference/mkinmod.html | 4 +- docs/reference/mkinparplot.html | 2 +- docs/reference/mkinplot.html | 2 +- docs/reference/mkinpredict.html | 8 +-- docs/reference/mkinresplot.html | 2 +- docs/reference/mkinsub.html | 2 +- docs/reference/mmkin.html | 6 +-- docs/reference/plot.mkinfit.html | 2 +- docs/reference/plot.mmkin.html | 2 +- docs/reference/print.mkinds.html | 2 +- docs/reference/print.mkinmod.html | 2 +- docs/reference/schaefer07_complex_case.html | 2 +- docs/reference/summary.mkinfit.html | 8 +-- docs/reference/synthetic_data_for_UBA.html | 8 +-- docs/reference/transform_odeparms.html | 26 +++++----- vignettes/FOCUS_D.html | 25 ++++++---- vignettes/FOCUS_L.html | 54 ++++++++++----------- vignettes/FOCUS_Z.pdf | Bin 239558 -> 239561 bytes vignettes/compiled_models.html | 43 ++++++++-------- 57 files changed, 241 insertions(+), 215 deletions(-) diff --git a/README.html b/README.html index 1b83b915..72406092 100644 --- a/README.html +++ b/README.html @@ -19,7 +19,7 @@ - + @@ -134,11 +134,11 @@ $(document).ready(function () {

Usage

-

For a start, have a look a the code examples provided for plot.mkinfit and plot.mmkin, and at the package vignettes FOCUS L and FOCUS D.

+

For a start, have a look a the code examples provided for plot.mkinfit and plot.mmkin, and at the package vignettes FOCUS L and FOCUS D.

Documentation

-

The HTML documentation is maintained at the github project site.

+

The HTML documentation is available at github and at R-Forge.

Features

@@ -147,8 +147,8 @@ $(document).ready(function () {
  • As of version 0.9-39, fitting of several models to several datasets, optionally in parallel, is supported, see for example plot.mmkin.
  • Model solution (forward modelling) in the function mkinpredict is performed either using the analytical solution for the case of parent only degradation, an eigenvalue based solution if only simple first-order (SFO) or SFORB kinetics are used in the model, or using a numeric solver from the deSolve package (default is lsoda).
  • If a C compiler is installed, the kinetic models are compiled from automatically generated C code, see
    -vignette compiled_models. The autogeneration of C code was inspired by the ccSolve package. Thanks to Karline Soetaert for her work on that.
  • -
  • By default, kinetic rate constants and kinetic formation fractions are transformed internally using transform_odeparms so their estimators can more reasonably be expected to follow a normal distribution. This has the side effect that no constraints are needed in the optimisation. Thanks to René Lehmann for the nice cooperation on this, especially the isometric logration transformation that is now used for the formation fractions.
  • +vignette compiled_models. The autogeneration of C code was inspired by the ccSolve package. Thanks to Karline Soetaert for her work on that. +
  • By default, kinetic rate constants and kinetic formation fractions are transformed internally using transform_odeparms so their estimators can more reasonably be expected to follow a normal distribution. This has the side effect that no constraints are needed in the optimisation. Thanks to René Lehmann for the nice cooperation on this, especially the isometric logration transformation that is now used for the formation fractions.
  • A side effect of this is that when parameter estimates are backtransformed to match the model definition, confidence intervals calculated from standard errors are also backtransformed to the correct scale, and will not include meaningless values like negative rate constants or formation fractions adding up to more than 1, which can not occur in a single experiment with a single defined radiolabel position.
  • The usual one-sided t-test for significant difference from zero is nevertheless shown based on estimators for the untransformed parameters.
  • Summary and plotting functions. The summary of an mkinfit object is in fact a full report that should give enough information to be able to approximately reproduce the fit with other tools.
  • diff --git a/README.md b/README.md index e0bf54f0..e7263606 100644 --- a/README.md +++ b/README.md @@ -27,17 +27,17 @@ detailed guidance and helpful tools have been developed as detailed in ## Usage For a start, have a look a the code examples provided for -[`plot.mkinfit`](http://kinfit.r-forge.r-project.org/mkin_static/plot.mkinfit.html) +[`plot.mkinfit`](http://kinfit.r-forge.r-project.org/mkin_static/reference/plot.mkinfit.html) and -[`plot.mmkin`](http://kinfit.r-forge.r-project.org/mkin_static/plot.mmkin.html), and +[`plot.mmkin`](http://kinfit.r-forge.r-project.org/mkin_static/reference/plot.mmkin.html), and at the package vignettes -[`FOCUS L`](http://kinfit.r-forge.r-project.org/mkin_static/vignettes/FOCUS_L.html) and -[`FOCUS D`](http://kinfit.r-forge.r-project.org/mkin_static/vignettes/FOCUS_D.html). +[`FOCUS L`](http://kinfit.r-forge.r-project.org/mkin_static/articles/FOCUS_L.html) and +[`FOCUS D`](http://kinfit.r-forge.r-project.org/mkin_static/articles/FOCUS_D.html). ## Documentation -The [HTML documentation](http://jranke.github.io/mkin) is -maintained at the github project site. +The HTML documentation is available at [github](http://jranke.github.io/mkin) +and at [R-Forge](http://kinfit.r-forge.r-project.org/mkin_static/index.html). ## Features @@ -57,13 +57,13 @@ maintained at the github project site. using a numeric solver from the `deSolve` package (default is `lsoda`). * If a C compiler is installed, the kinetic models are compiled from automatically generated C code, see - [vignette `compiled_models`](http://kinfit.r-forge.r-project.org/mkin_static/vignettes/compiled_models.html). + [vignette `compiled_models`](http://kinfit.r-forge.r-project.org/mkin_static/articles/compiled_models.html). The autogeneration of C code was inspired by the [`ccSolve`](https://github.com/karlines/ccSolve) package. Thanks to Karline Soetaert for her work on that. * By default, kinetic rate constants and kinetic formation fractions are transformed internally using - [`transform_odeparms`](http://kinfit.r-forge.r-project.org/mkin_static/transform_odeparms.html) + [`transform_odeparms`](http://kinfit.r-forge.r-project.org/mkin_static/reference/transform_odeparms.html) so their estimators can more reasonably be expected to follow a normal distribution. This has the side effect that no constraints are needed in the optimisation. Thanks to René Lehmann for the nice diff --git a/_pkgdown.yml b/_pkgdown.yml index 5b13ba1b..325b1408 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -67,7 +67,7 @@ navbar: title: ~ type: default left: - - text: Function reference + - text: Functions and data href: reference/index.html - text: Articles menu: diff --git a/docs/articles/FOCUS_D.R b/docs/articles/FOCUS_D.R index 9eaf41f7..51723496 100644 --- a/docs/articles/FOCUS_D.R +++ b/docs/articles/FOCUS_D.R @@ -2,3 +2,23 @@ library(knitr) opts_chunk$set(tidy = FALSE, cache = TRUE) +## ----data---------------------------------------------------------------- +library("mkin") +print(FOCUS_2006_D) + +## ----model--------------------------------------------------------------- +SFO_SFO <- mkinmod(parent = mkinsub("SFO", "m1"), m1 = mkinsub("SFO")) +print(SFO_SFO$diffs) + +## ----fit----------------------------------------------------------------- +fit <- mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE) + +## ----plot, fig.height = 6, fig.width = 8--------------------------------- +plot_sep(fit, lpos = c("topright", "bottomright")) + +## ----plot_2, fig.height = 4, fig.width = 8------------------------------- +mkinparplot(fit) + +## ------------------------------------------------------------------------ +summary(fit) + diff --git a/docs/articles/FOCUS_D.html b/docs/articles/FOCUS_D.html index ad53126e..782a789d 100644 --- a/docs/articles/FOCUS_D.html +++ b/docs/articles/FOCUS_D.html @@ -16,7 +16,7 @@
    ## mkin version:    0.9.44.9000 
     ## R version:       3.3.2 
    -## Date of fit:     Fri Nov 18 16:48:11 2016 
    -## Date of summary: Fri Nov 18 16:48:11 2016 
    +## Date of fit:     Fri Nov 18 22:54:43 2016 
    +## Date of summary: Fri Nov 18 22:54:43 2016 
     ## 
     ## Equations:
     ## d_parent/dt = - k_parent_sink * parent
     ## 
     ## Model predictions using solution type analytical 
     ## 
    -## Fitted with method Port using 37 model solutions performed in 0.085 s
    +## Fitted with method Port using 37 model solutions performed in 0.09 s
     ## 
     ## Weighting: none
     ## 
    @@ -169,8 +169,8 @@ FOCUS_2006_L1_mkin <- 
    summary(m.L1.FOMC, data = FALSE)
    ## mkin version:    0.9.44.9000 
     ## R version:       3.3.2 
    -## Date of fit:     Fri Nov 18 16:48:12 2016 
    -## Date of summary: Fri Nov 18 16:48:12 2016 
    +## Date of fit:     Fri Nov 18 22:54:44 2016 
    +## Date of summary: Fri Nov 18 22:54:44 2016 
     ## 
     ## 
     ## Warning: Optimisation by method Port did not converge.
    @@ -182,7 +182,7 @@ FOCUS_2006_L1_mkin <-  
    summary(m.L2.FOMC, data = FALSE)
    ## mkin version:    0.9.44.9000 
     ## R version:       3.3.2 
    -## Date of fit:     Fri Nov 18 16:48:13 2016 
    -## Date of summary: Fri Nov 18 16:48:13 2016 
    +## Date of fit:     Fri Nov 18 22:54:44 2016 
    +## Date of summary: Fri Nov 18 22:54:44 2016 
     ## 
     ## Equations:
     ## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent
     ## 
     ## Model predictions using solution type analytical 
     ## 
    -## Fitted with method Port using 81 model solutions performed in 0.196 s
    +## Fitted with method Port using 81 model solutions performed in 0.184 s
     ## 
     ## Weighting: none
     ## 
    @@ -336,8 +336,8 @@ FOCUS_2006_L2_mkin <- 
    summary(m.L2.DFOP, data = FALSE)
    ## mkin version:    0.9.44.9000 
     ## R version:       3.3.2 
    -## Date of fit:     Fri Nov 18 16:48:14 2016 
    -## Date of summary: Fri Nov 18 16:48:14 2016 
    +## Date of fit:     Fri Nov 18 22:54:45 2016 
    +## Date of summary: Fri Nov 18 22:54:46 2016 
     ## 
     ## Equations:
     ## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) *
    @@ -346,7 +346,7 @@ FOCUS_2006_L2_mkin <-  
    summary(mm.L3[["DFOP", 1]])
    ## mkin version:    0.9.44.9000 
     ## R version:       3.3.2 
    -## Date of fit:     Fri Nov 18 16:48:15 2016 
    -## Date of summary: Fri Nov 18 16:48:15 2016 
    +## Date of fit:     Fri Nov 18 22:54:47 2016 
    +## Date of summary: Fri Nov 18 22:54:47 2016 
     ## 
     ## Equations:
     ## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) *
    @@ -435,7 +435,7 @@ mm.L3 <-  
    summary(mm.L4[["SFO", 1]], data = FALSE)
    ## mkin version:    0.9.44.9000 
     ## R version:       3.3.2 
    -## Date of fit:     Fri Nov 18 16:48:15 2016 
    -## Date of summary: Fri Nov 18 16:48:16 2016 
    +## Date of fit:     Fri Nov 18 22:54:47 2016 
    +## Date of summary: Fri Nov 18 22:54:48 2016 
     ## 
     ## Equations:
     ## d_parent/dt = - k_parent_sink * parent
     ## 
     ## Model predictions using solution type analytical 
     ## 
    -## Fitted with method Port using 46 model solutions performed in 0.107 s
    +## Fitted with method Port using 46 model solutions performed in 0.108 s
     ## 
     ## Weighting: none
     ## 
    @@ -585,15 +585,15 @@ mm.L4 <- 
    summary(mm.L4[["FOMC", 1]], data = FALSE)
    ## mkin version:    0.9.44.9000 
     ## R version:       3.3.2 
    -## Date of fit:     Fri Nov 18 16:48:16 2016 
    -## Date of summary: Fri Nov 18 16:48:16 2016 
    +## Date of fit:     Fri Nov 18 22:54:47 2016 
    +## Date of summary: Fri Nov 18 22:54:48 2016 
     ## 
     ## Equations:
     ## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent
     ## 
     ## Model predictions using solution type analytical 
     ## 
    -## Fitted with method Port using 66 model solutions performed in 0.15 s
    +## Fitted with method Port using 66 model solutions performed in 0.145 s
     ## 
     ## Weighting: none
     ## 
    diff --git a/docs/articles/FOCUS_Z.pdf b/docs/articles/FOCUS_Z.pdf
    index 6f8929ea..d8bfd68c 100644
    Binary files a/docs/articles/FOCUS_Z.pdf and b/docs/articles/FOCUS_Z.pdf differ
    diff --git a/docs/articles/compiled_models.html b/docs/articles/compiled_models.html
    index 31340867..87913685 100644
    --- a/docs/articles/compiled_models.html
    +++ b/docs/articles/compiled_models.html
    @@ -16,7 +16,7 @@
         
         
    ## mkin version:    0.9.44.9000 
     ## R version:       3.3.2 
    -## Date of fit:     Thu Nov 17 18:44:25 2016 
    -## Date of summary: Thu Nov 17 18:44:25 2016 
    +## Date of fit:     Fri Nov 18 22:48:55 2016 
    +## Date of summary: Fri Nov 18 22:48:55 2016 
     ## 
     ## Equations:
     ## d_parent/dt = - k_parent_sink * parent
     ## 
     ## Model predictions using solution type analytical 
     ## 
    -## Fitted with method Port using 37 model solutions performed in 0.088 s
    +## Fitted with method Port using 37 model solutions performed in 0.087 s
     ## 
     ## Weighting: none
     ## 
    @@ -337,8 +337,8 @@ summary(m.L1.SFO)
    summary(m.L1.FOMC, data = FALSE)
    ## mkin version:    0.9.44.9000 
     ## R version:       3.3.2 
    -## Date of fit:     Thu Nov 17 18:44:26 2016 
    -## Date of summary: Thu Nov 17 18:44:26 2016 
    +## Date of fit:     Fri Nov 18 22:48:55 2016 
    +## Date of summary: Fri Nov 18 22:48:55 2016 
     ## 
     ## 
     ## Warning: Optimisation by method Port did not converge.
    @@ -350,7 +350,7 @@ summary(m.L1.SFO)
    ## ## Model predictions using solution type analytical ## -## Fitted with method Port using 188 model solutions performed in 0.431 s +## Fitted with method Port using 188 model solutions performed in 0.413 s ## ## Weighting: none ## @@ -434,15 +434,15 @@ plot(m.L2.FOMC, show_residuals = TRUE,
    summary(m.L2.FOMC, data = FALSE)
    ## mkin version:    0.9.44.9000 
     ## R version:       3.3.2 
    -## Date of fit:     Thu Nov 17 18:44:26 2016 
    -## Date of summary: Thu Nov 17 18:44:26 2016 
    +## Date of fit:     Fri Nov 18 22:48:56 2016 
    +## Date of summary: Fri Nov 18 22:48:56 2016 
     ## 
     ## Equations:
     ## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent
     ## 
     ## Model predictions using solution type analytical 
     ## 
    -## Fitted with method Port using 81 model solutions performed in 0.18 s
    +## Fitted with method Port using 81 model solutions performed in 0.177 s
     ## 
     ## Weighting: none
     ## 
    @@ -504,8 +504,8 @@ plot(m.L2.DFOP, show_residuals = TRUE, show_errmin = TRUE,
     
    summary(m.L2.DFOP, data = FALSE)
    ## mkin version:    0.9.44.9000 
     ## R version:       3.3.2 
    -## Date of fit:     Thu Nov 17 18:44:27 2016 
    -## Date of summary: Thu Nov 17 18:44:27 2016 
    +## Date of fit:     Fri Nov 18 22:48:57 2016 
    +## Date of summary: Fri Nov 18 22:48:57 2016 
     ## 
     ## Equations:
     ## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) *
    @@ -514,7 +514,7 @@ plot(m.L2.DFOP, show_residuals = TRUE, show_errmin = TRUE,
     ## 
     ## Model predictions using solution type analytical 
     ## 
    -## Fitted with method Port using 336 model solutions performed in 0.768 s
    +## Fitted with method Port using 336 model solutions performed in 0.747 s
     ## 
     ## Weighting: none
     ## 
    @@ -593,8 +593,8 @@ plot(mm.L3)
    summary(mm.L3[["DFOP", 1]])
    ## mkin version:    0.9.44.9000 
     ## R version:       3.3.2 
    -## Date of fit:     Thu Nov 17 18:44:28 2016 
    -## Date of summary: Thu Nov 17 18:44:28 2016 
    +## Date of fit:     Fri Nov 18 22:48:57 2016 
    +## Date of summary: Fri Nov 18 22:48:57 2016 
     ## 
     ## Equations:
     ## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) *
    @@ -603,7 +603,7 @@ plot(mm.L3)
    ## ## Model predictions using solution type analytical ## -## Fitted with method Port using 137 model solutions performed in 0.313 s +## Fitted with method Port using 137 model solutions performed in 0.307 s ## ## Weighting: none ## @@ -693,15 +693,15 @@ plot(mm.L4)
    summary(mm.L4[["SFO", 1]], data = FALSE)
    ## mkin version:    0.9.44.9000 
     ## R version:       3.3.2 
    -## Date of fit:     Thu Nov 17 18:44:28 2016 
    -## Date of summary: Thu Nov 17 18:44:29 2016 
    +## Date of fit:     Fri Nov 18 22:48:58 2016 
    +## Date of summary: Fri Nov 18 22:48:58 2016 
     ## 
     ## Equations:
     ## d_parent/dt = - k_parent_sink * parent
     ## 
     ## Model predictions using solution type analytical 
     ## 
    -## Fitted with method Port using 46 model solutions performed in 0.1 s
    +## Fitted with method Port using 46 model solutions performed in 0.098 s
     ## 
     ## Weighting: none
     ## 
    @@ -753,15 +753,15 @@ plot(mm.L4)
    summary(mm.L4[["FOMC", 1]], data = FALSE)
    ## mkin version:    0.9.44.9000 
     ## R version:       3.3.2 
    -## Date of fit:     Thu Nov 17 18:44:28 2016 
    -## Date of summary: Thu Nov 17 18:44:29 2016 
    +## Date of fit:     Fri Nov 18 22:48:58 2016 
    +## Date of summary: Fri Nov 18 22:48:58 2016 
     ## 
     ## Equations:
     ## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent
     ## 
     ## Model predictions using solution type analytical 
     ## 
    -## Fitted with method Port using 66 model solutions performed in 0.152 s
    +## Fitted with method Port using 66 model solutions performed in 0.142 s
     ## 
     ## Weighting: none
     ## 
    diff --git a/vignettes/FOCUS_Z.pdf b/vignettes/FOCUS_Z.pdf
    index 6f8929ea..d8bfd68c 100644
    Binary files a/vignettes/FOCUS_Z.pdf and b/vignettes/FOCUS_Z.pdf differ
    diff --git a/vignettes/compiled_models.html b/vignettes/compiled_models.html
    index 2cb73ac7..c9501b11 100644
    --- a/vignettes/compiled_models.html
    +++ b/vignettes/compiled_models.html
    @@ -11,7 +11,7 @@
     
     
     
    -
    +
     
     Performance benefit by using compiled model definitions in mkin
     
    @@ -24,7 +24,7 @@
     
     
     
    -
    +
     
     
     
    @@ -187,8 +187,9 @@ div.tocify {
     }
     
     .tocify-subheader .tocify-item {
    -  font-size: 0.9em;
    -  padding-left: 5px;
    +  font-size: 0.90em;
    +  padding-left: 25px;
    +  text-indent: 0;
     }
     
     .tocify .list-group-item {
    @@ -216,7 +217,7 @@ div.tocify {
     
     

    Performance benefit by using compiled model definitions in mkin

    Johannes Ranke

    -

    2016-11-17

    +

    2016-11-18

    @@ -257,21 +258,21 @@ mb.1 <- microbenchmark( print(mb.1)
    ## Unit: milliseconds
     ##                   expr       min        lq      mean    median        uq
    -##  deSolve, not compiled 4925.0009 4957.6694 4974.0652 4990.3379 4998.5974
    -##       Eigenvalue based  838.9741  839.6651  857.4679  840.3561  866.7149
    -##      deSolve, compiled  695.5858  709.3905  717.8062  723.1951  728.9163
    +##  deSolve, not compiled 4919.3703 4922.1463 4957.6695 4924.9224 4976.8191
    +##       Eigenvalue based  824.0317  840.7962  861.2648  857.5608  879.8813
    +##      deSolve, compiled  691.8755  701.7453  706.2023  711.6151  713.3657
     ##        max neval cld
    -##  5006.8569     3   c
    -##   893.0736     3  b 
    -##   734.6375     3 a
    +## 5028.7158 3 c +## 902.2019 3 b +## 715.1164 3 a
    autoplot(mb.1)
    -

    +

    We see that using the compiled model is by a factor of 6.9 faster than using the R version with the default ode solver, and it is even faster than the Eigenvalue based solution implemented in R which does not need iterative solution of the ODEs:

    rownames(smb.1) <- smb.1$expr
     smb.1["median"]/smb.1["deSolve, compiled", "median"]
    ##                         median
    -## deSolve, not compiled 6.900403
    -## Eigenvalue based      1.162005
    +## deSolve, not compiled 6.920767
    +## Eigenvalue based      1.205091
     ## deSolve, compiled     1.000000
    @@ -292,19 +293,19 @@ smb.1["median"]/smb.1["deSolve, compiled", "median"
    smb.2 <- summary(mb.2)
     print(mb.2)
    ## Unit: seconds
    -##                   expr       min        lq      mean    median       uq
    -##  deSolve, not compiled 10.905262 11.007527 11.335389 11.109791 11.55045
    -##      deSolve, compiled  1.297428  1.304999  1.327356  1.312569  1.34232
    +##                   expr       min        lq      mean    median        uq
    +##  deSolve, not compiled 10.667049 10.692450 10.719555 10.717851 10.745808
    +##      deSolve, compiled  1.279783  1.280014  1.281444  1.280244  1.282274
     ##        max neval cld
    -##  11.991114     3   b
    -##   1.372071     3  a
    +## 10.773765 3 b +## 1.284305 3 a
    smb.2["median"]/smb.2["deSolve, compiled", "median"]
    ##   median
     ## 1     NA
     ## 2     NA
    autoplot(mb.2)
    -

    -

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

    +

    +

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

    This vignette was built with mkin 0.9.44.9000 on

    ## R version 3.3.2 (2016-10-31)
     ## Platform: x86_64-pc-linux-gnu (64-bit)
    -- 
    cgit v1.2.1