aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Ranke <jranke@uni-bremen.de>2018-07-04 08:50:43 +0200
committerJohannes Ranke <jranke@uni-bremen.de>2018-07-04 08:50:43 +0200
commit94b9a6980dce02c7c32c3bc3b61aad61a3ce3151 (patch)
tree6c1ddd37ea4f6e7e9c893a9e66bb005c66f5adff
parent0b27c116b44d09460f3151b87762193d67d3b09e (diff)
Improve IORE fitting, use 1.1 as N starting value
-rw-r--r--DESCRIPTION4
-rw-r--r--NEWS.md4
-rw-r--r--R/mkinfit.R5
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),

Contact - Imprint