First import the campsis package:
library(campsis)Load 2-compartment PK model from built-in model library:
model <- model_suite$pk$`2cpt_fo`Create your dataset in CAMPSIS. For instance, let’s give 1000mg QD for 3 days and observe every hour.
dataset <- Dataset(10) %>%
add(Bolus(time=0, amount=1000, ii=24, addl=2)) %>%
add(Observations(times=seq(0,72, by=1)))Simulate this very simple protocol:
results <- model %>% simulate(dataset, seed=1)
head(results)## # A tibble: 6 × 22
## ID TIME ARM TVKA TVVC TVVP TVQ TVCL TVPROP_RUV KA VC VP
## <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 0 0 1 60 10 2 3 0.1 0.960 83.8 12.5
## 2 1 1 0 1 60 10 2 3 0.1 0.960 83.8 12.5
## 3 1 2 0 1 60 10 2 3 0.1 0.960 83.8 12.5
## 4 1 3 0 1 60 10 2 3 0.1 0.960 83.8 12.5
## 5 1 4 0 1 60 10 2 3 0.1 0.960 83.8 12.5
## 6 1 5 0 1 60 10 2 3 0.1 0.960 83.8 12.5
## # … with 10 more variables: Q <dbl>, CL <dbl>, PROP_RUV <dbl>, CONC <dbl>,
## # IPRED <dbl>, W <dbl>, Y <dbl>, A_ABS <dbl>, A_CENTRAL <dbl>,
## # A_PERIPHERAL <dbl>
Plot these results:
spaghettiPlot(results, "CONC")A shaded plot may also be used:
shadedPlot(results, "CONC")We can also simulate two different treatment arms. Say the first arm receives 1000mg QD and the second arm 2000mg QD. This can be implemented as follows:
# First treatment arm
arm1 <- Arm(subjects=50, label="1000 mg QD") %>%
add(Bolus(time=0, amount=1000, ii=24, addl=2)) %>%
add(Observations(times=seq(0,72, by=1)))
# Second treatment arm
arm2 <- Arm(subjects=50, label="2000 mg QD") %>%
add(Bolus(time=0, amount=2000, ii=24, addl=2)) %>%
add(Observations(times=seq(0,72, by=1)))
dataset <- Dataset() %>% add(c(arm1, arm2))
results <- model %>% simulate(dataset, seed=1)
shadedPlot(results, "CONC", scenarios="ARM")We invite you to check out the other vignettes. Have fun with CAMPSIS!