Get samples of the probability of toxicity. For instance, a Bayesian approach
that supports sampling would be expected to return posterior samples of the
probability of toxicity. If this class does not support sampling, this
function will raise an error. You can check whether this class supports
sampling by calling supports_sampling
.
Get samples of the probability of efficacy For instance, a Bayesian approach
that supports sampling would be expected to return posterior samples of the
probability of toxicity. If this class does not support sampling, this
function will raise an error. You can check whether this class supports
sampling by calling supports_sampling
.
prob_tox_samples(x, tall = FALSE, ...)
prob_eff_samples(x, tall = FALSE, ...)
Object of type selector
logical, if FALSE, a wide data-frame is returned with columns
pertaining to the doses and column names the dose indices.
If TRUE, a tall data-frame is returned with data for all doses stacked
vertically. In this mode, column names will include dose
and
prob_eff
.
arguments passed to other methods
data-frame like object
data-frame like object
# CRM example
skeleton <- c(0.05, 0.1, 0.25, 0.4, 0.6)
target <- 0.25
outcomes <- '1NNN 2NTN'
fit <- get_dfcrm(skeleton = skeleton, target = target) %>% fit(outcomes)
fit %>% prob_tox_samples()
#> # A tibble: 4,000 × 6
#> .draw `1` `2` `3` `4` `5`
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 1 0.0479 0.0967 0.245 0.395 0.596
#> 2 2 0.0209 0.0511 0.167 0.306 0.517
#> 3 3 0.265 0.360 0.541 0.666 0.797
#> 4 4 0.00629 0.0203 0.0958 0.212 0.421
#> 5 5 0.347 0.444 0.613 0.724 0.835
#> 6 6 0.242 0.336 0.519 0.648 0.785
#> 7 7 0.360 0.456 0.624 0.732 0.840
#> 8 8 0.163 0.248 0.432 0.574 0.734
#> 9 9 0.107 0.179 0.355 0.505 0.683
#> 10 10 0.157 0.241 0.424 0.568 0.729
#> # ℹ 3,990 more rows
fit %>% prob_tox_samples(tall = TRUE)
#> # A tibble: 20,000 × 3
#> .draw dose prob_tox
#> <chr> <chr> <dbl>
#> 1 1 1 0.402
#> 2 2 1 0.0431
#> 3 3 1 0.0593
#> 4 4 1 0.0358
#> 5 5 1 0.0387
#> 6 6 1 0.128
#> 7 7 1 0.439
#> 8 8 1 0.247
#> 9 9 1 0.476
#> 10 10 1 0.289
#> # ℹ 19,990 more rows
efftox_priors <- trialr::efftox_priors
p <- efftox_priors(alpha_mean = -7.9593, alpha_sd = 3.5487,
beta_mean = 1.5482, beta_sd = 3.5018,
gamma_mean = 0.7367, gamma_sd = 2.5423,
zeta_mean = 3.4181, zeta_sd = 2.4406,
eta_mean = 0, eta_sd = 0.2,
psi_mean = 0, psi_sd = 1)
real_doses = c(1.0, 2.0, 4.0, 6.6, 10.0)
model <- get_trialr_efftox(real_doses = real_doses,
efficacy_hurdle = 0.5, toxicity_hurdle = 0.3,
p_e = 0.1, p_t = 0.1,
eff0 = 0.5, tox1 = 0.65,
eff_star = 0.7, tox_star = 0.25,
priors = p, iter = 1000, chains = 1, seed = 2020)
x <- model %>% fit('1N 2E 3B')
prob_tox_samples(x, tall = TRUE)
#> # A tibble: 2,500 × 3
#> .draw dose prob_tox
#> <chr> <chr> <dbl>
#> 1 1 1 0.000167
#> 2 2 1 0.00743
#> 3 3 1 0.111
#> 4 4 1 0.0000232
#> 5 5 1 0.152
#> 6 6 1 0.979
#> 7 7 1 0.00000000784
#> 8 8 1 0.117
#> 9 9 1 0.229
#> 10 10 1 0.0000211
#> # ℹ 2,490 more rows