10
$\begingroup$

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
$\endgroup$
10
$\begingroup$

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).

$\endgroup$

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.