[R-meta] mix of information available from the individual studies to compute these measures

P. Roberto Bakker robertobakker at gmail.com
Sat Sep 30 11:11:02 CEST 2017


Hi everybody, 

I am conducting a meta-analysis of pre-post changes and find mix information. 
The notes how to solve this problem are very clear in the Metafor information (https://cran.r-project.org/web/packages/metafor/metafor.pdf) * 
Two questions
1. I was wondering whether the calculating in opposite direction would also be a good alternative. i.e. calculating the mean change + SD from pre-post (if m1i and m2i)? I have many studies with pre-post info. Please find the syntax as pilot**. Is this a good alternative?
2. The articles for my meta-analysis do not mention how mean changes/SD were calculated – so I never know whether calculating mean change/SD into if m1i and m2i, or from if m1i and m2i use the same formula. Probably Hedges g, but this is not sure. What is your view in this.

Best and thank you in advance. 
Roberto

* Metafor: https://cran.r-project.org/web/packages/metafor/metafor.pdf
“A few notes about the change score measures. In practice, one often has a mix of information available from the individual studies to compute these measures. In particular, if m1i and m2i are unknown, but the raw mean change is directly reported in a particular study, then you can set m1i to that value and m2i to 0 (making sure that the raw mean change was computed as m1i-m2i within that study and not the other way around). Also, for the raw mean change ("MC") or the standardized mean change using change score standardization ("SMCC"), if sd1i, sd2i, and ri are unknown, but the standard deviation of the change scores is directly reported, then you can set sd1i to that value and both sd2i and ri to 0. Finally, for the standardized mean change using raw score standardization ("SMCR"), argument sd2i is actually not needed, as the standardization is only based on sd1i (Becker, 1988; Morris, 2000), which is usually the pretest standard deviation (if the post-test standard deviation should be used, then set sd1i to that). Finally, all of these measures are also applicable for matched-pairs designs (subscripts 1 and 2 then simply denote the first and second group that are formed by the matching).”

** [I hope this is the correct way to send syntaxes it by mail]

datT <- data.frame(
  m_pre   = c(30.6, 23.5, 0.5, 53.4, 35.6),
  m_post  = c(38.5, 26.8, 0.7, 75.9, 36.0),
  sd_pre  = c(15.0, 3.1, 0.1, 14.5, 4.7),
  sd_post = c(11.6, 4.1, 0.1, 4.4, 4.6),
  ni      = c(20, 50, 9, 10, 14),
  ri      = c(0.47, 0.64, 0.77, 0.89, 0.44))

datC <- data.frame(
  m_pre   = c(23.1, 24.9, 0.6, 55.7, 34.8),
  m_post  = c(19.7, 25.3, 0.6, 60.7, 33.4),
  sd_pre  = c(13.8, 4.1, 0.2, 17.3, 3.1),
  sd_post = c(14.8, 3.3, 0.2, 17.9, 6.9),
  ni      = c(20, 42, 9, 11, 14),
  ri      = c(0.47, 0.64, 0.77, 0.89, 0.44))

datT
datC

datT <- escalc(measure="SMCR", m1i=m_post, m2i=m_pre, sd1i=sd_pre, ni=ni, ri=ri, data=datT)
datC <- escalc(measure="SMCR", m1i=m_post, m2i=m_pre, sd1i=sd_pre, ni=ni, ri=ri, data=datC)

datT
datC

datT[c(1:4),c(7,8)] <- NA
datC[c(1:4),c(7,8)] <- NA
datT[c(5),c(1:6)] <- NA
datC[c(5),c(1:6)] <- NA

datT
datC

datT <- replmiss(datT, escalc(measure="SMCR", m1i=m_post, m2i=m_pre, sd1i=sd_pre, ni=ni, ri=ri, data=datT))
datC <- replmiss(datC, escalc(measure="SMCR", m1i=m_post, m2i=m_pre, sd1i=sd_pre, ni=ni, ri=ri, data=datC))

datT
datC

dat <- data.frame(yi = datT$yi - datC$yi, vi = datT$vi + datC$vi)
round(dat, 2)

rma(yi, vi, data=dat, method="FE", digits=2)

Verzonden vanuit Mail voor Windows 10


	[[alternative HTML version deleted]]



More information about the R-sig-meta-analysis mailing list