From 94b9a6980dce02c7c32c3bc3b61aad61a3ce3151 Mon Sep 17 00:00:00 2001 From: Johannes Ranke Date: Wed, 4 Jul 2018 08:50:43 +0200 Subject: Improve IORE fitting, use 1.1 as N starting value --- DESCRIPTION | 4 ++-- NEWS.md | 4 ++++ R/mkinfit.R | 5 ++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 7158f2e0..10f2b948 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,8 +1,8 @@ Package: mkin Type: Package Title: Kinetic Evaluation of Chemical Degradation Data -Version: 0.9.47.1 -Date: 2018-01-30 +Version: 0.9.47.2 +Date: 2018-07-04 Authors@R: c(person("Johannes", "Ranke", role = c("aut", "cre", "cph"), email = "jranke@uni-bremen.de", comment = c(ORCID = "0000-0003-4371-6538")), diff --git a/NEWS.md b/NEWS.md index b476c663..bee80efb 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,7 @@ +# mkin 0.9.47.2 + +- 'mkinfit': Use 1.1 as starting value for N parameter of IORE models to obtain convergence in more difficult cases. Show parameter names when 'trace_parms' is 'TRUE'. + # mkin 0.9.47.1 (2018-02-06) - Skip some test on CRAN and winbuilder to avoid timeouts diff --git a/R/mkinfit.R b/R/mkinfit.R index c471b01c..840faf53 100644 --- a/R/mkinfit.R +++ b/R/mkinfit.R @@ -145,7 +145,7 @@ mkinfit <- function(mkinmod, observed, if (grepl("free_bound$", parmname)) parms.ini[parmname] = 0.1 if (grepl("bound_free$", parmname)) parms.ini[parmname] = 0.02 # Default values for IORE exponents - if (grepl("^N", parmname)) parms.ini[parmname] = 1 + if (grepl("^N", parmname)) parms.ini[parmname] = 1.1 # Default values for the FOMC, DFOP and HS models if (parmname == "alpha") parms.ini[parmname] = 1 if (parmname == "beta") parms.ini[parmname] = 10 @@ -389,6 +389,9 @@ mkinfit <- function(mkinmod, observed, upper[other_fraction_parms] <- 1 } + # Show parameter names if tracing is requested + if(trace_parms) cat(names(c(state.ini.optim, transparms.optim)), "\n") + # Do the fit and take the time fit_time <- system.time({ fit <- modFit(cost, c(state.ini.optim, transparms.optim), -- cgit v1.2.1