Ich habe eine Drei-Wege-ANOVA mit wiederholten Messungen durchgeführt. Welche Post-hoc-Analysen sind gültig?
Dies ist ein vollständig ausgewogenes Design (2x2x2), bei dem einer der Faktoren eine wiederholte Messung innerhalb der Probanden aufweist. Ich kenne multivariate Ansätze für ANOVA mit wiederholten Messungen in R, aber mein erster Instinkt ist, mit einem einfachen aov () - Stil von ANOVA fortzufahren:
aov.repeated <- aov(DV ~ IV1 * IV2 * Time + Error(Subject/Time), data=data)
DV = Antwortvariable
IV1 = unabhängige Variable 1 (2 Ebenen, A oder B)
IV2 = unabhängige Variable 2 (2 Ebenen, Ja oder Nein)
IV3 = Zeit (2 Ebenen, vorher oder nachher)
Subjekt = Subjekt-ID (40 Subjekte insgesamt, 20 für jede Stufe von IV1: nA = 20, nB = 20)
summary(aov.repeated)
Error: Subject
Df Sum Sq Mean Sq F value Pr(>F)
IV1 1 5969 5968.5 4.1302 0.049553 *
IV2 1 3445 3445.3 2.3842 0.131318
IV1:IV2 1 11400 11400.3 7.8890 0.007987 **
Residuals 36 52023 1445.1
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Error: Subject:Time
Df Sum Sq Mean Sq F value Pr(>F)
Time 1 149 148.5 0.1489 0.701906
IV1:Time 1 865 864.6 0.8666 0.358103
IV2:Time 1 10013 10012.8 10.0357 0.003125 **
IV1:IV2:Time 1 852 851.5 0.8535 0.361728
Residuals 36 35918 997.7
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Alternativ habe ich darüber nachgedacht, das nlme-Paket für eine ANOVA im lme-Stil zu verwenden:
aov.repeated2 <- lme(DV ~ IV1 * IV2 * Time, random = ~1|Subject/Time, data=data)
summary(aov.repeated2)
Fixed effects: DV ~ IV1 * IV2 * Time
Value Std.Error DF t-value p-value
(Intercept) 99.2 11.05173 36 8.975972 0.0000
IV1 19.7 15.62950 36 1.260437 0.2156
IV2 65.9 15.62950 36 4.216385 0.0002 ***
Time 38.2 14.12603 36 2.704228 0.0104 *
IV1:IV2 -60.8 22.10346 36 -2.750701 0.0092 **
IV1:Time -26.2 19.97722 36 -1.311494 0.1980
IV2:Time -57.8 19.97722 36 -2.893295 0.0064 **
IV1:IV2:Time 26.1 28.25206 36 0.923826 0.3617
Mein erster Instinkt post-hoc von signifikanten 2-Wege-Interaktionen mit Tukey-Kontrasten unter Verwendung von glht () aus dem Multcomp-Paket:
data$IV1IV2int <- interaction(data$IV1, data$IV2)
data$IV2Timeint <- interaction(data$IV2, data$Time)
aov.IV1IV2int <- lme(DV ~ IV1IV2int, random = ~1|Subject/Time, data=data)
aov.IV2Timeint <- lme(DV ~ IV2Timeint, random = ~1|Subject/Time, data=data)
IV1IV2int.posthoc <- summary(glht(aov.IV1IV2int, linfct = mcp(IV1IV2int = "Tukey")))
IV2Timeint.posthoc <- summary(glht(aov.IV2Timeint, linfct = mcp(IV2Timeint = "Tukey")))
IV1IV2int.posthoc
#A.Yes - B.Yes == 0 0.94684
#B.No - B.Yes == 0 0.01095 *
#A.No - B.Yes == 0 0.98587 I don't care about this
#B.No - A.Yes == 0 0.05574 . I don't care about this
#A.No - A.Yes == 0 0.80785
#A.No - B.No == 0 0.00346 **
IV2Timeint.posthoc
#No.After - Yes.After == 0 0.0142 *
#Yes.Before - Yes.After == 0 0.0558 .
#No.Before - Yes.After == 0 0.5358 I don't care about this
#Yes.Before - No.After == 0 0.8144 I don't care about this
#No.Before - No.After == 0 0.1941
#No.Before - Yes.Before == 0 0.8616
Das Hauptproblem, das ich bei diesen Post-hoc-Analysen sehe, sind einige Vergleiche, die für meine Hypothesen nicht nützlich sind.
Vorschläge für eine angemessene Post-hoc-Analyse werden sehr geschätzt, danke.
Bearbeiten: Relevante Frage und Antwort, die auf das Testen manueller Kontrastmatrizen hinweist
quelle
/
wird verwendet, um die Verschachtelung zu kennzeichnen (wie es normalerweise in einem Split-Plot-Experiment zu sehen ist), im Gegensatz zu seiner Verwendung in demError
Begriff, inaov()
dem hauptsächlich angegeben wird, wie Fehlerschichten erstellt werden .Error
Begriff aufaov()
diese Weise formatiert , um anzugeben, dass diesTime
der Faktor innerhalb der Gruppen ist. Von BaronError(subj/(color + shape))
scheint in gleicher Weise verwendet zu werden.lme
Modell aufgerufen haben. Ich bin mir nicht sicher , wie ich es richtig benutze/
. Wie würden Sie festlegen ,Time
wie die innerhalb der Gruppen Faktor wie inError()
mitaov()
?Antworten:
Ich denke, Statistiker werden Ihnen sagen, dass es bei jeder Post-hoc-Analyse immer ein Problem gibt, da das Anzeigen der Daten Einfluss darauf haben kann, was Sie betrachten, und Sie könnten voreingenommen sein, weil Sie nach signifikanten Ergebnissen suchen. Die FDA in klinischen Studien verlangt, dass der statistische Plan vollständig im Protokoll festgelegt wird. In einem linearen Modell könnten Sie sicherlich die Kontraste vorgeben, die Sie betrachten möchten, falls die ANOVA oder ANCOVA einen Gesamtunterschied feststellt. Solche vorgegebenen Kontraste wären in Ordnung, solange auch die übliche Behandlung der Vielheit Teil davon ist.
quelle
R
. Insbesondere bin ich mir nicht sicher, ob es am besten geeignet ist, Kontrastmatrizen für die relevanten Tukey-Kontraste manuell anzugebenglht()
oder standardmäßig alle Vergleiche durchzuführen. Außerdem bin ich mir nicht sicher, wie ich mit der wiederholten MessungTime
von Post-hoc richtig umgehen soll .Wenn Sie ein Softwarepaket wie SAS haben, würden Sie wahrscheinlich proc Mix verwenden, um das gemischte Modell mit wiederholten Messungen durchzuführen. Wenn Sie angeben, welchen Kontrast Sie verwenden möchten, wird SAS dies für Sie richtig handhaben. Möglicherweise können Sie dies auch mit der wiederholten Option in PROC GLM tun. Seien Sie jedoch vorsichtig, da sie sich unterschiedlich verhalten und unterschiedliche Annahmen treffen. Die wiederholten Beobachtungen werden normalerweise korrigiert, weil sie etwas gemeinsam haben. Ich habe oft zu verschiedenen Zeitpunkten Messungen an demselben Patienten wiederholt. Bei der Berechnung der Kontraste treten also die Kovarianzterme in das Problem ein.
quelle