aboutsummaryrefslogtreecommitdiff
path: root/R
diff options
context:
space:
mode:
Diffstat (limited to 'R')
-rw-r--r--R/dimethenamid_2018.R25
-rw-r--r--R/nlmixr.R20
2 files changed, 34 insertions, 11 deletions
diff --git a/R/dimethenamid_2018.R b/R/dimethenamid_2018.R
index 189da618..79018c11 100644
--- a/R/dimethenamid_2018.R
+++ b/R/dimethenamid_2018.R
@@ -18,4 +18,29 @@
#' \url{http://registerofquestions.efsa.europa.eu/roqFrontend/outputLoader?output=ON-5211}
#' @examples
#' print(dimethenamid_2018)
+#' dmta_ds <- lapply(1:8, function(i) {
+#' ds_i <- dimethenamid_2018$ds[[i]]$data
+#' ds_i[ds_i$name == "DMTAP", "name"] <- "DMTA"
+#' ds_i$time <- ds_i$time * dimethenamid_2018$f_time_norm[i]
+#' ds_i
+#' })
+#' names(dmta_ds) <- sapply(dimethenamid_2018$ds, function(ds) ds$title)
+#' dmta_ds[["Borstel"]] <- rbind(dmta_ds[["Borstel 1"]], dmta_ds[["Borstel 2"]])
+#' dmta_ds[["Borstel 1"]] <- NULL
+#' dmta_ds[["Borstel 2"]] <- NULL
+#' dmta_ds[["Elliot"]] <- rbind(dmta_ds[["Elliot 1"]], dmta_ds[["Elliot 2"]])
+#' dmta_ds[["Elliot 1"]] <- NULL
+#' dmta_ds[["Elliot 2"]] <- NULL
+#' dfop_sfo3_plus <- mkinmod(
+#' DMTA = mkinsub("DFOP", c("M23", "M27", "M31")),
+#' M23 = mkinsub("SFO"),
+#' M27 = mkinsub("SFO"),
+#' M31 = mkinsub("SFO", "M27", sink = FALSE),
+#' quiet = TRUE
+#' )
+#' f_dmta_mkin_tc <- mmkin(
+#' list("DFOP-SFO3+" = dfop_sfo3_plus),
+#' dmta_ds, quiet = TRUE, error_model = "tc")
+#' nlmixr_model(f_dmta_mkin_tc) # incomplete
+#' # nlmixr(f_dmta_mkin_tc, est = "saem") # not supported (yet)
"dimethenamid_2018"
diff --git a/R/nlmixr.R b/R/nlmixr.R
index 98783ca7..6e0b5128 100644
--- a/R/nlmixr.R
+++ b/R/nlmixr.R
@@ -43,11 +43,11 @@ nlmixr::nlmixr
#' ds <- lapply(experimental_data_for_UBA_2019[6:10],
#' function(x) subset(x$data[c("name", "time", "value")]))
#' names(ds) <- paste("Dataset", 6:10)
-#'
+#'
#' f_mmkin_parent <- mmkin(c("SFO", "FOMC", "DFOP", "HS"), ds, quiet = TRUE, cores = 1)
#' f_mmkin_parent_tc <- mmkin(c("SFO", "FOMC", "DFOP"), ds, error_model = "tc",
#' cores = 1, quiet = TRUE)
-#'
+#'
#' f_nlmixr_sfo_saem <- nlmixr(f_mmkin_parent["SFO", ], est = "saem")
#' f_nlmixr_sfo_focei <- nlmixr(f_mmkin_parent["SFO", ], est = "focei")
#'
@@ -278,20 +278,18 @@ nlmixr_model <- function(object,
conf.level = conf.level, random = TRUE)
degparms_optim <- degparms_mmkin$fixed
-
- degparms_optim <- degparms_mmkin$fixed
+ degparms_optim_back <- backtransform_odeparms(degparms_optim,
+ object[[1]]$mkinmod,
+ object[[1]]$transform_rates,
+ object[[1]]$transform_fractions)
+ degparms_optim_back_names <- names(degparms_optim_back)
+ names(degparms_optim_back_names) <- names(degparms_optim)
if (degparms_start[1] == "auto") {
degparms_start <- degparms_optim
}
degparms_fixed <- object[[1]]$bparms.fixed
- degparms_optim_back_names <- names(backtransform_odeparms(degparms_optim,
- object[[1]]$mkinmod,
- object[[1]]$transform_rates,
- object[[1]]$transform_fractions))
- names(degparms_optim_back_names) <- names(degparms_optim)
-
odeini_optim_parm_names <- grep('_0$', names(degparms_optim), value = TRUE)
odeini_fixed_parm_names <- grep('_0$', names(degparms_fixed), value = TRUE)
@@ -307,7 +305,7 @@ nlmixr_model <- function(object,
ini_block <- "ini({"
# Initial values for all degradation parameters
- for (parm_name in names(degparms_optim)) {
+ for (parm_name in names(degparms_start)) {
# As initials for state variables are not transformed,
# we need to modify the name here as we want to
# use the original name in the model block

Contact - Imprint