Meta-análise em R usando o pacote metafor

10

Como devo sintaxe a rmafunção do pacote metafor para obter resultados no seguinte exemplo da vida real de uma pequena meta-análise? (efeito aleatório, estatística resumida 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
Desespero Estático
fonte

Respostas:

10

Crie um apropriado 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))

Execute a rmafunção:

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

Esteja ciente de que rmaassume (m1i-m2i). Isso resulta na seguinte meta-análise univariada do modelo de efeitos aleatórios:

> 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 

Você pode querer alterar a estimativa method, por exemplo method = "DL"(mas eu continuaria REML).

Bernd Weiss
fonte