poso_simu_pop {posologyr} | R Documentation |
Estimate the prior distribution of population parameters
Description
Estimates the prior distribution of population parameters by Monte Carlo simulations
Usage
poso_simu_pop(
dat = NULL,
prior_model = NULL,
n_simul = 1000,
return_model = TRUE
)
Arguments
dat |
Dataframe. An individual subject dataset following the structure of NONMEM/rxode2 event records. |
prior_model |
A |
n_simul |
An integer, the number of simulations to be run. For |
return_model |
A boolean. Returns a rxode2 model using the simulated
ETAs if set to |
Value
If return_model
is set to FALSE
, a list of one element: a
dataframe $eta
of the individual values of ETA.
If return_model
is set to TRUE
, a list of the dataframe of the
individual values of ETA, and a rxode2 model using the simulated ETAs.
Examples
# model
mod_run001 <- list(
ppk_model = rxode2::rxode({
centr(0) = 0;
depot(0) = 0;
TVCl = THETA_Cl;
TVVc = THETA_Vc;
TVKa = THETA_Ka;
Cl = TVCl*exp(ETA_Cl);
Vc = TVVc*exp(ETA_Vc);
Ka = TVKa*exp(ETA_Ka);
K20 = Cl/Vc;
Cc = centr/Vc;
d/dt(depot) = -Ka*depot;
d/dt(centr) = Ka*depot - K20*centr;
d/dt(AUC) = Cc;
}),
error_model = function(f,sigma) {
dv <- cbind(f,1)
g <- diag(dv%*%sigma%*%t(dv))
return(sqrt(g))
},
theta = c(THETA_Cl=4.0, THETA_Vc=70.0, THETA_Ka=1.0),
omega = lotri::lotri({ETA_Cl + ETA_Vc + ETA_Ka ~
c(0.2,
0, 0.2,
0, 0, 0.2)}),
sigma = lotri::lotri({prop + add ~ c(0.05,0.0,0.00)}))
# df_patient01: event table for Patient01, following a 30 minutes intravenous
# infusion
df_patient01 <- data.frame(ID=1,
TIME=c(0.0,1.0,14.0),
DV=c(NA,25.0,5.5),
AMT=c(2000,0,0),
EVID=c(1,0,0),
DUR=c(0.5,NA,NA))
# estimate the prior distribution of population parameters
poso_simu_pop(dat=df_patient01,prior_model=mod_run001,n_simul=100)
[Package posologyr version 1.2.4 Index]