This is an R implementation of the web-based ‘Practical Meta-Analysis Effect Size Calculator’ from David B. Wilson. The original calculator can be found at http://www.campbellcollaboration.org/escalc/html/EffectSizeCalculator-Home.php.
Based on the input, the effect size can be returned as standardized mean
difference (d
), Cohen’s f
, eta
squared, Hedges’ g
, correlation
coefficient effect size r
or Fisher’s transformation z
, odds ratio
or log odds effect size.
The return value of all functions has the same structure:
- The effect size, whether being
d
,g
,r
,f
, (Cox) odds ratios or (Cox) logits, is always namedes
. - The standard error of the effect size,
se
. - The variance of the effect size,
var
. - The lower and upper confidence limits
ci.lo
andci.hi
. - The weight factor, based on the inverse-variance,
w
. - The total sample size
totaln
. - The effect size measure,
measure
, which is typically specified via thees.type
-argument. - Information on the effect-size conversion,
info
. - A string with the study name, if the
study
-argument was specified in function calls.
If the correlation effect size r
is computed, the transformed Fisher’s
z and their confidence intervals are also returned. The variance and
standard error for the correlation effect size r are always based on
Fisher’s transformation.
For odds ratios, the variance and standard error are always returned on the log-scale!
The esc package offers the S3 methods print()
and
as.data.frame()
.
The combine_esc()
method is a convenient way to create pooled data
frames of different effect size calculations, for further use. Here is
an example of combine_esc()
, which returns a data.frame
object.
library(esc)
e1 <- esc_2x2(grp1yes = 30, grp1no = 50, grp2yes = 40, grp2no = 45, study = "Study 1")
e2 <- esc_2x2(grp1yes = 30, grp1no = 50, grp2yes = 40, grp2no = 45, es.type = "or", study = "Study 2")
e3 <- esc_t(p = 0.03, grp1n = 100, grp2n = 150, study = "Study 3")
e4 <- esc_mean_sd(grp1m = 7, grp1sd = 2, grp1n = 50, grp2m = 9, grp2sd = 3, grp2n = 60, es.type = "logit",
study = "Study 4")
combine_esc(e1, e2, e3, e4)
#> study es weight sample.size se var ci.lo ci.hi measure
#> 1 Study 1 -0.3930 9.945 165 0.3171 0.10056 -1.01456 0.2285 logit
#> 2 Study 2 0.6750 9.945 165 0.3171 0.10056 0.36256 1.2567 or
#> 3 Study 3 0.2818 59.434 250 0.1297 0.01683 0.02755 0.5360 d
#> 4 Study 4 -1.3982 7.721 110 0.3599 0.12951 -2.10354 -0.6928 logit
esc is still under development, i.e. not all effect size computation options are implemented yet. The remaining options will follow in further updates.
To install the latest development snapshot (see latest changes below), type following commands into the R console:
library(githubinstall)
githubinstall::githubinstall("esc")
To install the latest stable release from CRAN, type following command into the R console:
install.packages("esc")
In case you want / have to cite my package, please use citation('esc')
for citation information.