% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/memkin.R
\name{memkin}
\alias{memkin}
\title{Estimation of parameter distributions from mmkin row objects}
\usage{
memkin(object, random_spec = "auto", ...)
}
\arguments{
\item{object}{An mmkin row object containing several fits of the same model to different datasets}
\item{random_spec}{Either "auto" or a specification of random effects for \code{\link{nlme}}
given as a character vector}
\item{...}{Additional arguments passed to \code{\link{nlme}}}
}
\value{
An nlme object
}
\description{
This function sets up and attempts to fit a mixed effects model to
an mmkin row object which is essentially a list of mkinfit objects
that have been obtained by fitting the same model to a list of
datasets.
}
\examples{
sampling_times = c(0, 1, 3, 7, 14, 28, 60, 90, 120)
m_SFO <- mkinmod(parent = mkinsub("SFO"))
d_SFO_1 <- mkinpredict(m_SFO,
c(k_parent_sink = 0.1),
c(parent = 98), sampling_times)
d_SFO_1_long <- mkin_wide_to_long(d_SFO_1, time = "time")
d_SFO_2 <- mkinpredict(m_SFO,
c(k_parent_sink = 0.05),
c(parent = 102), sampling_times)
d_SFO_2_long <- mkin_wide_to_long(d_SFO_2, time = "time")
d_SFO_3 <- mkinpredict(m_SFO,
c(k_parent_sink = 0.02),
c(parent = 103), sampling_times)
d_SFO_3_long <- mkin_wide_to_long(d_SFO_3, time = "time")
d1 <- add_err(d_SFO_1, function(value) 3, n = 1)
d2 <- add_err(d_SFO_2, function(value) 2, n = 1)
d3 <- add_err(d_SFO_3, function(value) 4, n = 1)
ds <- c(d1 = d1, d2 = d2, d3 = d3)
f <- mmkin("SFO", ds)
x <- memkin(f)
summary(x)
ds_2 <- lapply(experimental_data_for_UBA_2019[6:10],
function(x) x$data[c("name", "time", "value")])
m_sfo_sfo <- mkinmod(parent = mkinsub("SFO", "A1"),
A1 = mkinsub("SFO"), use_of_ff = "min")
m_sfo_sfo_ff <- mkinmod(parent = mkinsub("SFO", "A1"),
A1 = mkinsub("SFO"), use_of_ff = "max")
m_fomc_sfo <- mkinmod(parent = mkinsub("FOMC", "A1"),
A1 = mkinsub("SFO"))
m_dfop_sfo <- mkinmod(parent = mkinsub("DFOP", "A1"),
A1 = mkinsub("SFO"))
m_sforb_sfo <- mkinmod(parent = mkinsub("SFORB", "A1"),
A1 = mkinsub("SFO"))
f_2 <- mmkin(list("SFO-SFO" = m_sfo_sfo,
"SFO-SFO-ff" = m_sfo_sfo_ff,
"FOMC-SFO" = m_fomc_sfo,
"DFOP-SFO" = m_dfop_sfo,
"SFORB-SFO" = m_sforb_sfo),
ds_2)
f_nlme_sfo_sfo <- memkin(f_2[1, ])
f_nlme_sfo_sfo_2 <- memkin(f_2[1, ], "pdDiag(parent_0 + log_k_parent_sink + log_k_parent_A1 + log_k_A1_sink ~ 1)") # explicit
f_nlme_sfo_sfo_3 <- memkin(f_2[1, ], "pdDiag(parent_0 + log_k_parent_sink + log_k_parent_A1 ~ 1)") # reduced
f_nlme_sfo_sfo_4 <- memkin(f_2[1, ], "pdDiag(parent_0 + log_k_parent_sink ~ 1)") # further reduced
\dontrun{
f_nlme_sfo_sfo_ff <- memkin(f_2[2, ]) # does not converge with maxIter = 50
}
f_nlme_fomc_sfo <- memkin(f_2[3, ])
\dontrun{
f_nlme_dfop_sfo <- memkin(f_2[4, ]) # apparently underdetermined
f_nlme_sforb_sfo <- memkin(f_2[5, ]) # also does not converge
}
anova(f_nlme_fomc_sfo, f_nlme_sfo_sfo, f_nlme_sfo_sfo_4)
}