View source: R/aft_stratified_pp.R
| aft.stratified.pp | R Documentation |
a_0Sample from the posterior distribution of an accelerated failure time (AFT) model using the power prior (PP) within
predefined strata. If the strata and power prior parameters (a_0's) are determined based on propensity scores,
this function can be used to sample from the posterior of an AFT model under the propensity score-integrated power
prior (PSIPP) by Wang et al. (2019) doi:10.1080/10543406.2019.1657133.
aft.stratified.pp(
formula,
data.list,
strata.list,
a0.strata,
dist = "weibull",
beta.mean = NULL,
beta.sd = NULL,
scale.mean = NULL,
scale.sd = NULL,
get.loglik = FALSE,
iter_warmup = 1000,
iter_sampling = 1000,
chains = 4,
...
)
formula |
a two-sided formula giving the relationship between the response variable and covariates.
The response is a survival object as returned by the |
data.list |
a list of |
strata.list |
a list of vectors specifying the stratum ID for each observation in the corresponding data set
in |
a0.strata |
A scalar or a vector of fixed power prior parameters ( |
dist |
a character indicating the distribution of survival times. Currently, |
beta.mean |
a scalar or a vector whose dimension is equal to the number of regression coefficients giving
the mean parameters for the initial prior on regression coefficients. If a scalar is provided,
|
beta.sd |
a scalar or a vector whose dimension is equal to the number of regression coefficients giving
the sd parameters for the initial prior on regression coefficients. If a scalar is provided,
same as for |
scale.mean |
location parameter for the half-normal prior on the scale parameter of the AFT model. Defaults to 0. |
scale.sd |
scale parameter for the half-normal prior on the scale parameter of the AFT model. Defaults to 10. |
get.loglik |
whether to generate log-likelihood matrix. Defaults to FALSE. |
iter_warmup |
number of warmup iterations to run per chain. Defaults to 1000. See the argument |
iter_sampling |
number of post-warmup iterations to run per chain. Defaults to 1000. See the argument |
chains |
number of Markov chains to run. Defaults to 4. See the argument |
... |
arguments passed to |
The power prior parameters (a_0's) are treated as fixed and must be provided for each stratum. Users must
also specify the stratum ID for each observation. Within each stratum, the initial priors on the regression
coefficients are independent normal priors, and the current and historical data models are assumed to have a common
scale parameter with a half-normal prior.
The function returns an object of class draws_df containing posterior samples. The object has two attributes:
a list of variables specified in the data block of the Stan program
a character string indicating the model name
Wang, C., Li, H., Chen, W.-C., Lu, N., Tiwari, R., Xu, Y., & Yue, L. Q. (2019). Propensity score-integrated power prior approach for incorporating real-world evidence in single-arm clinical studies. Journal of Biopharmaceutical Statistics, 29(5), 731–748.
if (instantiate::stan_cmdstan_exists()) {
if(requireNamespace("survival")){
library(survival)
data(E1684)
data(E1690)
## take subset for speed purposes
E1684 = E1684[1:100, ]
E1690 = E1690[1:50, ]
## replace 0 failure times with 0.50 days
E1684$failtime[E1684$failtime == 0] = 0.50/365.25
E1690$failtime[E1690$failtime == 0] = 0.50/365.25
data_list = list(currdata = E1690, histdata = E1684)
strata_list = list(rep(1:2, each = 25), rep(1:2, each = 50))
# Alternatively, we can determine the strata based on propensity scores
# using the psrwe package, which is available on GitHub
aft.stratified.pp(
formula = survival::Surv(failtime, failcens) ~ treatment,
data.list = data_list,
strata.list = strata_list,
a0.strata = c(0.3, 0.5),
dist = "weibull",
chains = 1, iter_warmup = 500, iter_sampling = 1000
)
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.