Meta für Nullvarianzstufe 2
Ich stoße auf Stufe 2 auf eine Nullvarianz für eine 3-Stufen-Metaanalyse mit Metafor (rma.mv), bei der die Effektgrößen (esid) in Studien (studyid) zusammengefasst sind. Hier ist mein Datenrahmen:
studyid <- c(1,1,1,1,3,3,4,5,5,5,5,6,6,7,7,7,7,7,7,7,7,8,8,9,10,10,10,10,11,11,11,11,12,12,13,13,14,14,
15,15,18,18,18,18,19,19,19,20,20,20,20,21,21,21,21,22,22,22,23,23,23,24,24,25,28,28,28,
29,29,30,30,30,31,32,32,34,34)
esid <- c(1:77)
yi <- c(4.20,2.90,2.70,3.90,1.40,0.80,11.40,5.00,21.50,20.84,28.73,7.40,4.00,1.38,0.47,1.44,0.46,1.63,
0.46,0.67,0.41,9.24,9.27,8.80,27.30,22.83,18.25,20.08,0.94,0.97,0.77,0.88,14.00,10.40,0.52,0.86,
29.39,33.82,15.30,15.92,45.60,63.10,46.40,44.60,0.10,0.11,0.12,0.17,0.26,0.26,0.31,8.20,1.80,
1.70,9.58,10.15,8.05,0.53,18.95,17.44,23.50,12.62,15.62,4.60,35.10,44.85,33.30,13.30,11.90,0.34,
0.35,0.26,0.69,0.50,0.62,23.80,20.40)
vi <- c(2.90,2.20,2.10,3.00,2.00,1.00,11.03,8.49,16.97,20.00,26.06,3.70,4.00,0.47,0.33,0.74,0.36,0.75,
0.33,0.44,0.37,7.60,5.63,8.80,12.01,13.15,14.41,11.57,0.57,0.76,0.43,0.62,3.50,3.00,0.59,0.65,
10.00,11.30,6.20,6.44,23.04,27.68,17.54,13.04,0.22,0.25,0.24,0.17,0.42,0.17,0.28,7.20,2.00,2.10,
10.08,5.30,3.75,0.68,6.70,6.53,5.74,13.91,31.65,4.10,7.54,12.81,5.28,8.20,7.70,0.25,0.28,0.19,
0.56,0.46,0.37,23.10,15.90)
df <- data.frame(authoryr,studyid,esid,yi,vi)
Hier ist mein Metafor-Code und meine Ausgabe:
overall <- rma.mv(yi, vi,
data = df,
level = 95,
method = "REML",
slab = authoryr,
tdist = TRUE,
random = list(~ 1 | esid,
~ 1 | studyid))
summary(overall)
Multivariate Meta-Analysis Model (k = 77; method: REML)
logLik Deviance AIC BIC AICc
-229.2872 458.5745 464.5745 471.5667 464.9078
Variance Components:
estim sqrt nlvls fixed factor
sigma^2.1 0.0000 0.0000 77 no esid
sigma^2.2 147.3645 12.1394 28 no studyid
Test for Heterogeneity:
Q(df = 76) = 1930.1990, p-val < .0001
Model Results:
estimate se tval pval ci.lb ci.ub
10.7087 2.3165 4.6229 <.0001 6.0951 15.3224 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Eine visuelle Überprüfung der Roheffektgrößen deutet darauf hin, dass es innerhalb der Studien Abweichungen gibt, sodass ich nicht sicher bin, was mit meinen Daten (oder meinem Code) nicht stimmt. Ich würde mich über jede Anleitung zu Lösungen aus der Community freuen.
Antworten
Es gibt wirklich große Unterschiede zwischen den Studien, aber die Schätzungen innerhalb der Studien variieren nicht mehr als man erwarten würde, allein aufgrund ihrer Stichprobenvariabilität. Sehen:
forest(overall, efac=c(0,0.5))
abline(h=nrow(df) - cumsum(rle(df$studyid)$length) + 0.5, lty="dotted")
Daher erscheint es mir völlig vernünftig, dass die Schätzung der Varianz zwischen den Studien sehr groß ist, während die Schätzung der Varianz innerhalb der Studie im Wesentlichen 0 beträgt.