The estmeansd
package implements the methods of McGrath et
al. (2020) and Cai et al. (2021)
for estimating the sample mean and standard deviation from commonly
reported quantiles in meta-analysis. Specifically, these methods can be
applied to studies that report one of the following sets of summary
statistics:
This package also implements the methods described by McGrath et al. (2023) to estimate the standard error of these mean and standard deviation estimators. The estimated standard errors are needed for computing the weights in conventional inverse-variance weighted meta-analysis approaches.
Additionally, the Shiny app estmeansd implements these methods.
Note that the R package metamedian can
apply these methods (as well as several others) to perform a
meta-analysis. See McGrath
et al. (in press) for a guide on using the metamedian
package.
You can install the released version of estmeansd
from
CRAN with:
install.packages("estmeansd")
After installing the devtools
package (i.e., calling
install.packages(devtools)
), the development version of
estmeansd
can be installed from GitHub with:
::install_github("stmcg/estmeansd") devtools
Specifically, this package implements the Box-Cox (BC), Quantile
Estimation (QE), and Method for Unknown Non-Normal Distributions (MLN)
approaches to estimate the sample mean and standard deviation. The BC,
QE, and MLN methods can be applied using the bc.mean.sd()
qe.mean.sd()
, and mln.mean.sd()
functions,
respectively:
library(estmeansd)
set.seed(1)
# BC Method
<- bc.mean.sd(min.val = 2, med.val = 4, max.val = 9, n = 100)
res_bc
res_bc #> $est.mean
#> [1] 4.210971
#>
#> $est.sd
#> [1] 1.337348
# QE Method
<- qe.mean.sd(min.val = 2, med.val = 4, max.val = 9, n = 100)
res_qe
res_qe#> $est.mean
#> [1] 4.347284
#>
#> $est.sd
#> [1] 1.502171
# MLN Method
<- mln.mean.sd(min.val = 2, med.val = 4, max.val = 9, n = 100)
res_mln
res_mln#> $est.mean
#> [1] 4.195238
#>
#> $est.sd
#> [1] 1.294908
To estimate the standard error of these mean estimators, we can apply
the get_SE()
function as follows:
# BC Method
<- get_SE(res_bc)
res_bc_se $est.se
res_bc_se#> [1] 0.1649077
# QE Method
<- get_SE(res_qe)
res_qe_se $est.se
res_qe_se#> [1] 0.2391081
# MLN Method
<- get_SE(res_mln)
res_mln_se $est.se
res_mln_se#> [1] 0.1505351