Quantify borrowing with effective sample size (ESS) as cited and explained in the methods vignette at https://wlandau.github.io/historicalborrowlong/articles/methods.html.
A fitted model from hbl_mcmc_pool()
.
A fitted model from hbl_mcmc_hierarchical()
.
A tidy data frame or tibble
with the data.
Character of length 1,
name of the column in data
with the response/outcome variable.
data[[response]]
must be a continuous variable,
and it should be the change from baseline of a
clinical endpoint of interest, as opposed to just
the raw response. Treatment differences
are computed directly from this scale, please supply
change from baseline unless you are absolutely certain
that treatment differences computed directly from
this quantity are clinically meaningful.
Character of length 1,
name of the column in data
with the study ID.
Atomic of length 1,
element of the study
column that indicates
the current study.
(The other studies are historical studies.)
Character of length 1,
name of the column in data
with the group ID.
Atomic of length 1,
element of the group
column that indicates
the control group.
(The other groups may be treatment groups.)
Character of length 1,
name of the column in data
with the patient ID.
Character of length 1,
name of the column in data
with the rep ID.
Atomic of length 1,
element of the rep
column that indicates
baseline, i.e. the first rep chronologically.
(The other reps may be post-baseline study visits or time points.)
A data frame with one row per discrete time point ("rep") and the following columns:
v0
: posterior predictive variance of the control group mean of a
hypothetical new study given the pooled model.
Calculated as the mean over MCMC samples of 1 / sum(sigma_i ^ 2)
,
where each sigma_i
is the residual standard deviation of
study i
estimated from the pooled model.
v_tau
: posterior predictive variance of a hypothetical
new control group mean under the hierarchical model.
Calculated by averaging over predictive draws,
where each predictive draw is from
rnorm(n = 1, mean = mu_, sd = tau_)
and mu_
and tau_
are the
mu
and tau
components of an MCMC sample.
n
: number of non-missing historical control patients.
weight
: strength of borrowing as a ratio of variances: v0 / v_tau
.
ess
: strength of borrowing as a prior effective sample size:
n v0 / v_tau
, where n
is the number of non-missing historical
control patients.
Other summary:
hbl_summary()
set.seed(0)
data <- hbl_sim_independent(n_continuous = 2)$data
data$group <- sprintf("group%s", data$group)
data$study <- sprintf("study%s", data$study)
data$rep <- sprintf("rep%s", data$rep)
tmp <- utils::capture.output(
suppressWarnings(
pool <- hbl_mcmc_pool(
data,
chains = 1,
warmup = 10,
iter = 20,
seed = 0
)
)
)
tmp <- utils::capture.output(
suppressWarnings(
hierarchical <- hbl_mcmc_hierarchical(
data,
chains = 1,
warmup = 10,
iter = 20,
seed = 0
)
)
)
hbl_ess(
mcmc_pool = pool,
mcmc_hierarchical = hierarchical,
data = data
)
#> # A tibble: 4 × 7
#> # Groups: rep [4]
#> rep rep_label n v0 v_tau weight ess
#> <int> <chr> <int> <dbl> <dbl> <dbl> <dbl>
#> 1 1 rep1 400 6.32 0.446 14.2 5667.
#> 2 2 rep2 400 6.06 0.745 8.13 3253.
#> 3 3 rep3 400 6.20 0.900 6.89 2758.
#> 4 4 rep4 400 0.354 0.635 0.558 223.