Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.width = 7,
fig.height = 4.5
)
hasDiagrammeR <- requireNamespace("DiagrammeR", quietly = TRUE)
## ----setup--------------------------------------------------------------------
library(nlmixr2plot)
## -----------------------------------------------------------------------------
two.cmt <- function() {
ini({
tka <- log(1.5)
tcl <- log(3)
tv <- log(20)
tq <- log(2)
tvp <- log(40)
add.sd <- 0.2
})
model({
ka <- exp(tka)
cl <- exp(tcl)
v <- exp(tv)
q <- exp(tq)
vp <- exp(tvp)
d/dt(depot) <- -ka * depot
d/dt(central) <- ka * depot - cl / v * central - q / v * central +
q / vp * periph
d/dt(periph) <- q / v * central - q / vp * periph
cp <- central / v
cp ~ add(add.sd)
})
}
## -----------------------------------------------------------------------------
modelDiagram(two.cmt, engine = "ggplot2")
## ----eval = FALSE-------------------------------------------------------------
# plot(rxode2::rxode2(two.cmt), engine = "ggplot2")
## ----eval = hasDiagrammeR-----------------------------------------------------
modelDiagram(two.cmt, engine = "DiagrammeR")
## -----------------------------------------------------------------------------
cat(modelDiagram(two.cmt, engine = "dot"))
## ----eval = FALSE-------------------------------------------------------------
# options(nlmixr2plot.diagram.engine = "ggplot2")
## -----------------------------------------------------------------------------
modelDiagram(two.cmt, engine = "ggplot2", labels = TRUE)
## -----------------------------------------------------------------------------
g <- modelGraph(two.cmt)
g
## ----eval = FALSE-------------------------------------------------------------
# plot(g, engine = "ggplot2")
## -----------------------------------------------------------------------------
pk.turnover <- function() {
ini({
tktr <- log(1)
tka <- log(1)
tcl <- log(0.1)
tv <- log(10)
poplogit <- 2
tec50 <- log(0.5)
tkout <- log(0.05)
te0 <- log(100)
prop.err <- 0.1
pdadd.err <- 10
})
model({
ktr <- exp(tktr)
ka <- exp(tka)
cl <- exp(tcl)
v <- exp(tv)
emax <- expit(poplogit)
ec50 <- exp(tec50)
kout <- exp(tkout)
e0 <- exp(te0)
DCP <- center / v
PD <- 1 - emax * DCP / (ec50 + DCP)
effect(0) <- e0
kin <- e0 * kout
d/dt(depot) <- -ktr * depot
d/dt(gut) <- ktr * depot - ka * gut
d/dt(center) <- ka * gut - cl / v * center
d/dt(effect) <- kin * PD - kout * effect
cp <- center / v
cp ~ prop(prop.err)
effect ~ add(pdadd.err)
})
}
modelDiagram(pk.turnover, engine = "ggplot2")
## ----eval = hasDiagrammeR-----------------------------------------------------
modelDiagram(pk.turnover, engine = "DiagrammeR")
## -----------------------------------------------------------------------------
pkpd <- rxode2::rxode2({
C2 <- centr / V2
C3 <- peri / V3
C4 <- peri2 / V4
d/dt(depot) <- -KA * depot
d/dt(centr) <- KA * depot - CL * C2 - Q * C2 + Q * C3 - Q2 * C2 + Q2 * C4 -
kmet * centr
d/dt(peri) <- Q * C2 - Q * C3
d/dt(peri2) <- Q2 * C2 - Q2 * C4
d/dt(met) <- kmet * centr - kelm * met
d/dt(ce) <- ke0 * (C2 - ce)
d/dt(resp) <- kin - kout * (1 - ce / (ec50 + ce)) * resp
})
modelDiagram(pkpd, engine = "ggplot2")
## -----------------------------------------------------------------------------
tmdd <- rxode2::rxode2({
d/dt(central) <- -kel * central - kon * central * target + koff * complex
d/dt(target) <- ksyn - kdeg * target - kon * central * target +
koff * complex
d/dt(complex) <- kon * central * target - koff * complex - kint * complex
})
modelGraph(tmdd, dosing = "central")
modelDiagram(tmdd, dosing = "central", engine = "ggplot2")
## -----------------------------------------------------------------------------
d <- data.frame(
id = 1, time = c(0, 0, 1, 2),
amt = c(100, 50, 0, 0), evid = c(1, 1, 0, 0),
cmt = c("depot", "central", "central", "central"), dv = 0
)
modelGraph(two.cmt, data = d)$nodes
## -----------------------------------------------------------------------------
modelDiagram(two.cmt, dosing = "central", engine = "ggplot2")
## ----eval = FALSE-------------------------------------------------------------
# fit <- nlmixr2(two.cmt, nlmixr2data::theo_sd, est = "focei")
# modelDiagram(fit)
## -----------------------------------------------------------------------------
pk.lag <- rxode2::rxode2({
d/dt(depot) <- -ka * depot
alag(depot) <- tlag
f(depot) <- fbio
d/dt(central) <- ka * depot - cl / v * central
dur(central) <- d1
})
modelGraph(pk.lag)
modelDiagram(pk.lag, engine = "ggplot2")
## ----eval = "linToOde" %in% getNamespaceExports("rxode2")---------------------
one.cmt <- function() {
ini({
tka <- 0.45
tcl <- 1
tv <- 3.45
add.sd <- 0.7
})
model({
ka <- exp(tka)
cl <- exp(tcl)
v <- exp(tv)
linCmt() ~ add(add.sd)
})
}
modelDiagram(one.cmt, engine = "ggplot2")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.