# Meta-Analyse # # Beispiele aus Wilson (siehe Datei "Wilson.pdf" auf der BaseURL): # BaseURL="http://www2.jura.uni-hamburg.de/instkrim/kriminologie/Mitarbeiter/Enzmann/Lehre/StatIIKrim/" # # Für eine Meta-Analyse muss zunächst das R-Paket "meta" installiert werden # (geht evt. im Computer-Pool, auf jeden Fall zu Hause) indem in R bei bestehen- # dem Internet-Anschluss im Menü "Pakete" "installiere Pakete" ausgewählt wird. # Als CRAN-Mirror empfehle ich Germany(Goettingen). Danach kann man die folgen- # de Syntax laufen lassen. # # Die Datei "wilson_ex.txt" enthält die Daten aus Wilson & Lipsey. Hierin sind # die "inversen Varianzgewichte" schon berechnet. Die Funktion metagen() be- # nötigt aber die Standardfehler (se.ES) der Effektgrößen (ES). Deshalb werden # diese zunächst berechnet und zusammen mit den Effektgrößten in einer Tabelle # dargestellt: library(meta) # "Grafiken aufzeichnen" einschalten (mittels der - oder - # Tasten lassen sich die erstellten Grafiken anschließend durchblättern): windows(record=T) # Beispieldatensatz einlesen: # Falls kein Internetanschluss besteht, die folgende Anweisung auskommentieren # und die darauf folgende Anweisung entkommentieren, wobei ggf. der Pfad zur # Datei "wilson_ex.txt" entsprechend angepasst werden muss (hierbei unbedingt # statt des Back-Slashes (\) den Vorwärts-Slash (/) benutzen!): wilson = read.table(paste(BaseURL,"wilson_ex.txt",sep=""),header=T,sep="\t") # wilson = read.table("wilson_ex.txt",header=T,sep="\t") wilson # ============================================================================== # Beispiel zur Meta-Analyse aus Wilson (Tabelle auf S. 14, Folie 15): attach(wilson) # Berechnen des Standardfehlers der Effektgrößen entsprechend der Inverse der # Formel in Wilson, S. 13, Folie 11: se.ES = sqrt(1/w) cbind(Study,ES,se.ES) # Hier wird sowohl eine fixed effect als auch eine random effects Meta-Analyse # durchgeführt (vgl. Wilson S. 14-16 und 19-20): meta1=metagen(ES,se.ES,sm='WMD') meta1 # Die Grafik stellt die individuellen fixed effekt Konfidenzintervalle und # desweiteren sowohl die fixed effect als auch die random effects durchschnitt- # lichen Effektgrößen dar: plot(meta1,comb.f=T,comb.r=T,main='Wilson Example') # Vergleiche die Ausgabetabelle und die berechneten Werte mit dem Berechnungs- # beispiel in Wilson & Lipsey. Der R-Output enhält statt w den prozentualen # Anteil des Gewichts an der Summe aller Gewichte (%w), einmal für sog. fixed- # effects Modelle und zum anderen für sog. random-effects Modelle. Hieran lässt # sich besser als an w ablesen, mit welchem Anteil die jeweilige Studie in das # Gesamtergebnis eingeht. Man beachte, dass Wilsons nu (sprich: nü) in R als # Theta bezeichnet wird. # ============================================================================== # Demonstration zur Heterogenitätsanalyse (Wilson, S. 17-18): # # Zunächst wird die Variable Group erzeugt, anhand derer die Studien in die # Gruppen "random sample" (Studien 1-6) und "nonrandom sample" (Studien 7-10) # unterteilt werden können: Group = factor(rep(c(0,1),c(6,4)),labels=c("random samples","nonrandom samples")) cbind(Study,ES,se.ES,Group) # Meta-Analyse für beide Gruppen, wobei hier nur eine fixed effect Meta-Analyse # berechnet wird (für eine random effects Analyse müsste statt comb.random=F # comb.fixed=F spezifiziert werden): meta2=metagen(ES,se.ES,sm='WMD',byvar=Group,comb.random=F) meta2 plot(meta2,byvar=Group,main="Analysis of Heterogeneity: Grouping by RandSamp")