Jak wykonać manova w r


Aby zrozumieć MANOVA, warto najpierw zrozumieć ANOVA.

ANOVA (analiza wariancji) służy do określenia, czy istnieje statystycznie istotna różnica między średnimi z trzech lub więcej niezależnych grup.

Załóżmy na przykład, że chcemy wiedzieć, czy technika uczenia się ma wpływ na wyniki egzaminów danej klasy uczniów. Podzieliliśmy klasę losowo na trzy grupy. Każda grupa stosuje inną technikę nauki przez miesiąc, aby przygotować się do egzaminu. Pod koniec miesiąca wszyscy uczniowie przystępują do tego samego egzaminu.

Aby dowiedzieć się, czy technika uczenia się ma wpływ na wyniki egzaminu, możemy przeprowadzić jednoczynnikową analizę ANOVA, która powie nam, czy istnieje statystycznie istotna różnica między średnimi wynikami trzech grup.

W ANOVA mamy zmienną odpowiedzi. Jednakże w MANOVA (wielowymiarowa analiza wariancji) mamy wiele zmiennych odpowiedzi.

Załóżmy na przykład, że chcemy wiedzieć, jaki wpływ ma poziom wykształcenia (tj. szkoła średnia, stopień naukowy, licencjat, magister itp.) zarówno na roczny dochód, jak i wysokość długu studenckiego. W tym przypadku mamy jeden czynnik (poziom wykształcenia) i dwie zmienne odpowiedzi (roczny dochód i zadłużenie studentów), więc możemy wykonać jednokierunkową MANOVA.

Powiązane: Zrozumienie różnic między ANOVA, ANCOVA, MANOVA i MANCOVA

Jak wykonać MANOVA w R

W poniższym przykładzie zilustrujemy, jak wykonać jednokierunkową MANOVA w R, korzystając z wbudowanego zestawu danych tęczówki , który zawiera informacje o długości i szerokości różnych wymiarów kwiatów dla trzech różnych gatunków („setosa”, „virginica” , „wersikolor”):

 #view first six rows of iris dataset
head(iris)

# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#1 5.1 3.5 1.4 0.2 setosa
#2 4.9 3.0 1.4 0.2 setosa
#3 4.7 3.2 1.3 0.2 setosa
#4 4.6 3.1 1.5 0.2 setosa
#5 5.0 3.6 1.4 0.2 setosa
#6 5.4 3.9 1.7 0.4 setosa

Załóżmy, że chcemy wiedzieć, czy gatunek ma wpływ na długość i szerokość działki. Używając gatunku jako zmiennej niezależnej oraz długości i szerokości działki jako zmiennych odpowiedzi, możemy wykonać jednokierunkową MANOVA, używając funkcji manova() w R.

Funkcja manova() wykorzystuje następującą składnię:

manova (cbind (rv1, rv2, …) ~ iv, dane)

Złoto:

  • rv1, rv2 : zmienna odpowiedzi 1, zmienna odpowiedzi 2 itd.
  • iv : zmienna niezależna
  • dane : nazwa ramki danych

W naszym przykładzie ze zbiorem danych tęczówki możemy dopasować MANOVA i wyświetlić wyniki, stosując następującą składnię:

 #fit the MANOVA model
model <- manova(cbind(Sepal.Length, Sepal.Width) ~ Species, data = iris)

#view the results
summary(model)
# Df Pillai approx F num Df den Df Pr(>F)    
#Species 2 0.94531 65.878 4,294 < 2.2e-16 ***
#Residuals 147                                             
#---
#Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Z wyniku widzimy, że statystyka F wynosi 65,878, a odpowiadająca jej wartość p jest niezwykle mała. Wskazuje to, że istnieje statystycznie istotna różnica w wymiarach działek w zależności od gatunku.

Uwaga techniczna: Domyślnie funkcja manova() używa statystyki testowej Pillai . Ponieważ rozkład tej statystyki testowej jest złożony, dla łatwiejszej interpretacji podano także przybliżoną wartość F.

Dodatkowo możliwe jest określenie „Roy”, „Hotelling-Lawley” lub „Wilks” jako statystyki testowej i użycie jej przy użyciu następującej składni: podsumowanie(model, test = „Wilks”)

Aby dowiedzieć się dokładnie, jak gatunek wpływa na długość i szerokość działek, możemy wykonać jednowymiarową analizę ANOVA za pomocą funkcji podsumowanie.aov() , jak pokazano w następującym kodzie:

 summary.aov(model)


# Response Sepal.Length:
# Df Sum Sq Mean Sq F value Pr(>F)    
#Species 2 63.212 31.606 119.26 < 2.2e-16 ***
#Residuals 147 38.956 0.265                      
#---
#Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

# Response Sepal.Width:
# Df Sum Sq Mean Sq F value Pr(>F)    
#Species 2 11.345 5.6725 49.16 < 2.2e-16 ***
#Residuals 147 16.962 0.1154                      
#---
#Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Z wyniku widzimy, że wartości p dla obu jednowymiarowych ANOVA są wyjątkowo niskie (<2,2e-16), co wskazuje, że gatunek ma statystycznie istotny wpływ na szerokość i długość działek .

Wizualizuj zasoby grupy

Przydatna może być również wizualizacja średnich grupowych dla każdego poziomu naszych niezależnych gatunków zmiennych, aby lepiej zrozumieć nasze wyniki.

Na przykład możemy użyć biblioteki gplots i funkcji plotmeans() do wizualizacji średniej długości działek według gatunków :

 #load gplots library
library(gplots)

#visualize mean sepal length by species
plotmeans(iris$Sepal.Length ~ iris$Species)

Z wykresu widać, że średnia długość działek różni się znacznie w zależności od gatunku. Zgadza się to z wynikami naszego badania MANOVA, które pokazało nam, że istnieje statystycznie istotna różnica w pomiarach działek między gatunkami.

Możemy również wizualizować średnią szerokość działek według gatunków :

 plotmeans(iris$Sepal.Width ~ iris$Species)

Zobacz pełną dokumentację funkcji manova() tutaj .

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *