From 20b9c584e7c43ecbb708459e531c24a1a4751e17 Mon Sep 17 00:00:00 2001
From: Johannes Ranke
Date: Sat, 9 Nov 2019 01:05:51 +0100
Subject: Add a lack-of-fit test
- Switch an example dataset in the test setup to a dataset with
replicates, adapt tests
- Skip the test for lrtest with an update specification as it does not
only fail when pkgdown generates static help pages, but also in testthat
---
man/loftest.Rd | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 81 insertions(+)
create mode 100644 man/loftest.Rd
(limited to 'man')
diff --git a/man/loftest.Rd b/man/loftest.Rd
new file mode 100644
index 00000000..397b5c08
--- /dev/null
+++ b/man/loftest.Rd
@@ -0,0 +1,81 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/loftest.R
+\name{loftest}
+\alias{loftest}
+\alias{loftest.mkinfit}
+\title{Lack-of-fit test for models fitted to data with replicates}
+\usage{
+loftest(object, ...)
+
+\method{loftest}{mkinfit}(object, ...)
+}
+\arguments{
+\item{object}{A model object with a defined loftest method}
+
+\item{\dots}{Not used}
+}
+\description{
+This is a generic function with a method currently only defined for mkinfit
+objects. It fits an anova model to the data contained in the object and
+compares the likelihoods using the likelihood ratio test
+\code{\link[lmtest]{lrtest.default}} from the lmtest package.
+}
+\details{
+The anova model is interpreted as the simplest form of an mkinfit model,
+assuming only a constant variance about the means, but not enforcing any
+structure of the means, so we have one model parameter for every mean
+of replicate samples.
+}
+\examples{
+\dontrun{
+test_data <- subset(synthetic_data_for_UBA_2014[[12]]$data, name == "parent")
+sfo_fit <- mkinfit("SFO", test_data, quiet = TRUE)
+plot_res(sfo_fit) # We see a clear pattern in the residuals
+loftest(sfo_fit) # We have a clear lack of fit
+#
+# We try a different model (the one that was used to generate the data)
+dfop_fit <- mkinfit("DFOP", test_data, quiet = TRUE)
+plot_res(dfop_fit) # We don't see systematic deviations, but heteroscedastic residuals
+# therefore we should consider adapting the error model, although we have
+loftest(dfop_fit) # no lack of fit
+#
+# This is the anova model used internally for the comparison
+test_data_anova <- test_data
+test_data_anova$time <- as.factor(test_data_anova$time)
+anova_fit <- lm(value ~ time, data = test_data_anova)
+summary(anova_fit)
+logLik(anova_fit) # We get the same likelihood and degrees of freedom
+#
+test_data_2 <- synthetic_data_for_UBA_2014[[12]]$data
+m_synth_SFO_lin <- mkinmod(parent = list(type = "SFO", to = "M1"),
+ M1 = list(type = "SFO", to = "M2"),
+ M2 = list(type = "SFO"), use_of_ff = "max")
+sfo_lin_fit <- mkinfit(m_synth_SFO_lin, test_data_2, quiet = TRUE)
+plot_res(sfo_lin_fit) # not a good model, we try parallel formation
+loftest(sfo_lin_fit)
+#
+m_synth_SFO_par <- mkinmod(parent = list(type = "SFO", to = c("M1", "M2")),
+ M1 = list(type = "SFO"),
+ M2 = list(type = "SFO"), use_of_ff = "max")
+sfo_par_fit <- mkinfit(m_synth_SFO_par, test_data_2, quiet = TRUE)
+plot_res(sfo_par_fit) # much better for metabolites
+loftest(sfo_par_fit)
+#
+m_synth_DFOP_par <- mkinmod(parent = list(type = "DFOP", to = c("M1", "M2")),
+ M1 = list(type = "SFO"),
+ M2 = list(type = "SFO"), use_of_ff = "max")
+dfop_par_fit <- mkinfit(m_synth_DFOP_par, test_data_2, quiet = TRUE)
+plot_res(dfop_par_fit) # No visual lack of fit
+loftest(dfop_par_fit) # no lack of fit found by the test
+#
+# The anova model used for comparison in the case of transformation products
+test_data_anova_2 <- dfop_par_fit$data
+test_data_anova_2$variable <- as.factor(test_data_anova_2$variable)
+test_data_anova_2$time <- as.factor(test_data_anova_2$time)
+anova_fit_2 <- lm(observed ~ time:variable - 1, data = test_data_anova_2)
+summary(anova_fit_2)
+}
+}
+\seealso{
+lrtest
+}
--
cgit v1.2.3
From f6385b071cee2c261da28bf98fd1599da1a30ddb Mon Sep 17 00:00:00 2001
From: Johannes Ranke
Date: Wed, 13 Nov 2019 11:05:39 +0100
Subject: Likelihood ratio test for mmkin columns with two fits
---
NAMESPACE | 1 +
R/lrtest.mkinfit.R | 5 ++---
docs/reference/index.html | 2 +-
docs/reference/lrtest.mkinfit.html | 8 ++++++--
man/lrtest.mkinfit.Rd | 6 +++++-
5 files changed, 15 insertions(+), 7 deletions(-)
(limited to 'man')
diff --git a/NAMESPACE b/NAMESPACE
index f428a612..e561621b 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -7,6 +7,7 @@ S3method(confint,mkinfit)
S3method(loftest,mkinfit)
S3method(logLik,mkinfit)
S3method(lrtest,mkinfit)
+S3method(lrtest,mmkin)
S3method(mkinpredict,mkinfit)
S3method(mkinpredict,mkinmod)
S3method(nobs,mkinfit)
diff --git a/R/lrtest.mkinfit.R b/R/lrtest.mkinfit.R
index 380cf3a5..0054ea88 100644
--- a/R/lrtest.mkinfit.R
+++ b/R/lrtest.mkinfit.R
@@ -18,10 +18,9 @@ lmtest::lrtest
#' parameters (alternative hypothesis) is listed first, then the model with the
#' lower number of fitted parameters (null hypothesis).
#'
-#' The method for mmkin objects only works for column objects with two members.
-#'
#' @importFrom stats logLik update
-#' @param object An \code{\link{mkinfit}} object
+#' @param object An \code{\link{mkinfit}} object, or an \code{\link{mmkin}} column
+#' object containing two fits to the same data.
#' @param object_2 Optionally, another mkinfit object fitted to the same data.
#' @param \dots Argument to \code{\link{mkinfit}}, passed to
#' \code{\link{update.mkinfit}} for creating the alternative fitted object.
diff --git a/docs/reference/index.html b/docs/reference/index.html
index 0947ff94..4398469b 100644
--- a/docs/reference/index.html
+++ b/docs/reference/index.html
@@ -209,7 +209,7 @@ more datasets
diff --git a/docs/reference/lrtest.mkinfit.html b/docs/reference/lrtest.mkinfit.html
index 1d82eb74..70157db9 100644
--- a/docs/reference/lrtest.mkinfit.html
+++ b/docs/reference/lrtest.mkinfit.html
@@ -145,14 +145,18 @@ and can be expressed by fixing the parameters of the other.
# S3 method for mkinfit
-lrtest(object, object_2=NULL, ...)
An mkinfit object, or an mmkin column
+object containing two fits to the same data.
object_2
diff --git a/man/lrtest.mkinfit.Rd b/man/lrtest.mkinfit.Rd
index bc8ab4dc..84d7bc99 100644
--- a/man/lrtest.mkinfit.Rd
+++ b/man/lrtest.mkinfit.Rd
@@ -2,12 +2,16 @@
% Please edit documentation in R/lrtest.mkinfit.R
\name{lrtest.mkinfit}
\alias{lrtest.mkinfit}
+\alias{lrtest.mmkin}
\title{Likelihood ratio test for mkinfit models}
\usage{
\method{lrtest}{mkinfit}(object, object_2 = NULL, ...)
+
+\method{lrtest}{mmkin}(object, ...)
}
\arguments{
-\item{object}{An \code{\link{mkinfit}} object}
+\item{object}{An \code{\link{mkinfit}} object, or an \code{\link{mmkin}} column
+object containing two fits to the same data.}
\item{object_2}{Optionally, another mkinfit object fitted to the same data.}
--
cgit v1.2.3
From c3700bec3a704660d3ade7a54c56b7084beb02b4 Mon Sep 17 00:00:00 2001
From: Johannes Ranke
Date: Wed, 13 Nov 2019 21:15:35 +0100
Subject: Calculate Akaike weights
---
NAMESPACE | 3 +
NEWS.md | 2 +
R/aw.R | 60 +++++++++++
_pkgdown.yml | 1 +
docs/news/index.html | 1 +
docs/reference/aw.html | 214 ++++++++++++++++++++++++++++++++++++++++
docs/reference/index.html | 6 ++
docs/sitemap.xml | 3 +
man/aw.Rd | 47 +++++++++
test.log | 21 ++--
tests/testthat/FOCUS_2006_D.csf | 2 +-
tests/testthat/test_aw.R | 12 +++
12 files changed, 361 insertions(+), 11 deletions(-)
create mode 100644 R/aw.R
create mode 100644 docs/reference/aw.html
create mode 100644 man/aw.Rd
create mode 100644 tests/testthat/test_aw.R
(limited to 'man')
diff --git a/NAMESPACE b/NAMESPACE
index e561621b..26995055 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -3,6 +3,8 @@
S3method("[",mmkin)
S3method(AIC,mmkin)
S3method(BIC,mmkin)
+S3method(aw,mkinfit)
+S3method(aw,mmkin)
S3method(confint,mkinfit)
S3method(loftest,mkinfit)
S3method(logLik,mkinfit)
@@ -30,6 +32,7 @@ export(IORE.solution)
export(SFO.solution)
export(SFORB.solution)
export(add_err)
+export(aw)
export(backtransform_odeparms)
export(endpoints)
export(ilr)
diff --git a/NEWS.md b/NEWS.md
index 965105f4..28cf76ad 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,5 +1,7 @@
# mkin 0.9.49.8 (unreleased)
+- 'aw': Generic function for calculating Akaike weights, methods for mkinfit objects and mmkin columns
+
- 'loftest': Add a lack-of-fit test
- 'plot_res', 'plot_sep' and 'mkinerrplot': Add the possibility to show standardized residuals and make it the default for fits with error models other than 'const'
diff --git a/R/aw.R b/R/aw.R
new file mode 100644
index 00000000..24078f38
--- /dev/null
+++ b/R/aw.R
@@ -0,0 +1,60 @@
+#' Calculate Akaike weights for model averaging
+#'
+#' Akaike weights are calculated based on the relative
+#' expected Kullback-Leibler information as specified
+#' by Burnham and Anderson (2004).
+#'
+#' @param object An mmkin column object, containing two or more
+#' \code{\link{mkinfit}} models that have been fitted to the same data,
+#' or an mkinfit object. In the latter case, further mkinfit
+#' objects fitted to the same data should be specified
+#' as dots arguments.
+#' @param \dots Not used in the method for mmkin column objects,
+#' further mkinfit objects in the method for mkinfit objects.
+#' @references Burnham KP and Anderson DR (2004) Multimodel
+#' Inference: Understanding AIC and BIC in Model Selection
+#' Sociological Methods & Research 33(2) 261-304
+#' @examples
+#' \dontrun{
+#' f_sfo <- mkinfit("SFO", FOCUS_2006_D, quiet = TRUE)
+#' f_dfop <- mkinfit("DFOP", FOCUS_2006_D, quiet = TRUE)
+#' aw_sfo_dfop <- aw(f_sfo, f_dfop)
+#' sum(aw_sfo_dfop)
+#' aw_sfo_dfop # SFO gets more weight as it has less parameters and a similar fit
+#' f <- mmkin(c("SFO", "FOMC", "DFOP"), list("FOCUS D" = FOCUS_2006_D), cores = 1, quiet = TRUE)
+#' aw(f)
+#' sum(aw(f))
+#' aw(f[c("SFO", "DFOP")])
+#' }
+#' @export
+aw <- function(object, ...) UseMethod("aw")
+
+#' @export
+#' @rdname aw
+aw.mkinfit <- function(object, ...) {
+ oo <- list(...)
+ data_object <- object$data[c("time", "variable", "observed")]
+ for (i in seq_along(oo)) {
+ if (!inherits(oo[[i]], "mkinfit")) stop("Please supply only mkinfit objects")
+ data_other_object <- oo[[i]]$data[c("time", "variable", "observed")]
+ if (!identical(data_object, data_other_object)) {
+ stop("It seems that the mkinfit objects have not all been fitted to the same data")
+ }
+ }
+ all_objects <- list(object, ...)
+ AIC_all <- sapply(all_objects, AIC)
+ delta_i <- AIC_all - min(AIC_all)
+ denom <- sum(exp(-delta_i/2))
+ w_i <- exp(-delta_i/2) / denom
+ return(w_i)
+}
+
+#' @export
+#' @rdname aw
+aw.mmkin <- function(object, ...) {
+ if (ncol(object) > 1) stop("Please supply an mmkin column object")
+ do.call(aw, object)
+}
+
+
+
diff --git a/_pkgdown.yml b/_pkgdown.yml
index c298256f..6bb05b3e 100644
--- a/_pkgdown.yml
+++ b/_pkgdown.yml
@@ -25,6 +25,7 @@ reference:
- loftest
- mkinerrmin
- endpoints
+ - aw
- CAKE_export
- title: Work with mmkin objects
desc: Functions working with aggregated results
diff --git a/docs/news/index.html b/docs/news/index.html
index 9aa2e18b..6b0b89fa 100644
--- a/docs/news/index.html
+++ b/docs/news/index.html
@@ -134,6 +134,7 @@
mkin 0.9.49.8 (unreleased) Unreleased
+
‘aw’: Generic function for calculating Akaike weights, methods for mkinfit objects and mmkin columns
‘loftest’: Add a lack-of-fit test
‘plot_res’, ‘plot_sep’ and ‘mkinerrplot’: Add the possibility to show standardized residuals and make it the default for fits with error models other than ‘const’
‘lrtest.mkinfit’: Improve naming of the compared fits in the case of fixed parameters
Akaike weights are calculated based on the relative
+expected Kullback-Leibler information as specified
+by Burnham and Anderson (2004).
+
+
+
aw(object, ...)
+
+# S3 method for mkinfit
+aw(object, ...)
+
+# S3 method for mmkin
+aw(object, ...)
+
+
Arguments
+
+
+
+
object
+
An mmkin column object, containing two or more
+mkinfit models that have been fitted to the same data,
+or an mkinfit object. In the latter case, further mkinfit
+objects fitted to the same data should be specified
+as dots arguments.
+
+
+
...
+
Not used in the method for mmkin column objects,
+further mkinfit objects in the method for mkinfit objects.
+
+
+
+
References
+
+
Burnham KP and Anderson DR (2004) Multimodel
+ Inference: Understanding AIC and BIC in Model Selection
+ Sociological Methods & Research 33(2) 261-304
diff --git a/docs/sitemap.xml b/docs/sitemap.xml
index 66b776b2..a8d6dfa4 100644
--- a/docs/sitemap.xml
+++ b/docs/sitemap.xml
@@ -54,6 +54,9 @@
https://pkgdown.jrwb.de/mkin/reference/add_err.html
+
+ https://pkgdown.jrwb.de/mkin/reference/aw.html
+ https://pkgdown.jrwb.de/mkin/reference/confint.mkinfit.html
diff --git a/man/aw.Rd b/man/aw.Rd
new file mode 100644
index 00000000..f0994b94
--- /dev/null
+++ b/man/aw.Rd
@@ -0,0 +1,47 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/aw.R
+\name{aw}
+\alias{aw}
+\alias{aw.mkinfit}
+\alias{aw.mmkin}
+\title{Calculate Akaike weights for model averaging}
+\usage{
+aw(object, ...)
+
+\method{aw}{mkinfit}(object, ...)
+
+\method{aw}{mmkin}(object, ...)
+}
+\arguments{
+\item{object}{An mmkin column object, containing two or more
+\code{\link{mkinfit}} models that have been fitted to the same data,
+or an mkinfit object. In the latter case, further mkinfit
+objects fitted to the same data should be specified
+as dots arguments.}
+
+\item{\dots}{Not used in the method for mmkin column objects,
+further mkinfit objects in the method for mkinfit objects.}
+}
+\description{
+Akaike weights are calculated based on the relative
+expected Kullback-Leibler information as specified
+by Burnham and Anderson (2004).
+}
+\examples{
+\dontrun{
+f_sfo <- mkinfit("SFO", FOCUS_2006_D, quiet = TRUE)
+f_dfop <- mkinfit("DFOP", FOCUS_2006_D, quiet = TRUE)
+aw_sfo_dfop <- aw(f_sfo, f_dfop)
+sum(aw_sfo_dfop)
+aw_sfo_dfop # SFO gets more weight as it has less parameters and a similar fit
+f <- mmkin(c("SFO", "FOMC", "DFOP"), list("FOCUS D" = FOCUS_2006_D), cores = 1, quiet = TRUE)
+aw(f)
+sum(aw(f))
+aw(f[c("SFO", "DFOP")])
+}
+}
+\references{
+Burnham KP and Anderson DR (2004) Multimodel
+ Inference: Understanding AIC and BIC in Model Selection
+ Sociological Methods & Research 33(2) 261-304
+}
diff --git a/test.log b/test.log
index bc6d26ae..c51d06b8 100644
--- a/test.log
+++ b/test.log
@@ -1,11 +1,12 @@
Loading mkin
Testing mkin
✔ | OK F W S | Context
+✔ | 5 | Calculation of Akaike weights
✔ | 2 | Export dataset for reading into CAKE
-✔ | 10 | Confidence intervals and p-values [10.1 s]
-✔ | 14 | Error model fitting [40.5 s]
+✔ | 10 | Confidence intervals and p-values [9.7 s]
+✔ | 14 | Error model fitting [36.9 s]
✔ | 4 | Calculation of FOCUS chi2 error levels [2.2 s]
-✔ | 13 | Results for FOCUS D established in expertise for UBA (Ranke 2014) [3.4 s]
+✔ | 13 | Results for FOCUS D established in expertise for UBA (Ranke 2014) [3.3 s]
✔ | 6 | Test fitting the decline of metabolites from their maximum [0.7 s]
✔ | 1 | Fitting the logistic model [0.9 s]
✔ | 1 | Test dataset class mkinds used in gmkin
@@ -18,20 +19,20 @@ Testing mkin
✔ | 11 | Plotting [0.6 s]
✔ | 4 | AIC calculation
✔ | 2 | Residuals extracted from mkinfit models
-✔ | 2 | Complex test case from Schaefer et al. (2007) Piacenza paper [5.6 s]
-✔ | 4 | Fitting the SFORB model [1.8 s]
+✔ | 2 | Complex test case from Schaefer et al. (2007) Piacenza paper [5.3 s]
+✔ | 4 | Fitting the SFORB model [1.7 s]
✔ | 1 | Summaries of old mkinfit objects
-✔ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014) [7.5 s]
-✔ | 7 1 | Hypothesis tests [34.1 s]
+✔ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014) [7.2 s]
+✔ | 7 1 | Hypothesis tests [32.3 s]
────────────────────────────────────────────────────────────────────────────────
-test_tests.R:59: skip: We can do a likelihood ratio test using an update specification
+test_tests.R:60: skip: We can do a likelihood ratio test using an update specification
Reason: This errors out if called by testthat while it works in a normal R session
────────────────────────────────────────────────────────────────────────────────
══ Results ═════════════════════════════════════════════════════════════════════
-Duration: 116.9 s
+Duration: 110.2 s
-OK: 133
+OK: 138
Failed: 0
Warnings: 0
Skipped: 1
diff --git a/tests/testthat/FOCUS_2006_D.csf b/tests/testthat/FOCUS_2006_D.csf
index 09940aa3..358b50e3 100644
--- a/tests/testthat/FOCUS_2006_D.csf
+++ b/tests/testthat/FOCUS_2006_D.csf
@@ -5,7 +5,7 @@ Description:
MeasurementUnits: % AR
TimeUnits: days
Comments: Created using mkin::CAKE_export
-Date: 2019-11-09
+Date: 2019-11-13
Optimiser: IRLS
[Data]
diff --git a/tests/testthat/test_aw.R b/tests/testthat/test_aw.R
new file mode 100644
index 00000000..0a493893
--- /dev/null
+++ b/tests/testthat/test_aw.R
@@ -0,0 +1,12 @@
+context("Calculation of Akaike weights")
+
+test_that("Akaike weights sum to one", {
+ skip_on_cran()
+ aw_1 <- aw(fit_nw_1, fit_obs_1, fit_tc_1)
+ expect_error(aw(fit_nw_1, f_2_mkin), "same data")
+ expect_error(aw(fit_nw_1, 3), "mkinfit objects")
+ expect_equal(sum(aw_1), 1)
+ aw_2 <- aw(fits[c("SFO", "DFOP"), "FOCUS_D"])
+ expect_equal(sum(aw_2), 1)
+ expect_error(aw(fits), "mmkin column object")
+})
--
cgit v1.2.3
From 51535c943d2846bc73ad69a11909aac606996b7d Mon Sep 17 00:00:00 2001
From: Johannes Ranke
Date: Wed, 13 Nov 2019 22:16:43 +0100
Subject: Improve formatting using markdown
---
R/aw.R | 16 +++++++---------
docs/reference/aw.html | 12 ++++++------
man/aw.Rd | 12 ++++++------
3 files changed, 19 insertions(+), 21 deletions(-)
(limited to 'man')
diff --git a/R/aw.R b/R/aw.R
index 24078f38..f46b20ec 100644
--- a/R/aw.R
+++ b/R/aw.R
@@ -4,16 +4,17 @@
#' expected Kullback-Leibler information as specified
#' by Burnham and Anderson (2004).
#'
-#' @param object An mmkin column object, containing two or more
-#' \code{\link{mkinfit}} models that have been fitted to the same data,
+#' @param object An [mmkin] column object, containing two or more
+#' [mkinfit] models that have been fitted to the same data,
#' or an mkinfit object. In the latter case, further mkinfit
#' objects fitted to the same data should be specified
#' as dots arguments.
-#' @param \dots Not used in the method for mmkin column objects,
-#' further mkinfit objects in the method for mkinfit objects.
+#' @param \dots Not used in the method for [mmkin] column objects,
+#' further [mkinfit] objects in the method for mkinfit objects.
#' @references Burnham KP and Anderson DR (2004) Multimodel
-#' Inference: Understanding AIC and BIC in Model Selection
-#' Sociological Methods & Research 33(2) 261-304
+#' Inference: Understanding AIC and BIC in Model Selection.
+#' *Sociological Methods & Research* **33**(2) 261-304
+#' @md
#' @examples
#' \dontrun{
#' f_sfo <- mkinfit("SFO", FOCUS_2006_D, quiet = TRUE)
@@ -55,6 +56,3 @@ aw.mmkin <- function(object, ...) {
if (ncol(object) > 1) stop("Please supply an mmkin column object")
do.call(aw, object)
}
-
-
-
diff --git a/docs/reference/aw.html b/docs/reference/aw.html
index b6f3ce48..22201229 100644
--- a/docs/reference/aw.html
+++ b/docs/reference/aw.html
@@ -153,24 +153,24 @@ by Burnham and Anderson (2004).
object
-
An mmkin column object, containing two or more
-mkinfit models that have been fitted to the same data,
+
An mmkin column object, containing two or more
+mkinfit models that have been fitted to the same data,
or an mkinfit object. In the latter case, further mkinfit
objects fitted to the same data should be specified
as dots arguments.
...
-
Not used in the method for mmkin column objects,
-further mkinfit objects in the method for mkinfit objects.
+
Not used in the method for mmkin column objects,
+further mkinfit objects in the method for mkinfit objects.
References
Burnham KP and Anderson DR (2004) Multimodel
- Inference: Understanding AIC and BIC in Model Selection
- Sociological Methods & Research 33(2) 261-304
+Inference: Understanding AIC and BIC in Model Selection.
+Sociological Methods & Research33(2) 261-304
Examples
# \dontrun{
diff --git a/man/aw.Rd b/man/aw.Rd
index f0994b94..40676716 100644
--- a/man/aw.Rd
+++ b/man/aw.Rd
@@ -13,14 +13,14 @@ aw(object, ...)
\method{aw}{mmkin}(object, ...)
}
\arguments{
-\item{object}{An mmkin column object, containing two or more
-\code{\link{mkinfit}} models that have been fitted to the same data,
+\item{object}{An \link{mmkin} column object, containing two or more
+\link{mkinfit} models that have been fitted to the same data,
or an mkinfit object. In the latter case, further mkinfit
objects fitted to the same data should be specified
as dots arguments.}
-\item{\dots}{Not used in the method for mmkin column objects,
-further mkinfit objects in the method for mkinfit objects.}
+\item{\dots}{Not used in the method for \link{mmkin} column objects,
+further \link{mkinfit} objects in the method for mkinfit objects.}
}
\description{
Akaike weights are calculated based on the relative
@@ -42,6 +42,6 @@ aw(f[c("SFO", "DFOP")])
}
\references{
Burnham KP and Anderson DR (2004) Multimodel
- Inference: Understanding AIC and BIC in Model Selection
- Sociological Methods & Research 33(2) 261-304
+Inference: Understanding AIC and BIC in Model Selection.
+\emph{Sociological Methods & Research} \strong{33}(2) 261-304
}
--
cgit v1.2.3
From 7ea467e0e0ba5bf51540b26e197869a58ed1a092 Mon Sep 17 00:00:00 2001
From: Johannes Ranke
Date: Mon, 9 Dec 2019 15:21:11 +0100
Subject: Consistently use "two-component error model"
instead of "two component error model"
---
R/sigma_twocomp.R | 2 +-
docs/reference/index.html | 2 +-
docs/reference/sigma_twocomp.html | 8 ++++----
man/sigma_twocomp.Rd | 2 +-
4 files changed, 7 insertions(+), 7 deletions(-)
(limited to 'man')
diff --git a/R/sigma_twocomp.R b/R/sigma_twocomp.R
index c9a15aa8..1e012d15 100644
--- a/R/sigma_twocomp.R
+++ b/R/sigma_twocomp.R
@@ -1,4 +1,4 @@
-#' Two component error model
+#' Two-component error model
#'
#' Function describing the standard deviation of the measurement error in
#' dependence of the measured value \eqn{y}:
diff --git a/docs/reference/index.html b/docs/reference/index.html
index 3d417267..73dfbe4c 100644
--- a/docs/reference/index.html
+++ b/docs/reference/index.html
@@ -444,7 +444,7 @@ kinetic models fitted with mkinfit
diff --git a/docs/reference/sigma_twocomp.html b/docs/reference/sigma_twocomp.html
index d95e1c28..1795e6c3 100644
--- a/docs/reference/sigma_twocomp.html
+++ b/docs/reference/sigma_twocomp.html
@@ -6,7 +6,7 @@
-Two component error model — sigma_twocomp • mkin
+Two-component error model — sigma_twocomp • mkin
@@ -35,7 +35,7 @@
-
+
@@ -70,7 +70,7 @@ dependence of the measured value \(y\):" />
mkin
- 0.9.49.6
+ 0.9.49.8
@@ -128,7 +128,7 @@ dependence of the measured value \(y\):" />
-
Two component error model
+
Two-component error model
sigma_twocomp.Rd
diff --git a/man/sigma_twocomp.Rd b/man/sigma_twocomp.Rd
index 3e7854f1..0004144f 100644
--- a/man/sigma_twocomp.Rd
+++ b/man/sigma_twocomp.Rd
@@ -2,7 +2,7 @@
% Please edit documentation in R/sigma_twocomp.R
\name{sigma_twocomp}
\alias{sigma_twocomp}
-\title{Two component error model}
+\title{Two-component error model}
\usage{
sigma_twocomp(y, sigma_low, rsd_high)
}
--
cgit v1.2.3
From 1868c1c6b98afa4c8a11b7c065d717bfb4ec1a8e Mon Sep 17 00:00:00 2001
From: Johannes Ranke
Date: Mon, 16 Dec 2019 02:51:19 +0100
Subject: Argument ymax for plot.mmkin
---
R/plot.mmkin.R | 26 ++++++++++++++++----------
docs/reference/plot.mmkin.html | 8 ++++++--
man/plot.mmkin.Rd | 4 +++-
3 files changed, 25 insertions(+), 13 deletions(-)
(limited to 'man')
diff --git a/R/plot.mmkin.R b/R/plot.mmkin.R
index eefafe12..182e74ca 100644
--- a/R/plot.mmkin.R
+++ b/R/plot.mmkin.R
@@ -1,13 +1,13 @@
#' Plot model fits (observed and fitted) and the residuals for a row or column
#' of an mmkin object
-#'
+#'
#' When x is a row selected from an mmkin object (\code{\link{[.mmkin}}), the
#' same model fitted for at least one dataset is shown. When it is a column,
#' the fit of at least one model to the same dataset is shown.
-#'
+#'
#' If the current plot device is a \code{\link[tikzDevice]{tikz}} device, then
#' latex is being used for the formatting of the chi2 error level.
-#'
+#'
#' @param x An object of class \code{\link{mmkin}}, with either one row or one
#' column.
#' @param main The main title placed on the outer margin of the plot.
@@ -24,12 +24,13 @@
#' @param cex Passed to the plot functions and \code{\link{mtext}}.
#' @param rel.height.middle The relative height of the middle plot, if more
#' than two rows of plots are shown.
+#' @param ymax Maximum y axis value for \code{\link{plot.mkinfit}}.
#' @param \dots Further arguments passed to \code{\link{plot.mkinfit}} and
#' \code{\link{mkinresplot}}.
#' @return The function is called for its side effect.
#' @author Johannes Ranke
#' @examples
-#'
+#'
#' \dontrun{
#' # Only use one core not to offend CRAN checks
#' fits <- mmkin(c("FOMC", "HS"),
@@ -37,22 +38,23 @@
#' cores = 1, quiet = TRUE, error_model = "tc")
#' plot(fits[, "FOCUS C"])
#' plot(fits["FOMC", ])
-#'
+#'
#' # We can also plot a single fit, if we like the way plot.mmkin works, but then the plot
#' # height should be smaller than the plot width (this is not possible for the html pages
#' # generated by pkgdown, as far as I know).
#' plot(fits["FOMC", "FOCUS C"]) # same as plot(fits[1, 2])
-#'
+#'
#' # Show the error models
#' plot(fits["FOMC", ], resplot = "errmod")
#' }
-#'
+#'
#' @export
-plot.mmkin <- function(x, main = "auto", legends = 1,
+plot.mmkin <- function(x, main = "auto", legends = 1,
resplot = c("time", "errmod"),
show_errmin = TRUE,
errmin_var = "All data", errmin_digits = 3,
- cex = 0.7, rel.height.middle = 0.9, ...) {
+ cex = 0.7, rel.height.middle = 0.9,
+ ymax = "auto", ...) {
n.m <- nrow(x)
n.d <- ncol(x)
@@ -107,7 +109,11 @@ plot.mmkin <- function(x, main = "auto", legends = 1,
}
fit <- x[[i.fit]]
- plot(fit, legend = legends == i.fit, ...)
+ if (ymax == "auto") {
+ plot(fit, legend = legends == i.fit, ...)
+ } else {
+ plot(fit, legend = legends == i.fit, ylim = c(0, ymax), ...)
+ }
title(main, outer = TRUE, line = -2)
diff --git a/docs/reference/plot.mmkin.html b/docs/reference/plot.mmkin.html
index 8b68cfae..18907aa2 100644
--- a/docs/reference/plot.mmkin.html
+++ b/docs/reference/plot.mmkin.html
@@ -73,7 +73,7 @@ the fit of at least one model to the same dataset is shown." />
mkin
- 0.9.49.6
+ 0.9.49.8
@@ -147,7 +147,7 @@ the fit of at least one model to the same dataset is shown.
plot(x, main="auto", legends=1,
resplot=c("time", "errmod"), show_errmin=TRUE,
errmin_var="All data", errmin_digits=3, cex=0.7,
- rel.height.middle=0.9, ...)
+ rel.height.middle=0.9, ymax="auto", ...)
Arguments
@@ -195,6 +195,10 @@ chi2 error percentage.
The relative height of the middle plot, if more
than two rows of plots are shown.
Further arguments passed to plot.mkinfit and
diff --git a/man/plot.mmkin.Rd b/man/plot.mmkin.Rd
index 333998da..605e458e 100644
--- a/man/plot.mmkin.Rd
+++ b/man/plot.mmkin.Rd
@@ -8,7 +8,7 @@ of an mmkin object}
\method{plot}{mmkin}(x, main = "auto", legends = 1,
resplot = c("time", "errmod"), show_errmin = TRUE,
errmin_var = "All data", errmin_digits = 3, cex = 0.7,
- rel.height.middle = 0.9, ...)
+ rel.height.middle = 0.9, ymax = "auto", ...)
}
\arguments{
\item{x}{An object of class \code{\link{mmkin}}, with either one row or one
@@ -36,6 +36,8 @@ chi2 error percentage.}
\item{rel.height.middle}{The relative height of the middle plot, if more
than two rows of plots are shown.}
+\item{ymax}{Maximum y axis value for \code{\link{plot.mkinfit}}.}
+
\item{\dots}{Further arguments passed to \code{\link{plot.mkinfit}} and
\code{\link{mkinresplot}}.}
}
--
cgit v1.2.3