Skip to content
Prev 2344 / 5636 Next

[R-meta] Further question on data extraction

Hi Tobias,

You could just do:

escalc(measure="SMD", m1i=48+29.7, m2i=47.3+26.7, sd1i=15, sd2i=19.4, n1i=43, n2i=41)

So that would be d = (mean1_post - mean2_post) / SD_pooled_pre.

Alternatively, one could compute the difference between the standardized mean changes (using raw score standardization). And since you know the baseline SD and the change score SD, you can back-calculate the correlation (under the sd1i = sd2i assumption).

SDchange1 <- (sqrt(43)*(34.7-24.7))/(2*qt(.975, df=43-1))
SDchange2 <- (sqrt(41)*(31.8-21.6))/(2*qt(.975, df=41-1)) # check the n for group 2

So (again using simple algebra):

r1 <- 1 - SDchange1^2 / (2*15^2)
r2 <- 1 - SDchange2^2 / (2*19.4^2)

And then:

dat1 <- escalc(measure="SMCR", m1i=29.7, m2i=0, sd1i=15,   ni=43, ri=r1)
dat2 <- escalc(measure="SMCR", m1i=26.7, m2i=0, sd1i=19.4, ni=41, ri=r2)

dat <- data.frame(yi = dat1$yi - dat2$yi, vi = dat1$vi + dat2$vi)
dat

So that would be d = (mean1_post - mean1_pre) / SD1_pre - (mean2_post - mean2_pre) / SD2_pre.

The values are actually quite different here (d = .21 vs d = .59), but they are both 'acceptable' SMD values. I cannot tell you which one to use, but see Morris and DeShon (2002) for a discussion of the difference. I would also consider what the majority of studies report/provide. If they are more along the lines of the first d-type, then I would go with that.

Best,
Wolfgang