So führen sie eine manova in r durch


Um MANOVA zu verstehen, ist es zunächst hilfreich, ANOVA zu verstehen.

Mithilfe einer ANOVA (Varianzanalyse) wird ermittelt, ob ein statistisch signifikanter Unterschied zwischen den Mittelwerten von drei oder mehr unabhängigen Gruppen besteht.

Nehmen wir zum Beispiel an, wir möchten wissen, ob die Lerntechnik einen Einfluss auf die Prüfungsergebnisse einer Klasse von Schülern hat. Wir haben die Klasse nach dem Zufallsprinzip in drei Gruppen eingeteilt. Jede Gruppe wendet einen Monat lang eine andere Lerntechnik an, um sich auf eine Prüfung vorzubereiten. Am Ende des Monats legen alle Studierenden die gleiche Prüfung ab.

Um herauszufinden, ob die Lerntechnik einen Einfluss auf die Prüfungsergebnisse hat, können wir eine einfache ANOVA durchführen, die uns sagt, ob es einen statistisch signifikanten Unterschied zwischen den Durchschnittsergebnissen der drei Gruppen gibt.

In einer ANOVA haben wir eine Antwortvariable. Bei einer MANOVA (multivariate Varianzanalyse) haben wir jedoch mehrere Antwortvariablen.

Nehmen wir zum Beispiel an, wir möchten wissen, welchen Einfluss das Bildungsniveau (z. B. High School, Associate-Abschluss, Bachelor-Abschluss, Master-Abschluss usw.) sowohl auf das Jahreseinkommen als auch auf die Höhe der Studentenschulden hat. In diesem Fall haben wir einen Faktor (Bildungsniveau) und zwei Antwortvariablen (Jahreseinkommen und Studentenschulden), sodass wir eine einfaktorielle MANOVA durchführen können.

Verwandte Themen: Die Unterschiede zwischen ANOVA, ANCOVA, MANOVA und MANCOVA verstehen

So führen Sie eine MANOVA in R durch

Im folgenden Beispiel veranschaulichen wir, wie eine einfaktorielle MANOVA in R mithilfe des integrierten Irisdatensatzes durchgeführt wird, der Informationen über die Länge und Breite verschiedener Blütenmaße für drei verschiedene Arten („setosa“, „virginica“) enthält. , „versicolor“):

 #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

Angenommen, wir möchten wissen, ob die Art einen Einfluss auf die Länge und Breite der Kelchblätter hat. Unter Verwendung der Art als unabhängige Variable und der Länge und Breite der Kelchblätter als Antwortvariablen können wir eine einfaktorielle MANOVA mit der Funktion manova() in R durchführen.

Die Funktion manova() verwendet die folgende Syntax:

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

Gold:

  • rv1, rv2 : Antwortvariable 1, Antwortvariable 2 usw.
  • iv : unabhängige Variable
  • Daten : Name des Datenrahmens

In unserem Beispiel mit dem Iris-Datensatz können wir eine MANOVA anpassen und die Ergebnisse mit der folgenden Syntax anzeigen:

 #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

Aus dem Ergebnis können wir ersehen, dass die F-Statistik 65,878 beträgt und der entsprechende p-Wert extrem klein ist. Dies weist darauf hin, dass es je nach Art einen statistisch signifikanten Unterschied bei den Kelchblattmessungen gibt.

Technischer Hinweis: Standardmäßig verwendet manova() die Pillai- Teststatistik. Da die Verteilung dieser Teststatistik komplex ist, wird zur einfacheren Interpretation auch ein ungefährer F-Wert angegeben.

Darüber hinaus ist es möglich, „Roy“, „Hotelling-Lawley“ oder „Wilks“ als zu verwendende Teststatistik anzugeben, indem die folgende Syntax verwendet wird: summary(model, test = „Wilks“)

Um genau herauszufinden, wie die Länge und Breite der Kelchblätter von der Art beeinflusst wird, können wir univariate ANOVAs mit summary.aov() durchführen, wie im folgenden Code gezeigt:

 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

Aus dem Ergebnis können wir ersehen, dass die p-Werte für beide univariaten ANOVAs extrem niedrig sind (<2,2e-16), was darauf hindeutet, dass die Art einen statistisch signifikanten Einfluss auf die Kelchblattbreite und -länge hat.

Visualisieren Sie die Ressourcen der Gruppe

Es kann auch nützlich sein, die Gruppenmittelwerte für jede Ebene unserer unabhängigen variablen Arten zu visualisieren, um unsere Ergebnisse besser zu verstehen.

Beispielsweise können wir die gplots- Bibliothek und die Funktion plotmeans() verwenden, um die durchschnittliche Länge der Kelchblätter nach Arten zu visualisieren:

 #load gplots library
library(gplots)

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

Aus der Grafik können wir ersehen, dass die durchschnittliche Kelchblattlänge zwischen den Arten stark variiert. Dies stimmt mit den Ergebnissen unserer MANOVA überein, die uns zeigten, dass es einen statistisch signifikanten Unterschied bei den Kelchblattmessungen zwischen den Arten gab.

Wir können auch die durchschnittliche Breite der Kelchblätter nach Art visualisieren:

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

Die vollständige Dokumentation zur manova() -Funktion finden Sie hier .

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert