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.

### Return values

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 named es.
• The standard error of the effect size, se.
• The variance of the effect size, var.
• The lower and upper confidence limits ci.lo and ci.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 the es.type-argument.
• Information on the effect-size conversion, info.
• A string with the study name, if the study-argument was specified in function calls.

#### Correlation Effect Size

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.

#### Odds Ratio Effect Size

For odds ratios, the variance and standard error are always returned on the log-scale!

### S3 methods

The esc package offers the S3 methods print() and as.data.frame().

### Combining results into a single 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.

## Installation

### Latest development build

To install the latest development snapshot (see latest changes below), type following commands into the R console:

library(githubinstall)
githubinstall::githubinstall("esc")


### Official, stable release

To install the latest stable release from CRAN, type following command into the R console:

install.packages("esc")


## Citation

In case you want / have to cite my package, please use citation('esc') for citation information.