# NOT RUN {
# In this ODE system we simply specify the ODEs
ode <- "d/dt(depot) =-KA*depot;
d/dt(centr) = KA*depot - KE*centr;"
m1 <- RxODE(ode)
# In this ode System, we also specify the concentration as C2 = centr/V
ode <- "C2 = centr/V;
d/dt(depot) =-KA*depot;
d/dt(centr) = KA*depot - KE*centr;"
m2 = RxODE(ode)
PKpars <- function() {
CL <- exp(lCL)
V <- exp(lV)
KA <- exp(lKA)
KE <- CL / V
}
PRED <- function() centr / V
PRED2 <- function() C2
saem_fit <- gen_saem_user_fn(model = m1, PKpars, pred = PRED)
# Can also use PRED2
saem_fit <- gen_saem_user_fn(model=m2, PKpars, pred=PRED2)
# You can also use the nlmixr UI to run this model and call the lower level functions
one.compartment <- function() {
ini({
tka <- 0.45 # Log Ka
tcl <- 1 # Log Cl
tv <- 3.45 # Log V
eta.ka ~ 0.6
eta.cl ~ 0.3
eta.v ~ 0.1
add.sd <- 0.7
wt.est <- 0.0
})
model({
ka <- exp(tka + eta.ka)
cl <- exp(tcl + eta.cl)
v <- exp(tv + eta.v + wt.est * WT)
d/dt(depot) = -ka * depot
d/dt(center) = ka * depot - cl / v * center
cp = center / v
cp ~ add(add.sd)
})
}
fit <- nlmixr(one.compartment, theo_sd, "saem")
fit
# }
Run the code above in your browser using DataLab