Predictions of absolute effects from NMA models
Obtain predictions of absolute effects from NMA models fitted with nma()
.
For example, if a model is fitted to binary data with a logit link, predicted
outcome probabilities or log odds can be produced.
## S3 method for class 'stan_nma' predict( object, ..., baseline = NULL, newdata = NULL, study = NULL, trt_ref = NULL, type = c("link", "response"), level = c("aggregate", "individual"), baseline_type = c("link", "response"), baseline_level = c("individual", "aggregate"), probs = c(0.025, 0.25, 0.5, 0.75, 0.975), summary = TRUE )
object |
A |
... |
Additional arguments, passed to |
baseline |
An optional For regression models, this may be a list of Use the Use the |
newdata |
Only required if a regression model is fitted and If If If |
study |
Column of |
trt_ref |
Treatment to which the |
type |
Whether to produce predictions on the |
level |
The level at which predictions are produced, either
|
baseline_type |
When a |
baseline_level |
When a |
probs |
Numeric vector of quantiles of interest to present in computed
summary, default |
summary |
Logical, calculate posterior summaries? Default |
A nma_summary object if summary = TRUE
, otherwise a list
containing a 3D MCMC array of samples and (for regression models) a data
frame of study information.
plot.nma_summary()
for plotting the predictions.
## Smoking cessation # Run smoking RE NMA example if not already available if (!exists("smk_fit_RE")) example("example_smk_re", run.donttest = TRUE) # Predicted log odds of success in each study in the network predict(smk_fit_RE) # Predicted probabilities of success in each study in the network predict(smk_fit_RE, type = "response") # Predicted probabilities in a population with 67 observed events out of 566 # individuals on No Intervention, corresponding to a Beta(67, 566 - 67) # distribution on the baseline probability of response, using # `baseline_type = "response"` (smk_pred_RE <- predict(smk_fit_RE, baseline = distr(qbeta, 67, 566 - 67), baseline_type = "response", type = "response")) plot(smk_pred_RE, ref_line = c(0, 1)) # Predicted probabilities in a population with a baseline log odds of # response on No Intervention given a Normal distribution with mean -2 # and SD 0.13, using `baseline_type = "link"` (the default) # Note: this is approximately equivalent to the above Beta distribution on # the baseline probability (smk_pred_RE2 <- predict(smk_fit_RE, baseline = distr(qnorm, mean = -2, sd = 0.13), type = "response")) plot(smk_pred_RE2, ref_line = c(0, 1)) ## Plaque psoriasis ML-NMR # Run plaque psoriasis ML-NMR example if not already available if (!exists("pso_fit")) example("example_pso_mlnmr", run.donttest = TRUE) # Predicted probabilities of response in each study in the network (pso_pred <- predict(pso_fit, type = "response")) plot(pso_pred, ref_line = c(0, 1)) # Predicted probabilites of response in a new target population, with means # and SDs or proportions given by new_agd_int <- data.frame( bsa_mean = 0.6, bsa_sd = 0.3, prevsys = 0.1, psa = 0.2, weight_mean = 10, weight_sd = 1, durnpso_mean = 3, durnpso_sd = 1 ) # We need to add integration points to this data frame of new data # We use the weighted mean correlation matrix computed from the IPD studies new_agd_int <- add_integration(new_agd_int, durnpso = distr(qgamma, mean = durnpso_mean, sd = durnpso_sd), prevsys = distr(qbern, prob = prevsys), bsa = distr(qlogitnorm, mean = bsa_mean, sd = bsa_sd), weight = distr(qgamma, mean = weight_mean, sd = weight_sd), psa = distr(qbern, prob = psa), cor = pso_net$int_cor, n_int = 1000) # Predicted probabilities of achieving PASI 75 in this target population, given # a Normal(-1.75, 0.08^2) distribution on the baseline probit-probability of # response on Placebo (at the reference levels of the covariates), are given by (pso_pred_new <- predict(pso_fit, type = "response", newdata = new_agd_int, baseline = distr(qnorm, -1.75, 0.08))) plot(pso_pred_new, ref_line = c(0, 1))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.