library(testthat)
context("Simulation with full uncertainty (variance-covariance matrix)")
test_that("Sample method on a CAMPSIS model is working well", {
set.seed(1)
model <- model_suite$testing$other$my_model1
models <- model %>% sample(as.integer(100))
thetas <- models %>% purrr::map_dbl(.f=~(.x@parameters %>% getByName("THETA_CL"))@value)
var <- model@parameters@varcov["THETA_CL", "THETA_CL"]
expect_equal(sd(thetas), sqrt(var), tolerance=1e-2)
omegas <- models %>% purrr::map_dbl(.f=~(.x@parameters %>% getByName("OMEGA_CL"))@value)
var <- model@parameters@varcov["OMEGA_CL", "OMEGA_CL"]
expect_equal(sd(omegas), sqrt(var), tolerance=1e-3)
})
test_that("Replicate a model that has IOV works as expected", {
set.seed(1)
model <- model_suite$testing$nonmem$advan2_trans2
# Add uncertainty on OMEGA_IOV_CL1
varcov <- matrix(1e-4) # SD=0.01
row.names(varcov) <- "OMEGA_IOV_CL1"
colnames(varcov) <- "OMEGA_IOV_CL1"
model@parameters@varcov <- varcov
pk <- model %>%
add(Omega(name="IOV_CL1", value=0.025, type="var", same=FALSE)) %>%
add(Omega(name="IOV_CL2", value=0.025, type="var", same=TRUE)) %>%
add(Omega(name="IOV_CL3", value=0.025, type="var", same=TRUE))
pks <- pk %>% sample(2L)
pk1 <- pks[[1]]
pk2 <- pks[[2]]
set <- c(pk %>% find(Omega("IOV_CL1")) %>% .@value,
pk %>% find(Omega("IOV_CL2")) %>% .@value,
pk %>% find(Omega("IOV_CL3")) %>% .@value)
set1 <- c(pk1 %>% find(Omega("IOV_CL1")) %>% .@value,
pk1 %>% find(Omega("IOV_CL2")) %>% .@value,
pk1 %>% find(Omega("IOV_CL3")) %>% .@value)
set2 <- c(pk2 %>% find(Omega("IOV_CL1")) %>% .@value,
pk2 %>% find(Omega("IOV_CL2")) %>% .@value,
pk2 %>% find(Omega("IOV_CL3")) %>% .@value)
expect_equal(set, c(0.025, 0.025, 0.025))
expect_equal(round(set1, digits=3), c(0.019, 0.019, 0.019)) # Depends on seed
expect_equal(round(set2, digits=3), c(0.027, 0.027, 0.027)) # Depends on seed
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.