TurnerEtAlPrior {bayesmeta} | R Documentation |
(Log-Normal) heterogeneity priors for binary outcomes as proposed by Turner et al. (2015).
Description
Use the prior specifications proposed in the paper by Turner et al., based on an analysis of studies using binary endpoints that were published in the Cochrane Database of Systematic Reviews.
Usage
TurnerEtAlPrior(outcome=c(NA, "all-cause mortality", "obstetric outcomes",
"cause-specific mortality / major morbidity event / composite (mortality or morbidity)",
"resource use / hospital stay / process", "surgical / device related success / failure",
"withdrawals / drop-outs", "internal / structure-related outcomes",
"general physical health indicators", "adverse events",
"infection / onset of new disease",
"signs / symptoms reflecting continuation / end of condition", "pain",
"quality of life / functioning (dichotomized)", "mental health indicators",
"biological markers (dichotomized)", "subjective outcomes (various)"),
comparator1=c("pharmacological", "non-pharmacological", "placebo / control"),
comparator2=c("pharmacological", "non-pharmacological", "placebo / control"))
Arguments
outcome |
The type of outcome investigated (see below for a list of possible values). |
comparator1 |
One comparator's type. |
comparator2 |
The other comparator's type. |
Details
Turner et al. conducted an analysis of studies listed in the
Cochrane Database of Systematic Reviews that were investigating
binary endpoints. As a result, they proposed empirically motivated
log-normal prior distributions for the (squared!) heterogeneity
parameter \tau^2
, depending on the particular type of outcome
investigated and the type of comparison in question. The log-normal
parameters (\mu
and \sigma
) here are internally stored in
a 3-dimensional array (named TurnerEtAlParameters
) and are most
conveniently accessed using the TurnerEtAlPrior()
function.
The outcome
argument specifies the type of outcome
investigated. It may take one of the following values
(partial matching is supported):
-
NA
-
"all-cause mortality"
-
"obstetric outcomes"
-
"cause-specific mortality / major morbidity event / composite (mortality or morbidity)"
-
"resource use / hospital stay / process"
-
"surgical / device related success / failure"
-
"withdrawals / drop-outs"
-
"internal / structure-related outcomes"
-
"general physical health indicators"
-
"adverse events"
-
"infection / onset of new disease"
-
"signs / symptoms reflecting continuation / end of condition"
-
"pain"
-
"quality of life / functioning (dichotomized)"
-
"mental health indicators"
-
"biological markers (dichotomized)"
-
"subjective outcomes (various)"
Specifying “outcome=NA
” (the default) yields the
marginal setting, without considering meta-analysis
characteristics as covariates.
The comparator1
and comparator2
arguments together
specify the type of comparison in question. These may take one of the
following values (partial matching is supported):
-
"pharmacological"
-
"non-pharmacological"
-
"placebo / control"
Any combination is allowed for the comparator1
and
comparator2
arguments, as long as not both arguments are set to
"placebo / control"
.
Note that the log-normal prior parameters refer to the
(squared) heterogeneity parameter \tau^2
. When you want
to use the prior specifications for \tau
, the square root,
as the parameter (as is necessary when using the bayesmeta()
function), you need to correct for the square root
transformation. Taking the square root is equivalent to dividing by
two on the log-scale, so the square root's distribution will still be
log-normal, but with halved mean and standard deviation. The relevant
transformations are already taken care of when using the resulting
$dprior()
, $pprior()
and $qprior()
functions; see
also the example below.
Value
a list with elements
parameters |
the log-normal parameters ( |
outcome.type |
the corresponding type of outcome. |
comparison.type |
the corresponding type of comparison. |
dprior |
a |
pprior |
a |
qprior |
a |
Author(s)
Christian Roever christian.roever@med.uni-goettingen.de
References
R.M. Turner, D. Jackson, Y. Wei, S.G. Thompson, J.P.T. Higgins. Predictive distributions for between-study heterogeneity and simple methods for their application in Bayesian meta-analysis. Statistics in Medicine, 34(6):984-998, 2015. doi:10.1002/sim.6381.
C. Roever, R. Bender, S. Dias, C.H. Schmid, H. Schmidli, S. Sturtz, S. Weber, T. Friede. On weakly informative prior distributions for the heterogeneity parameter in Bayesian random-effects meta-analysis. Research Synthesis Methods, 12(4):448-474, 2021. doi:10.1002/jrsm.1475.
See Also
Examples
# load example data:
data("CrinsEtAl2014")
# determine corresponding prior parameters:
TP <- TurnerEtAlPrior("surgical", "pharma", "placebo / control")
print(TP)
# a prior 95 percent interval for tau:
TP$qprior(c(0.025,0.975))
## Not run:
# compute effect sizes (log odds ratios) from count data
# (using "metafor" package's "escalc()" function):
crins.es <- escalc(measure="OR",
ai=exp.AR.events, n1i=exp.total,
ci=cont.AR.events, n2i=cont.total,
slab=publication, data=CrinsEtAl2014)
print(crins.es)
# perform meta analysis:
crins.ma01 <- bayesmeta(crins.es, tau.prior=TP$dprior)
# for comparison perform analysis using weakly informative Cauchy prior:
crins.ma02 <- bayesmeta(crins.es, tau.prior=function(t){dhalfcauchy(t,scale=1)})
# show results:
print(crins.ma01)
print(crins.ma02)
# compare estimates; heterogeneity (tau):
rbind("Turner prior"=crins.ma01$summary[,"tau"], "Cauchy prior"=crins.ma02$summary[,"tau"])
# effect (mu):
rbind("Turner prior"=crins.ma01$summary[,"mu"], "Cauchy prior"=crins.ma02$summary[,"mu"])
# illustrate heterogeneity priors and posteriors:
par(mfcol=c(2,2))
plot(crins.ma01, which=4, prior=TRUE, taulim=c(0,2),
main="informative log-normal prior")
plot(crins.ma02, which=4, prior=TRUE, taulim=c(0,2),
main="weakly informative half-Cauchy prior")
plot(crins.ma01, which=3, mulim=c(-3,0),
main="informative log-normal prior")
abline(v=0, lty=3)
plot(crins.ma02, which=3, mulim=c(-3,0),
main="weakly informative half-Cauchy prior")
abline(v=0, lty=3)
par(mfrow=c(1,1))
# compare prior and posterior 95 percent upper limits for tau:
TP$qprior(0.95)
crins.ma01$qposterior(0.95)
qhalfcauchy(0.95)
crins.ma02$qposterior(0.95)
## End(Not run)