Effect Size Computation for Meta Analysis

Implementation of the web-based 'Practical Meta-Analysis Effect Size Calculator' from David B. Wilson (< http://www.campbellcollaboration.org/escalc/html/EffectSizeCalculator-Home.php>) in R. Based on the input, the effect size can be returned as standardized mean difference, Cohen's f, Hedges' g, Pearson's r or Fisher's transformation z, odds ratio or log odds, or eta squared effect size.

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), 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, (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.

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.

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) > 1 Study 1 -0.3930426  9.944751         165 0.3171050 0.10055556 -1.01455689  0.2284717   logit
> 2 Study 2  0.6750000  9.944751         165 0.3171050 0.10055556  0.36256305  1.2566780      or
> 3 Study 3  0.2817789 59.433720         250 0.1297130 0.01682547  0.02754605  0.5360117       d
> 4 Study 4 -1.3981827  7.721145         110 0.3598812 0.12951447 -2.10353685 -0.6928285   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:


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


esc 0.2.0

  • write_esc() as a convenient wrapper to write results to an Excel csv-file.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.4.0 by Daniel Lüdecke, 8 days ago


Report a bug at https://github.com/strengejacke/esc/issues

Browse source code at https://github.com/cran/esc

Authors: Daniel Lüdecke <d.luedecke@uke.de>

Documentation:   PDF Manual  

Task views: Meta-Analysis

GPL-3 license

Imports dplyr, purrr, readr, sjmisc, tibble, utils

Depends on stats

See at CRAN