# Meta-analysis in R using metafor package

How should I syntax the rma function from metafor package in order to get results in the following real-life example of a small meta-analysis? (random-effect, summary statistic SMD)

study,      mean1, sd1,    n1,  mean2,  sd2,   n2

Foo2000,    0.78,  0.05,   20,  0.82,   0.07,  25
Sun2003,    0.74,  0.08,   30,  0.72,   0.05,  19
Pric2005,   0.75,  0.12,   20,  0.74,   0.09,  29
Rota2008,   0.62,  0.05,   24,  0.66,   0.03,  24
Pete2008,   0.68,  0.03,   10,  0.68,   0.02,  10


Create a proper data.frame:

df <- structure(list(study = structure(c(1L, 5L, 3L, 4L, 2L), .Label = c("Foo2000",
"Pete2008", "Pric2005", "Rota2008", "Sun2003"), class = "factor"),
mean1 = c(0.78, 0.74, 0.75, 0.62, 0.68), sd1 = c(0.05, 0.08,
0.12, 0.05, 0.03), n1 = c(20L, 30L, 20L, 24L, 10L), mean2 = c(0.82,
0.72, 0.74, 0.66, 0.68), sd2 = c(0.07, 0.05, 0.09, 0.03,
0.02), n2 = c(25L, 19L, 29L, 24L, 10L)), .Names = c("study",
"mean1", "sd1", "n1", "mean2", "sd2", "n2"), class = "data.frame", row.names = c(NA,
-5L))


Run the rma-function:

library(metafor)
rma(measure = "SMD", m1i = mean1, m2i = mean2,
sd1i = sd1, sd2i = sd2, n1i = n1, n2i = n2,
method = "REML", data = df)


Please be aware that rma assumes (m1i-m2i). This results in the following univariate random effects model meta-analysis:

> rma(measure = "SMD", m1i = mean1, m2i = mean2,
+     sd1i = sd1, sd2i = sd2, n1i = n1, n2i = n2,
+     method = "REML", data = df)

Random-Effects Model (k = 5; tau^2 estimator: REML)

tau^2 (estimate of total amount of heterogeneity): 0.1951 (SE = 0.2127)
tau (sqrt of the estimate of total heterogeneity): 0.4416
I^2 (% of total variability due to heterogeneity): 65.61%
H^2 (total variability / within-study variance):   2.91

Test for Heterogeneity:
Q(df = 4) = 11.8763, p-val = 0.0183

Model Results:

estimate       se     zval     pval    ci.lb    ci.ub
-0.2513   0.2456  -1.0233   0.3061  -0.7326   0.2300

---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1


You might want to change the estimation method, e.g. method = "DL" (but I would stick with REML).