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) 

Um das Modell anzuzeigen, verwenden Sie:

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

Schreibe einen Kommentar

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