Unter der Annahme, dass es sinnvoll ist, die Normalitätsannahme für Anova zu testen (siehe 1 und 2 )
Wie kann es in R getestet werden?
Ich würde erwarten, etwas zu tun wie:
## From Venables and Ripley (2002) p.165.
utils::data(npk, package="MASS")
npk.aovE <- aov(yield ~ N*P*K + Error(block), npk)
residuals(npk.aovE)
qqnorm(residuals(npk.aov))
Was nicht funktioniert, da "Residuen" keine Methode (und auch keine Vorhersage) für den Fall wiederholter Anova-Messungen haben.
Was ist also in diesem Fall zu tun?
Können die Residuen einfach ohne den Fehlerterm aus demselben Anpassungsmodell extrahiert werden? Ich bin mit der Literatur nicht vertraut genug, um zu wissen, ob dies gültig ist oder nicht. Vielen Dank im Voraus für jeden Vorschlag.
quelle
names(npk.aovE)
gibt `[1]" (Intercept) "" block "" Within "`Eine andere Möglichkeit wäre, die
lme
Funktion desnlme
Pakets zu verwenden (und dann das erhaltene Modell an zu übergebenanova
). Sie könnenresiduals
auf seiner Ausgabe verwenden.quelle
Ich denke, dass die Normalitätsannahme für jede der wiederholten Messungen bewertet werden kann, bevor die Analyse durchgeführt wird. Ich würde den Datenrahmen so umformen, dass jede Spalte einer wiederholten Messung entspricht, und dann für jede dieser Spalten einen Shapiro.-Test durchführen.
quelle
Venables und Ripley erklären später in ihrem Buch (S. 284) im Abschnitt über zufällige und gemischte Effekte, wie eine Restdiagnose für ein Design mit wiederholten Messungen durchgeführt wird.
Die Residuenfunktion (oder Residuen) wird für die aov-Ergebnisse für jede Schicht implementiert:
aus ihrem Beispiel:
oats.aov <- aov(Y ~ N + V + Error(B/V), data=oats, qr=T)
So erhalten Sie die angepassten Werte oder Residuen:
"Somit sind
fitted(oats.aov[[4]])
undresid(oats.aov[[4]])
Vektoren der Länge 54 die angepassten Werte und Residuen der letzten Schicht."Wichtig ist, dass sie hinzufügen:
"Es ist nicht möglich, sie eindeutig mit den Darstellungen des ursprünglichen Experiments zu verknüpfen."
Für die Diagnose verwenden sie eine Projektion:
Sie zeigen auch, dass das Modell mit lme erstellt werden kann, wie ein anderer Benutzer gepostet hat.
quelle
Hier sind zwei Optionen, mit aov und mit lme (ich denke, die zweite wird bevorzugt):
Das ursprüngliche Beispiel kam ohne die Interaktion (
Lme.mod <- lme(Y ~ N * V, random = ~1 | B/V, data = oats)
), aber es scheint damit zu arbeiten (und unterschiedliche Ergebnisse zu erzielen, also tut es etwas).Und das ist es...
aber der Vollständigkeit halber:
1 - Die Zusammenfassungen des Modells
2 - Der Tukey-Test mit wiederholten Messungen anova (3 Stunden danach !!).
3 - Die Normalitäts- und Homoskedastizitätskurven
quelle