Chcę przeprowadzić analizę ANCOVA danych dotyczących gęstości epifitów roślin. Na początku chciałbym wiedzieć, czy jest jakaś różnica w gęstości roślin między dwoma zboczami, jednym N i jednym S, ale mam inne dane, takie jak wysokość, otwartość czaszy i wysokość rośliny żywicielskiej. Wiem, że moją współzmienną musiałyby być dwa zbocza (N i S). Zbudowałem ten model, który działa w R i chociaż nie mam pojęcia, czy działa dobrze. Chciałbym również wiedzieć, jaka jest różnica, jeśli użyję symbolu + lub *.

model1 <- aov(density~slope+altitude+canopy+height) summary(model1) model1 

Komentarze

  • + obliczy tylko główne efekty, * oszacuje interakcje pomiędzy czynnikami związanymi z *. Frameworki ANCOVA zwykle szacują tylko główny wpływ czynnika ciągłego, ale interakcje między wszystkimi zgrupowanymi czynnikami.

Odpowiedź

Podstawowym narzędziem do tego jest lm; zwróć uwagę, że aov jest opakowaniem dla lm.

W szczególności, jeśli masz jakąś zmienną grupującą (czynnik), $ g $ i ciągłą zmienną współrzędną $ x $ , model y ~ x + g pasowałby do modelu ANCOVA z efektami głównymi, a y ~ x * g pasowałby do modelu, który obejmuje interakcję ze zmienną towarzyszącą. aov przyjmie te same formuły.

Zwróć szczególną uwagę na Note w pomocy do aov.

Jeśli chodzi o + i *, russellpierce prawie to obejmuje, ale radzę zajrzeć do ?lm i ?formula, a zwłaszcza do sekcji 11.1 podręcznika Wprowadzenie do języka R dołączone do języka R (lub możesz go znaleźć w Internecie, jeśli nie wiesz, jak go znaleźć na komputerze; najłatwiej jest to znaleźć menu rozwijane „Pomoc” w R lub RStudio).

Komentarze

  • przypuśćmy, że mam dwa czynniki grupowe $ g_1, g_2 $ i dwie współzmienne $ x_1, x_2 $, przy czym mój model to $$ y_ {ij} = \ mu + \ alpha_i + \ eta_j + x_ {ij1} \ gamma_1 + x_ {ij2} \ gamma_2 + \ epsilon_ {ij} $$ Czy y ~ g_1 + g_2 + x_1 + x_2 czy ta sama sztuczka? Czy wartości F uzyskane dla x_1 i x_2 testują odpowiednio $ \ gamma_1 = 0 $ i $ \ gamma_2 = 0 $?
  • Nie wiem, dlaczego to przegapiłem. Tak. …. a jeśli chcesz przetestować oba naraz, dopasuj oba z nimi i bez nich i przekaż dopasowane obiekty lm do anova (' Wkrótce zobaczymy, czy podasz je w złej kolejności, ponieważ niektóre SS będą ujemne)

Odpowiedź

Polecam zdobyć i przeczytać Discovering Statistics using R by Field. Ma fajną sekcję na temat ANCOVA.

Aby uruchomić ANCOVA w R, załaduj następujące pakiety:

car compute.es effects ggplot2 multcomp pastecs WRS 

Jeśli używasz lm lub aov (używam aov) upewnij się, że ustawiłeś kontrasty za pomocą „kontrastów „przed wykonaniem aov lub lm. R domyślnie używa nieortogonalnych kontrastów, które mogą zepsuć wszystko w ANCOVA. Jeśli chcesz ustawić ortogonalne kontrasty, użyj:

contrasts(dataname$factorvariable)=contr.poly(# of levels, i.e. 3) 

, a następnie uruchom model jako

model.1=aov(dv~covariate+factorvariable, data=dataname) 

Aby wyświetlić model, użyj:

Anova(model.1, type="III") 

Upewnij się, że używasz dużej litery „A” Anova tutaj, a nie anova. Daje to wyniki przy użyciu typu III SS.

summary.lm(model.1) poda kolejne podsumowanie i zawiera R-sq. wynik.

posth=glht(model.1, linfct=mcp(factorvariable="Tukey")) ##gives the post-hoc Tukey analysis summary(posth) ##shows the output in a nice format. 

Jeśli chcesz przetestować jednorodność nachyleń regresji, możesz również dołączyć termin interakcji dla IV i współzmiennej. To byłoby:

model=aov(dv~covariate+IV+covariate:IV, data=dataname) 

Jeśli termin interakcji jest znaczący, oznacza to, że nie masz jednorodności.

Komentarze

  • Dlaczego nieortogonalne kontrasty wszystko psują?
  • Aby odpowiedzieć na powyższe pytanie dotyczące „, dlaczego nieortogonalne kontrasty są bałaganem wszystko w górę „. Odpowiedź jest taka, że R domyślnie jest nieortogonalne (tj. Różnica między średnimi), co może powodować problemy, jeśli chcesz zobaczyć wkład każdego IV oddzielnie. Kiedy określamy kontrasty ortogonalne, mówimy R, że chcemy, aby SS dla IV ' były całkowicie podzielone na partycje i nie nakładały się. W ten sposób możemy jasno i wyraźnie zobaczyć zmienność przypisaną do każdego predyktora. Jeśli nie określisz tego, R domyślnie przyjmuje bardziej liberalne podejście do kontrastu.
  • Dlaczego zainteresowanie typem III SS?

Odpowiedź

Oto uzupełniająca dokumentacja http://goo.gl/yxUZ1R procedury sugerowanej przez @Butorovich. Dodatkowo, moja obserwacja jest taka, że gdy zmienna towarzysząca jest binarna, użycie sumowania (lm.object) dałoby takie samo oszacowanie IV, jak wygenerowane przez Anovę (lm.object, type = „III”).

Komentarze

  • Nie ' nie jest jasne, czy to ma być odpowiedź. Czy to jest? Jeśli tak, edytuj, aby wyjaśnić. Jeśli jest to pytanie, zadaj je, klikając ASK QUESTION u góry &, zadając pytanie. Wtedy możemy Ci właściwie pomóc.
  • Zgoda. Wiadomość została poprawiona jako (uzupełniająca) odpowiedź na poprzednią.

Odpowiedź

Używamy regresji analiza w celu stworzenia modeli opisujących wpływ zmienności zmiennych predykcyjnych na zmienną odpowiedzi. Czasami, jeśli mamy zmienną kategorialną z wartościami takimi jak Tak / Nie lub Mężczyzna / Kobieta itp., Prosta analiza regresji daje wiele wyników dla każdej wartości zmiennej kategorialnej. W takim scenariuszu możemy zbadać wpływ zmiennej kategorialnej, używając jej razem ze zmienną predykcyjną i porównując linie regresji dla każdego poziomu zmiennej jakościowej. Taka analiza jest określana jako analiza kowariancji nazywana również ANCOVA.

Przykład
Rozważmy R dane wbudowane ustaw mtcars. Widzimy w nim, że pole am reprezentuje typ transmisji (automatyczna lub ręczna). Jest to zmienna kategorialna o wartościach 0 i 1. Wartość mil na galon (mpg) samochodu może również zależeć od niej oprócz wartości koni mechanicznych (hp). Badamy wpływ wartości am na regresję między mpg a hp. Dokonuje się tego za pomocą funkcji aov(), po której następuje funkcja anova(), aby porównać wielokrotne regresje.

Dane wejściowe
Utwórz ramkę danych zawierającą pola mpg, hp i am ze zbioru danych mtcars. Tutaj bierzemy mpg jako zmienną odpowiedzi, hp jako zmienną predykcyjną, a am jako zmienna kategorialna.

input <- mtcars[,c("am","mpg","hp")] head(input) 

Kiedy wykonujemy powyższy kod, daje to następujący wynik:

 am mpg hp Mazda RX4 1 21.0 110 Mazda RX4 Wag 1 21.0 110 Datsun 710 1 22.8 93 Hornet 4 Drive 0 21.4 110 Hornet Sportabout 0 18.7 175 Valiant 0 18.1 105 

Analiza ANCOVA
Tworzymy model regresji, biorąc hp jako zmienną predykcyjną i mpg jako zmienna odpowiedzi uwzględniająca interakcję między am a hp.

Model z interakcją między zmienną kategorialną a zmienna predykcyjna

Utwórz model regresji1

result1 <- aov(mpg~hp*am,data=mtcars) summary(result1) 

Kiedy wykonujemy powyższy kod, daje to następujący wynik:

 Df Sum Sq Mean Sq F value Pr(>F) hp 1 678.4 678.4 77.391 1.50e-09 *** am 1 202.2 202.2 23.072 4.75e-05 *** hp:am 1 0.0 0.0 0.001 0.981 Residuals 28 245.4 8.8 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Ten wynik pokazuje, że zarówno moc konna, jak i rodzaj transmisji mają znaczący wpływ na mile na galon, ponieważ wartość p w obu przypadkach jest mniejsza niż 0,05. Ale interakcja między tymi dwiema zmiennymi nie jest znacząca, ponieważ wartość p jest większa niż 0,05.

Model bez interakcji między zmienną kategorialną a zmienną predykcyjną

Utwórz model regresji2

result2 <- aov(mpg~hp+am,data=mtcars) summary(result2) 

Kiedy wykonujemy powyższy kod, daje to następujący wynik:

 Df Sum Sq Mean Sq F value Pr(>F) hp 1 678.4 678.4 80.15 7.63e-10 *** am 1 202.2 202.2 23.89 3.46e-05 *** Residuals 29 245.4 8.5 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Ten wynik pokazuje, że zarówno moc koni mechanicznych, jak i rodzaj transmisji mają znaczący wpływ na mile na galon, ponieważ wartość p w obu przypadkach jest mniejsza niż 0,05.

Porównanie dwóch modeli
Teraz możemy porównać te dwa modele, aby stwierdzić, czy interakcja zmiennych jest naprawdę nieistotna. W tym celu używamy funkcji anova().

 anova(result1,result2) Model 1: mpg ~ hp * am Model 2: mpg ~ hp + am Res.Df RSS Df Sum of Sq F Pr(>F) 1 28 245.43 2 29 245.44 -1 -0.0052515 6e-04 0.9806 

Ponieważ wartość p jest większa niż 0,05, wnioskujemy, że interakcja między mocą konną a rodzajem przekładni nie jest znacząca. Tak więc przebieg na galon będzie w podobny sposób zależał od mocy samochodu w trybie automatycznej i manualnej skrzyni biegów.

Komentarze

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *