durch Ich möchte eine ANCOVA-Analyse von Daten zur Dichte von Pflanzenepiphyten durchführen. Zuerst möchte ich wissen, ob es einen Unterschied in der Pflanzendichte zwischen zwei Hängen gibt, einem N und einem S, aber ich habe andere Daten wie Höhe, Offenheit des Baldachins und Höhe der Wirtspflanze. Ich weiß, dass meine Kovariate die beiden Hänge (N und S) sein müsste. Ich habe dieses Modell gebaut, das in R läuft, und obwohl ich keine Ahnung habe, ob es gut funktioniert. Ich würde auch gerne wissen, was der Unterschied ist, wenn ich das Symbol +
oder *
verwende.
model1 <- aov(density~slope+altitude+canopy+height) summary(model1) model1
Kommentare
- + berechnet nur die Haupteffekte, * schätzt die Wechselwirkungen zwischen Faktoren, die mit * verbunden sind. ANCOVA-Frameworks schätzen normalerweise nur einen Haupteffekt des kontinuierlichen Faktors, aber Wechselwirkungen zwischen allen gruppierten Faktoren.
Antwort
Das grundlegende Tool hierfür ist lm
; Beachten Sie, dass aov
ein Wrapper für lm
ist.
Insbesondere, wenn Sie eine Gruppierungsvariable (Faktor), $ g $ und eine fortlaufende Kovariate $ x $ , das Modell y ~ x + g
würde zu einem ANCOVA-Modell mit Haupteffekten passen, während y ~ x * g
zu einem Modell passen würde, das beinhaltet die Interaktion mit der Kovariate. aov
verwendet dieselben Formeln.
Achten Sie besonders auf die Note
in der Hilfe zu aov
.
Was +
vs *
betrifft, deckt russellpierce es ziemlich genau ab. Ich würde jedoch empfehlen, dass Sie sich ?lm
und ?formula
und insbesondere Abschnitt 11.1 des Handbuchs Eine Einführung in R , die mit R geliefert wird (oder Sie können es online finden, wenn Sie nicht herausgefunden haben, wie Sie es auf Ihrem Computer finden können; am einfachsten ist dies das Finden das Pulldown-Menü „Hilfe“ in R oder RStudio).
Kommentare
- Angenommen, ich habe zwei Gruppenfaktoren $ g_1, g_2 $ und zwei Kovariaten $ x_1, x_2 $, wobei mein Modell $$ y_ {ij} = \ mu + \ alpha_i + \ eta_j + x_ {ij1} \ gamma_1 + x_ {ij2} \ gamma_2 + \ epsilon_ {ij} $$ Ist y ~ g_1 + g_2 + x_1 + x_2 macht den gleichen Trick? Testen die gegen x_1 und x_2 erhaltenen F-Werte $ \ gamma_1 = 0 $ bzw. $ \ gamma_2 = 0 $?
- Nicht sicher, wie ich das verpasst habe. Ja. …. und wenn Sie beide gleichzeitig testen möchten, passen Sie beide mit und ohne an und übergeben Sie die angepassten lm-Objekte an
anova
(Sie ‚ werde bald sehen, ob du sie in der falschen Reihenfolge gibst, da einige SS negativ sind, wenn du dies tust)
Antwort
Ich empfehle, Discovering Statistics mit R by Field abzurufen und zu lesen. Er hat einen schönen Abschnitt über ANCOVA.
Um ANCOVA in R auszuführen, laden Sie die folgenden Pakete:
car compute.es effects ggplot2 multcomp pastecs WRS
Wenn Sie lm
oder aov
(ich verwende aov
) stellen Sie sicher, dass Sie die Kontraste mithilfe der „Kontraste“ einstellen „Funktion, bevor Sie entweder aov
oder lm
ausführen. R verwendet standardmäßig nicht orthogonale Kontraste, die alles in einer ANCOVA durcheinander bringen können. Wenn Sie orthogonale Kontraste festlegen möchten, verwenden Sie:
contrasts(dataname$factorvariable)=contr.poly(# of levels, i.e. 3)
Führen Sie Ihr Modell dann als
model.1=aov(dv~covariate+factorvariable, data=dataname)
Anova(model.1, type="III")
Stellen Sie sicher, dass Sie hier Großbuchstaben „A“ Anova
verwenden und nicht anova
. Dies ergibt Ergebnisse unter Verwendung von SS vom Typ III.
summary.lm(model.1)
gibt eine weitere Zusammenfassung und enthält das R-sq. Ausgabe.
posth=glht(model.1, linfct=mcp(factorvariable="Tukey")) ##gives the post-hoc Tukey analysis summary(posth) ##shows the output in a nice format.
Wenn Sie die Homogenität von Regressionssteigungen testen möchten, können Sie auch einen Interaktionsterm für IV und Kovariate einfügen. Das wäre:
model=aov(dv~covariate+IV+covariate:IV, data=dataname)
Wenn der Interaktionsterm signifikant ist, haben Sie keine Homogenität.
Kommentare
- Warum bringen nicht orthogonale Kontraste alles durcheinander?
- Um die obige Frage zu beantworten, “ warum nicht orthogonale Kontraste durcheinander bringen alles auf „. Die Antwort ist, dass R standardmäßig nicht orthogonal ist (d. H. Differenz zwischen Mitteln), was Probleme verursachen kann, wenn Sie den Beitrag jeder IV separat sehen möchten. Wenn wir orthogonale Kontraste angeben, teilen wir R mit, dass die SS für die IV ‚ vollständig partitioniert und nicht überlappend sein soll. Auf diese Weise können wir die Variation, die jedem Prädiktor zugeordnet ist, sauber und klar sehen. Wenn Sie nicht angeben, verwendet R standardmäßig eine liberalere Herangehensweise an den Kontrast.
- Warum das Interesse an Typ III SS?
Antwort
Hier ist eine ergänzende Dokumentation http://goo.gl/yxUZ1R des von @Butorovich vorgeschlagenen Verfahrens. Außerdem ist meine Beobachtung, dass die Verwendung der Zusammenfassung (lm.object) bei binärer Kovariate dieselbe IV-Schätzung ergibt wie die von Anova (lm.object, type = „III“).
Kommentare
- Es ist nicht ‚ klar, dass dies eine Antwort sein soll. Ist es? Wenn ja, bitte zur Verdeutlichung bearbeiten. Wenn es sich um eine Frage handelt, klicken Sie bitte auf die
ASK QUESTION
oben &, die Sie dort stellen. Dann können wir Ihnen richtig helfen. - Einverstanden. Die Nachricht wurde als (ergänzende) Antwort zur vorherigen Antwort überarbeitet.
Antwort
Wir verwenden Regression Analyse zur Erstellung von Modellen, die den Effekt der Variation von Prädiktorvariablen auf die Antwortvariable beschreiben. Wenn wir eine kategoriale Variable mit Werten wie Ja / Nein oder Männlich / Weiblich usw. haben, liefert die einfache Regressionsanalyse manchmal mehrere Ergebnisse für jeden Wert der kategorialen Variablen. In einem solchen Szenario können wir den Effekt der kategorialen Variablen untersuchen, indem wir sie zusammen mit der Prädiktorvariablen verwenden und die Regressionslinien für jede Ebene der kategorialen Variablen vergleichen. Eine solche Analyse wird als Analyse der Kovarianz bezeichnet und auch als ANCOVA bezeichnet.
Beispiel
Betrachten Sie die integrierten Daten R
setze mtcars
. Darin beobachten wir, dass das Feld am
die Art der Übertragung darstellt (automatisch oder manuell). Es ist eine kategoriale Variable mit den Werten 0 und 1. Der Wert für Meilen pro Gallone (mpg
) eines Autos kann neben dem Wert der Pferdestärke (). Wir untersuchen die Auswirkung des Werts von am
auf die Regression zwischen mpg
und hp
. Dazu wird die Funktion aov()
gefolgt von der Funktion anova()
verwendet, um die mehreren Regressionen zu vergleichen.
Eingabedaten
Erstellen Sie einen Datenrahmen mit den Feldern mpg
, hp
und aus dem Datensatz mtcars
. Hier nehmen wir mpg
als Antwortvariable, hp
als Prädiktorvariable und am
als die kategoriale Variable.
input <- mtcars[,c("am","mpg","hp")] head(input)
Wenn wir den obigen Code ausführen, wird folgendes Ergebnis erzeugt:
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
ANCOVA-Analyse
Wir erstellen ein Regressionsmodell, das hp
als Prädiktorvariable und mpg
verwendet als Antwortvariable unter Berücksichtigung der Interaktion zwischen am
und hp
.
Modell mit Interaktion zwischen kategorialer Variable und Prädiktorvariable
Regressionsmodell erstellen1
result1 <- aov(mpg~hp*am,data=mtcars) summary(result1)
Wenn wir den obigen Code ausführen, wird folgendes Ergebnis erzeugt:
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
Dieses Ergebnis zeigt, dass sowohl die Pferdestärke als auch der Übertragungstyp einen signifikanten Einfluss auf die Meilen pro Gallone haben, da der p-Wert in beiden Fällen weniger als 0,05 beträgt. Die Wechselwirkung zwischen diesen beiden Variablen ist jedoch nicht signifikant, da der p-Wert mehr als 0,05 beträgt.
Modell ohne Wechselwirkung zwischen kategorialer Variable und Prädiktorvariable
Erstellen Sie das Regressionsmodell2
result2 <- aov(mpg~hp+am,data=mtcars) summary(result2)
Wenn wir den obigen Code ausführen, führt dies zu folgendem Ergebnis:
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
Dieses Ergebnis zeigt, dass sowohl die Pferdestärke als auch der Übertragungstyp einen signifikanten Einfluss auf die Meilen pro Gallone haben, da der p-Wert in beiden Fällen weniger als 0,05 beträgt.
Vergleich zweier Modelle
Jetzt können wir die beiden Modelle vergleichen, um zu schließen, ob das Zusammenspiel der Variablen wirklich unbedeutend ist. Hierfür verwenden wir die Funktion 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
Da der p-Wert größer als 0,05 ist, schließen wir daraus Die Wechselwirkung zwischen Pferdestärke und Übertragungsart ist nicht signifikant. Der Kilometerstand pro Gallone hängt also in ähnlicher Weise von der Pferdestärke des Autos sowohl im automatischen als auch im manuellen Getriebemodus ab.
Kommentare
- Also Was war zuerst da, diese Antwort oder dieser Beitrag auf Tutorials Punkt? tutorialspoint.com/r/r_analysis_of_covariance.htm . Sollte diese Antwort als Plagiat gestrichen werden? Oder haben Tutorials gezeigt, dass sie nur von hier kopiert wurden?