rxTest({
## To keep basename the same
.rxWithOptions(list(
"rxode2.basename.print" = "basename",
"rxode2.dll.print" = "dll",
"rxode2.c.print" = "cfile"
), {
## test_path("test-print.txt")
.df <- expand.grid(color = c(TRUE, FALSE), unicode = c(TRUE, FALSE))
lapply(seq_along(.df$color), function(.i) {
.path <- test_path(sprintf(
"test-print%s%s.txt", ifelse(.df$color[.i], "-color", ""),
ifelse(.df$unicode[.i], "-unicode", "")
))
test_that(paste0(.i, ":", .path), {
verify_output(
.path,
{
mod <- rxode2({
a <- 6
b <- 0.6 + a / 100
kel <- b * 0.01
V <- 10
d / dt(intestine) <- -a * intestine
d / dt(blood) <- a * intestine - b * blood
l2 <- linCmt()
})
print(mod)
summary(mod)
str(mod) ## fragile
print(mod$cmpMgr$rxDll())
summary(mod$cmpMgr$rxDll())
coef(mod)
print(rxModelVars(mod))
print(rxC(mod))
summary(rxC(mod)) # too fragile
print(mod$.rxDll)
et <- eventTable(time.units = "days")
et$add.sampling(seq(0, 10, by = 1 / 24))
et$add.dosing(
dose = 2 / 24, rate = 2, start.time = 0,
nbr.doses = 10, dosing.interval = 1
)
print(et)
summary(et)
str(et)
et2 <- et %>% et(id = 1:10)
print(et2)
tmp <- class(et2)
et2$matt <- 4
class(et2) <- tmp
print(et2)
print(attr(class(et), ".rxode2.lst"))
str(attr(class(et), ".rxode2.lst"))
print(format(structure(0:7, class = "rxEvid")))
print(structure(0:7, class = "rxEvid"))
print(format(structure(c(-2, -1, 0, 1, 2), class = "rxRateDur")))
print(structure(c(-2, -1, 0, 1, 2), class = "rxRateDur"))
pk <- solve(mod, et)
print(pk)
print(pk, width = 40)
print(pk, bound = "k")
print(pk, n = 10)
.rxWithOptions(
list(rxode2.display.tbl = FALSE),
print(pk)
)
summary(pk)
str(pk)
print(summary(pk, bound = "k"))
modS <- rxode2(mod, calcSens = TRUE)
print(coef(modS))
## Now "destroy" the rxode2 solved object and change the printout
tmp <- class(pk)
pk$matt <- 4
class(tmp) <- tmp
print(pk)
class(pk) <- tmp
summary(pk)
noOde <- rxode2({
matt <- a^2 + b^2
})
print(coef(noOde))
rxUnload(mod)
print(mod)
print(mod$cmpMgr$rxDll())
summary(mod)
str(mod)
rxDelete(mod)
print(mod)
print(mod$cmpMgr$rxDll())
summary(mod)
str(mod)
mod <- rxode2(mod, indLin = TRUE)
print(mod)
summary(mod)
str(mod)
rxUnload(mod)
print(mod)
summary(mod)
str(mod)
rxDelete(mod)
print(mod)
summary(mod)
str(mod)
rxWithSeed(
42,
tmp <- matrix(rnorm(5^2), 5, 5)
)
mcov <- tcrossprod(tmp, tmp)
v <- rxSymInvCholCreate(mcov, "sqrt")
print(v)
str(v)
class(v) <- NULL
v$env$theta <- NULL
class(v) <- "rxSymInvCholEnv"
print(v)
mod <- rxode2("
a = 6
b = 0.6
d/dt(intestine) = -a*intestine
d/dt(blood) = a*intestine - b*blood
")
et <- eventTable()
et$add.dosing(
dose = 2 / 24, rate = 2, start.time = 0,
nbr.doses = 10, dosing.interval = 1
)
et <- et %>%
et(0.05, evid = 2) %>%
et(amt = 3, time = 0.5, cmt = out) %>%
et(amt = 3, time = 0.1, cmt = intestine, ss = 1, ii = 3) %>%
et(amt = 3, time = 0.3, cmt = intestine, ss = 2, ii = 3) %>%
et(time = 0.2, cmt = "-intestine") %>%
as.data.frame()
ett1 <- etTrans(et, mod, keepDosingOnly = TRUE)
print(ett1)
mod2 <- rxode2({
## the order of variables do not matter, the type of compartmental
## model is determined by the parameters specified.
CL ~ TCL * exp(eta.Cl)
C2 ~ linCmt(KA, CL, V2, Q, V3)
eff(0) <- 1 + eff0^2 ## This specifies that the effect compartment starts at 1.
d / dt(eff) ~ Kin - Kout * (1 - C2 / (EC50 + C2)) * eff
##
resp <- eff + err1
pk <- C2 * exp(err2)
})
ev <- eventTable(amount.units = "mg", time.units = "hours") %>%
add.dosing(dose = 10000, nbr.doses = 10, dosing.interval = 12, dosing.to = 2) %>%
add.dosing(dose = 20000, nbr.doses = 5, start.time = 120, dosing.interval = 24, dosing.to = 2) %>%
add.sampling(0:240)
## Add Residual differences
sigma <- diag(2) * 0.05
dimnames(sigma) <- list(c("err1", "err2"), c("err1", "err2"))
pk3 <- rxSolve(mod2, c(
KA = 2.94E-01, TCL = 1.86E+01, V2 = 4.02E+01, Q = 1.05E+01, V3 = 2.97E+02,
Kin = 1, Kout = 1, EC50 = 200
),
omega = matrix(0.2, dimnames = list("eta.Cl", "eta.Cl")),
nSub = 4, ev, sigma = sigma, cores = 2
)
print(pk3)
str(pk3)
pk3a <- rxSolve(mod2, c(
KA = 2.94E-01, TCL = 1.86E+01, V2 = 4.02E+01, Q = 1.05E+01, V3 = 2.97E+02,
Kin = 1, Kout = 1, EC50 = 200
),
omega = matrix(0.2, dimnames = list("eta.Cl", "eta.Cl")),
nSub = 4, ev, sigma = sigma, cores = 2, addDosing = TRUE
)
print(pk3a)
str(pk3a)
ode <- rxode2({
b <- -1
d / dt(X) <- a * X + Y * Z
d / dt(Y) <- b * (Y - Z)
d / dt(Z) <- -X * Y + c * Y - Z
})
et <- eventTable(time.units = "hr") # default time units
et$add.sampling(seq(from = 0, to = 100, by = 0.01))
cov <- data.frame(c = et$get.EventTable()$time + units::set_units(1, h))
et0 <- et
et <- cbind(et, cov)
et$extra <- 1
out <- rxSolve(ode,
params = c(a = -8 / 3, b = -10),
events = et,
inits = c(X = 1, Y = 1, Z = 1),
covsInterpolation = "linear",
keep = "extra"
)
print(out)
str(out)
mmModel <- rxode2(
{
ka <- 1
Vc <- 1
Vmax <- 0.00734
Km <- 0.3672
Cp <- center / Vc
d / dt(center) <- -Vmax / (Km + Cp) * Cp + exp(-10 * t)
},
indLin = TRUE
)
print(mmModel)
summary(mmModel)
mmModel <- rxode2(
{
ka <- 1
Vc <- 1
Vmax <- 0.00734
Km <- 0.3672
Cp <- center / Vc
d / dt(center) <- -Vmax / (Km + Cp) * Cp
},
indLin = TRUE
)
print(mmModel)
summary(mmModel)
mod2 <- rxode2({
C2 <- centr / V2
C3 ~ peri / V3
CL ~ TCL * exp(eta.Cl)
d / dt(depot) ~ -KA * depot
d / dt(centr) ~ KA * depot - CL * C2 - Q * C2 + Q * C3
d / dt(peri) ~ Q * C2 - Q * C3
d / dt(eff) <- Kin - Kout * (1 - C2 / (EC50 + C2)) * eff
eff(0) <- 1000
e1 <- err1
e2 <- err2
resp <- eff + e1
pk <- C2 * exp(e2)
})
thetaMat <- diag(3) * 0.01
dimnames(thetaMat) <- list(NULL, c("KA", "TCL", "V2"))
sigma <- diag(2) * 0.05
dimnames(sigma) <- list(c("err1", "err2"), c("err1", "err2"))
ev <- eventTable(amount.units = "mg", time.units = "hours") %>%
add.dosing(dose = 10000, nbr.doses = 10, dosing.interval = 12, dosing.to = 2) %>%
add.dosing(dose = 20000, nbr.doses = 5, start.time = 120, dosing.interval = 24, dosing.to = 2) %>%
add.sampling(0:240)
pk4 <- rxSolve(mod2, c(
KA = 2.94E-01, TCL = 1.86E+01, V2 = 4.02E+01, Q = 1.05E+01, V3 = 2.97E+02,
Kin = 1, Kout = 1, EC50 = 200
),
omega = matrix(0.2, dimnames = list("eta.Cl", "eta.Cl")),
nSub = 4, nStud = 4, thetaMat = thetaMat, sigma = sigma, ev, cores = 1, method = "lsoda"
)
print(pk4)
pk4 <- rxSolve(mod2, c(
KA = 2.94E-01, TCL = 1.86E+01, V2 = 4.02E+01, Q = 1.05E+01, V3 = 2.97E+02,
Kin = 1, Kout = 1, EC50 = 200
),
omega = matrix(0.2, dimnames = list("eta.Cl", "eta.Cl")),
nSub = 4, nStud = 4, dfObs = 4, dfSub = 4,
thetaMat = thetaMat, sigma = sigma, ev,
cores = 1, method = "lsoda"
)
print(pk4)
pk4 <- rxSolve(mod2, c(
KA = 2.94E-01, TCL = 1.86E+01, V2 = 4.02E+01, Q = 1.05E+01, V3 = 2.97E+02,
Kin = 1, Kout = 1, EC50 = 200
),
omega = matrix(0.2, dimnames = list("eta.Cl", "eta.Cl")),
nSub = 4, nStud = 4,
sigma = sigma, ev,
cores = 1, method = "lsoda"
)
print(pk4)
},
crayon = .df$color[.i],
unicode = .df$unicode[.i]
)
})
unlink(.path)
})
})
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.