Zakładając, że istnieje sens w testowaniu założenia normalności dla anova (patrz 1 i 2 )
Jak można to przetestować w R?
Spodziewałbym się zrobić coś takiego:
## 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))
Co nie działa, ponieważ „reszty” nie mają metody (ani nie przewidują, jeśli o to chodzi) w przypadku anova powtarzanych pomiarów.
Co więc należy zrobić w tym przypadku?
Czy reszty można po prostu wyodrębnić z tego samego modelu dopasowania bez terminu Błąd? Nie znam wystarczająco literatury, aby wiedzieć, czy jest to ważne, czy nie, z góry dziękuję za wszelkie sugestie.
źródło
names(npk.aovE)
zwraca „[1]” (przechwycenie) „” blok ”„ Wewnątrz ”„Inną opcją byłoby użycie
lme
funkcjinlme
pakietu (a następnie przekazanie uzyskanego modelu doanova
). Możesz użyćresiduals
na jego wyjściu.źródło
Myślę, że założenie normalności można ocenić dla każdej z powtarzanych miar przed wykonaniem analizy. Przekształciłem ramkę danych, aby każda kolumna odpowiadała powtarzanej mierze, a następnie wykonam test shapiro dla każdej z tych kolumn.
źródło
Venables i Ripley wyjaśniają, w jaki sposób przeprowadzić diagnostykę resztkową dla projektu z powtarzanymi pomiarami w dalszej części swojej książki (s. 284), w części dotyczącej efektów losowych i mieszanych.
Funkcja reszt (lub reszta) jest implementowana dla wyników aov dla każdej warstwy:
z ich przykładu:
oats.aov <- aov(Y ~ N + V + Error(B/V), data=oats, qr=T)
Aby uzyskać dopasowane wartości lub wartości resztkowe:
„Tak
fitted(oats.aov[[4]])
iresid(oats.aov[[4]])
wektory długości 54 reprezentujące dopasowanych wartości i pozostałości z ostatniej warstwy”.Co ważne, dodają:
„Nie można jednoznacznie powiązać ich z fabułami oryginalnego eksperymentu”.
Do diagnostyki używają projekcji:
Pokazują również, że model można wykonać za pomocą lme, jak napisał inny użytkownik.
źródło
Oto dwie opcje, z aov i z lme (myślę, że druga jest preferowana):
Oryginalny przykład przyszedł bez interakcji (
Lme.mod <- lme(Y ~ N * V, random = ~1 | B/V, data = oats)
), ale wydaje się, że z nim współpracuje (i daje różne wyniki, więc coś robi).I to wszystko...
ale dla kompletności:
1 - Podsumowania modelu
2 - Test Tukeya z powtarzanymi pomiarami anova (3 godziny szukania tego !!).
3 - Wykresy normalności i homoscedastyczności
źródło