Próbuję uruchomić powtarzane miary Anova w R, a następnie pewne specyficzne kontrasty dla tego zestawu danych. Myślę, że właściwym podejściem byłoby skorzystanie
Anova()
z pakietu samochodowego.
Zilustrujmy moje pytanie na przykładzie zaczerpniętym z ?Anova
użycia
OBrienKaiser
danych (uwaga: odrzuciłem czynnik płci z przykładu):
Mamy wzór z jednym czynnikiem między podmiotami, leczeniem (3 poziomy: kontrola, A, B) i 2 powtórzeniami -pomiary (w obrębie badanych) czynniki, faza (3 poziomy: przedtestowy, posttestowy, kontrolny) i godzina (5 poziomów: 1 do 5).
Standardową tabelę ANOVA podaje (w przeciwieństwie do przykładu (Anova) przełączyłem się na Sumę Kwadratów Typu 3, czyli tego chce moje pole):
require(car)
phase <- factor(rep(c("pretest", "posttest", "followup"), c(5, 5, 5)),
levels=c("pretest", "posttest", "followup"))
hour <- ordered(rep(1:5, 3))
idata <- data.frame(phase, hour)
mod.ok <- lm(cbind(pre.1, pre.2, pre.3, pre.4, pre.5, post.1, post.2, post.3, post.4, post.5, fup.1, fup.2, fup.3, fup.4, fup.5) ~ treatment, data=OBrienKaiser)
av.ok <- Anova(mod.ok, idata=idata, idesign=~phase*hour, type = 3)
summary(av.ok, multivariate=FALSE)
Teraz wyobraź sobie, że interakcja najwyższego rzędu byłaby znacząca (co nie jest prawdą) i chcielibyśmy zbadać ją dalej z następującymi kontrastami:
Czy istnieje różnica między godzinami 1 i 2 a godzinami 3 (kontrast 1) oraz między godzinami 1 i 2 a godziny 4 i 5 (kontrast 2) w warunkach leczenia (A&B razem)?
Innymi słowy, jak określić te kontrasty:
((treatment %in% c("A", "B")) & (hour %in% 1:2))
przeciw((treatment %in% c("A", "B")) & (hour %in% 3))
((treatment %in% c("A", "B")) & (hour %in% 1:2))
przeciw((treatment %in% c("A", "B")) & (hour %in% 4:5))
Moim pomysłem byłoby uruchomienie kolejnej ANOVA, w zależności od niepotrzebnego warunku leczenia (kontrola):
mod2 <- lm(cbind(pre.1, pre.2, pre.3, pre.4, pre.5, post.1, post.2, post.3, post.4, post.5, fup.1, fup.2, fup.3, fup.4, fup.5) ~ treatment, data=OBrienKaiser, subset = treatment != "control")
av2 <- Anova(mod2, idata=idata, idesign=~phase*hour, type = 3)
summary(av2, multivariate=FALSE)
Jednak nadal nie mam pojęcia, jak ustawić odpowiednią matrycę kontrastu w obrębie podmiotu, porównując godziny 1 i 2 z 3 i 1 i 2 z 4 i 5. I nie jestem pewien, czy pominięcie niepotrzebnej grupy terapeutycznej jest rzeczywiście dobrym pomysłem, ponieważ zmienia ogólny termin błędu.
Przed wyjazdem Anova()
myślałem również o tym lme
. Istnieją jednak niewielkie różnice w wartościach F i p między ANOVA podręcznika a tym, co jest zwracane z anove(lme)
powodu możliwych ujemnych odchyleń w standardowej ANOVA (które nie są dozwolone wlme
). W związku z tym ktoś wskazał mi, gls
który pozwala na dopasowanie ANOVA z powtarzanymi pomiarami, jednak nie ma argumentu kontrastowego.
Wyjaśnienie: Chcę testu F lub t (wykorzystującego sumy kwadratów typu III), który odpowiada, czy pożądane kontrasty są znaczące, czy nie.
Aktualizacja:
Zadałem już bardzo podobne pytanie na temat pomocy R, nie było odpowiedzi .
Podobne pytania zadawano R-help jakiś czas temu. Jednak odpowiedzi również nie rozwiązały problemu.
Aktualizacja (2015):
Ponieważ to pytanie wciąż generuje pewną aktywność, określenie tez i zasadniczo wszystkich innych kontrastów można teraz zrobić stosunkowo łatwo z afex
opakowaniem w połączeniu z lsmeans
opakowaniem, jak opisano w afekcie winietowej .
treatment
, 3) dla każdej osoby średnio ponad poziomyprePostFup
, 4) dla każdej osoby ze średniej godziny 1,2 (= grupa danych 1) jak również w ciągu godzin 3,4 (= grupa danych 2), 5) przeprowadzić test t dla 2 grup zależnych. Ponieważ Maxwell i Delaney (2004), a także Kirk (1995) zniechęcają do robienia kontrastów ze zbiorczym terminem błędu w projektach, może to być prosta alternatywa.