An R
package for Bayesian meta-analysis that accounts
for publication bias or p-hacking.
publipha is an package for doing Bayesian meta-analysis that accounts for publication bias or p-hacking. Its main functions are:
psma
does random effects meta-analysis under
publication bias with a one-sided p-value based selection
probability. The model is roughly the same as that of (Hedges,
1992)phma
does random effects meta-analysis under a certain
model of p-hacking with a one-sided p-value based
propensity to p-hack. This is based on the forthcoming paper of
by Moss and De Bin
(2019).cma
does classical random effects meta-analysis with
the same priors as psma
and cma
.Use the following command from inside R
:
# install.packages("devtools")
::install_github("JonasMoss/publipha") devtools
Call the library
function and use it like a barebones
metafor::rma
. The alpha
tells
psma
or phma
where they should place the
cutoffs for significance.
library("publipha")
# Publication bias model
set.seed(313) # For reproducibility
= publipha::psma(yi = yi,
model_psma vi = vi,
alpha = c(0, 0.025, 0.05, 1),
data = metadat::dat.bangertdrowns2004)
# p-hacking model
set.seed(313)
= publipha::phma(yi = yi,
model_phma vi = vi,
alpha = c(0, 0.025, 0.05, 1),
data = metadat::dat.bangertdrowns2004)
# Classical model
set.seed(313)
= publipha::cma(yi = yi,
model_cma vi = vi,
alpha = c(0, 0.025, 0.05, 1),
data = metadat::dat.bangertdrowns2004)
You can calculate the posterior means of the meta-analytic mean with
extract_theta0
:
extract_theta0(model_psma)
#> [1] 0.1277197
extract_theta0(model_cma)
#> [1] 0.2212093
If you wish to plot a histogram of the posterior distribution of
tau
, the standard deviation of the effect size
distribution, you can do it like this:
extract_tau(model_psma, hist)
If you encounter a bug, have a feature request or need some help, open a Github issue. Create a pull requests to contribute.