Computes the Cohen's d and Hedges'g effect size statistics.
cohen.d(d, ...)# S3 method for formula
cohen.d(formula,data=list(),...)
# S3 method for default
cohen.d(d,f,pooled=TRUE,paired=FALSE,
na.rm=FALSE, mu=0, hedges.correction=FALSE,
conf.level=0.95,noncentral=FALSE,
within=TRUE, subject=NA, ...)
a numeric vector giving either the data values (if f
is a factor) or the treatment group values (if f
is a numeric vector)
either a factor with two levels or a numeric vector of values, if NA
a single sample effect size is computed
a formula of the form y ~ f
, where y
is a numeric variable giving the values and f
a factor with two levels giving the corresponding groups.
If using a paired computation (paired=TRUE
) it is possible to specify the ids of the subjects using the form y ~ f | Subject(id)
which allow the correct pairing of the pre and post values.
A single sample effect size can be specified with the form y ~ .
.
an optional matrix or data frame containing the variables in the formula formula
. By default the variables are taken from environment(formula)
.
a logical indicating whether compute pooled standard deviation or the whole sample standard deviation. If pooled=TRUE
(default) pooled sd is used, if pooled=FALSE
the standard deviation of the the control group (the second argument or the one corresponding the the second level of the factor) is used instead.
logical indicating whether apply the Hedges correction
confidence level of the confidence interval
logical indicating whether to use non-central t distributions for computing the confidence interval.
a logical indicating whether to consider the values as paired, a warning is issued if
paired==TRUE
with the formula interface and not | Subject(id)
or with data and factor and no subject
is provided
indicates whether to compute the effect size using the within subject variation, taking into consideration the correlation between pre and post samples.
an array indicating the id of the subject for a paired computation, when the formula interface is used it can be indicated in the formula by adding | Subject(id)
, where id
is the column in the data that contains and id of the subjects to be paired.
numeric indicating the reference mean for single sample effect size.
logical indicating whether NA
s should be removed before computation;
if paired==TRUE
then all incomplete pairs are removed.
further arguments to be passed to or from methods.
A list of class effsize
containing the following components:
the statistic estimate
the confidence interval of the statistic
the within-groups standard deviation
the confidence level used to compute the confidence interval
a qualitative assessment of the magnitude of effect size
the method used for computing the effect size, either "Cohen's d"
or "Hedges' g"
When f
in the default version is a factor or a character, it must have two values and it identifies the two groups to be compared. Otherwise (e.g. f
is numeric), it is considered as a sample to be compare to d
.
In the formula version, f
is expected to be a factor, if that is not the case it is coherced to a factor and a warning is issued.
The function computes the value of Cohen's d statistics (Cohen 1988).
If required (hedges.correction==TRUE
) the Hedges g statistics is computed instead (Hedges and Holkin, 1985).
When paired
is set, the effect size is computed using the approach suggested in (Gibbons et al. 1993). In particular a correction to take into consideration the correlation of the two samples is applied (see Borenstein et al., 2009)
It is possible to perform a single sample effect size estimation either using a formula ~x
or passing f=NA
.
The computation of the CI requires the use of non-central Student-t distributions that are used when noncentral==TRUE
; otherwise a central distribution is used.
Also a quantification of the effect size magnitude is performed using the thresholds define in Cohen (1992).
The magnitude is assessed using the thresholds provided in (Cohen 1992), i.e. |d|<0.2 "negligible"
, |d|<0.5 "small"
, |d|<0.8 "medium"
, otherwise "large"
The variance of the d
is computed using the conversion formula reported at page 238 of Cooper et al. (2009):
$$ S^2_d = \left( \frac{n_1+n_2}{n_1 n_2} + \frac{d^2}{2 df}\right) \left( \frac{n_1+n_2}{df} \right)$$
Cohen, J. (1988). Statistical power analysis for the behavioral sciences (2nd ed.). New York:Academic Press.
Hedges, L. V. & Olkin, I. (1985). Statistical methods for meta-analysis. Orlando, FL: Academic Press.
Cohen, J. (1992). A power primer. Psychological Bulletin, 112, 155-159.
Cooper, Hedges, and Valentin (2009). The Handbook of Research Synthesis and Meta-Analysis
David C. Howell (2011). Confidence Intervals on Effect Size. Available at: https://www.uvm.edu/~statdhtx/methods8/Supplements/MISC/Confidence%20Intervals%20on%20Effect%20Size.pdf
Cumming, G.; Finch, S. (2001). A primer on the understanding, use, and calculation of confidence intervals that are based on central and noncentral distributions. Educational and Psychological Measurement, 61, 633-649.
Gibbons, R. D., Hedeker, D. R., & Davis, J. M. (1993). Estimation of effect size from a series of experiments involving paired comparisons. Journal of Educational Statistics, 18, 271-279.
M. Borenstein, L. V. Hedges, J. P. T. Higgins and H. R. Rothstein (2009) Introduction to Meta-Analysis. John Wiley & Son.
# NOT RUN {
treatment = rnorm(100,mean=10)
control = rnorm(100,mean=12)
d = (c(treatment,control))
f = rep(c("Treatment","Control"),each=100)
## compute Cohen's d
## treatment and control
cohen.d(treatment,control)
## data and factor
cohen.d(d,f)
## formula interface
cohen.d(d ~ f)
## compute Hedges' g
cohen.d(d,f,hedges.correction=TRUE)
# }
Run the code above in your browser using DataLab