3
$\begingroup$

Mean difference: 3.7 CI(1.4-6.0) Cohen's d=0.4 how do i calculate the 95% CI of this effect size?

$\endgroup$
4
$\begingroup$

If you know the sizes of the two groups, you can use the 'tes' function in the 'compute.es' package in R, using the following: library(compute.es) tes(t=??, n.1=??, n.2=??)

If you have n1 and n2, you can find t as follows:

t = d*sqrt((n1*n2)/(n1+n2))

Then you can plug into tes() and it will give you a 95% CI for d=0.4.

For example, if you have n1=99 and n2 = 99, then t = 2.81

The top part of the tes() function will give you the 95% CI for d as:

Mean Differences ES:

d [ 95 %CI] = 0.4 [ 0.12 , 0.68 ] 

You can find a full explanation of Confidence Intervals for effect sizes here:

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.

Or, alternatively, there is a nice walk-through here: http://www.uvm.edu/~dhowell/methods7/Supplements/Confidence%20Intervals%20on%20Effect%20Size.pdf

I hope that helps!

$\endgroup$
  • $\begingroup$ Thank you very much! I was able to calculate the CI now (-0.0609-0.8609) $\endgroup$ – user48054 Mar 5 '15 at 15:29
  • $\begingroup$ Great! There's a related post here, in case you're interested why you CI now includes 0 whereas the original one did not: stats.stackexchange.com/questions/140344/… $\endgroup$ – Jordan Collins Mar 5 '15 at 15:31
  • $\begingroup$ Is this the same for paired-samples t-tests? $\endgroup$ – user98112 Dec 13 '15 at 22:27
  • $\begingroup$ does this work for Cohen's q too? $\endgroup$ – grey Mar 12 '16 at 16:11
  • $\begingroup$ @grey: you've answered your question here: stats.stackexchange.com/questions/197391/… Was there something else you were looking for? $\endgroup$ – Jordan Collins Mar 14 '16 at 13:20
2
$\begingroup$

Updated Answer (Sept 2018): There is now a function in R called cohen.d.ci in the psych package.

So for example, you can do obtain confidence intervals on d using the following function:

psych::cohen.d.ci(d = .1, n1 = 100, n2 = 100)

This would return the following:

           lower effect     upper
 [1,] -0.1777814    0.1 0.3772792

You can also use it where you have a vector of d effect sizes and sample sizes. For example, you might be doing a meta-analysis. Or you might have a large table where you are reporting many sample sizes:

data <- data.frame(d = rep(0.5, 5), n1 = seq(100, 500, 100), n2 = seq(100, 500, 100))
ds <- psych::cohen.d.ci(data$d, data$n1, data$n2)
cbind(data, ds)

This yields the following matrix:

    d  n1  n2     lower effect     upper
1 0.5 100 100 0.1005884    0.5 0.8969416
2 0.5 200 200 0.2178744    0.5 0.7809048
3 0.5 300 300 0.2697461    0.5 0.7294395
4 0.5 400 400 0.3006463    0.5 0.6987449
5 0.5 500 500 0.3217247    0.5 0.6777884

Original Answer (Dec 2016): I found Jordan's answer useful, so I wrapped it up into an R function:

cohensd.ci <- function(d, n1, n2, ci = 0.95) {
    library(compute.es)
    t <- d * sqrt((n1 * n2)/(n1 + n2))
    capture.output(
        fit <- compute.es::tes(t = t, n.1 = n1, n.2 = n2, level = 100 * ci),
        file = "NUL"
    )
    c(lower.ci = fit$l.d, upper.ci = fit$u.d)
}

So for example, a cohen's d of 0.5 with sample sizes of 100 in each group would be:

cohensd.ci(d = 0.5, n1 = 100, n2 = 100)    

resulting in:

lower.ci upper.ci 
    0.22     0.78 
$\endgroup$
  • $\begingroup$ I am trying different packages (compute.es, psych, and MBESS) for CI around cohen's d and they yield different results for the same values. Any idea why? $\endgroup$ – beberuhi Oct 9 at 19:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.