2017-03-25 5 views
0

Ich habe seit Jahren Typ III SS in R scheinbar ohne Problem verwendet. Aber jetzt habe ich ein Problem mit Typ-III-Summen von Quadraten in R, die höchst widersprüchliche Ergebnisse mit dem Auto-Paket ergeben.R Typ III SS produziert inkonsistente Ergebnisse

Ja, ich führe diese Codezeile jedes Mal.

options(contrasts = c("contr.treatment", "contr.poly")) 

Das Modell Ich verwende, ist dies:

M1 <- aov(Response ~ Location + Time + Fish*Nutrient, data=data) 
Anova(M1, type="III") 

Lage (2), Zeit (3), Fisch (3) und Nährstoff (3) sind alle kategorischen Variablen (# Ebene in Klammern). Wenn diese kategorischen Variablen als Zahlen in der Datendatei aufgeführt sind, führen Sie I (ein Beispiel):

data$Fish <- as.factor(data$Fish) 

Dies sind die Ergebnisse, die ich mit SAS erhalten:

  Sum Sq Df F value Pr(>F)  
Location  13.122 1 22.08 <.0001 
Time   15.746 2 7.87 <.0001 
Fish   25.876 2 12.94 <.0001 
Nutrient  22.074 2 11.04 <.0001  
Fish:Nutrient 13.780 4 3.44 0.0006 

Als ich lief dies zunächst in RI Nährstoff- und Fisch hatte mit allen numerischen Werten für jede Ebene und lief as.factor für jede Variable und erhielt diese Ergebnisse:

  Sum Sq Df F value Pr(>F)  
(Intercept) 56.827 1 95.6078 2.758e-13 *** 
Location  13.122 1 22.0767 2.020e-05 *** 
Time   15.746 2 13.2459 2.328e-05 *** 
Fish   24.682 2 20.7632 2.531e-07 *** 
Nutrient  0.424 2 0.3567 0.7017240  
Fish:Nutrient 13.780 4 5.7959 0.0006352 *** 
Residuals  30.313 51  

die einzigen Variablen über die verschieden sind, Fisch und Nu trient, und das gleiche gilt für jede nachfolgende Iteration.

Ich ging dann hinein und machte eine kleine Änderung am Datenblatt, eine der drei Ebenen von Fisch (ursprünglich 0, 1, 2) zu ändern (z, 1, 2). Die Ausgabe hat sich geändert in:

   Sum Sq Df F value Pr(>F)  
(Intercept) 5.3556 1 9.0104 0.0041488 ** 
Location  13.1220 1 22.0767 2.020e-05 *** 
Time   15.7462 2 13.2459 2.328e-05 *** 
Fish   24.6825 2 20.7632 2.531e-07 *** 
Nutrient  17.7692 2 14.9477 7.780e-06 *** 
Fish:Nutrient 13.7799 4 5.7959 0.0006352 *** 
Residuals  30.3134 51 

Eine große Veränderung! Und die Ausgabe ändert sich nicht, abhängig davon, ob ich als Faktor für diese neuen Ebenen laufe oder nicht.

I dann ein weitere Ebene des Fisches geändert (jetzt: z, o, 2) und der Ausgang nur geringfügig verändert:

   Sum Sq Df F value Pr(>F)  
(Intercept) 7.6351 1 12.8455 0.0007557 *** 
Location  13.1220 1 22.0767 2.020e-05 *** 
Time   15.7462 2 13.2459 2.328e-05 *** 
Fish   24.6825 2 20.7632 2.531e-07 *** 
Nutrient  17.6604 2 14.8562 8.243e-06 *** 
Fish:Nutrient 13.7799 4 5.7959 0.0006352 *** 
Residuals  30.3134 51 

Nach der letzten Stufe der Fische zu wechseln (z, o, t) der Ausgabe änderte sich leicht zu:

Der obige Ausgang ist identisch mit den letzten drei, die ich unten anzeigen.

Dann habe ich bewegt, um Nährstoff zu manipulieren (ursprünglich: 0, 4, 8), während Fisch auf den neuen Ebenen (z, o, t) gehalten wird. Ich änderte ersten Nährstoff (c, 4, 8):

   Sum Sq Df F value Pr(>F)  
(Intercept) 27.783 1 46.7425 9.854e-09 *** 
Location  13.122 1 22.0767 2.020e-05 *** 
Time   15.746 2 13.2459 2.328e-05 *** 
Fish   14.578 2 12.2628 4.484e-05 *** 
Nutrient  17.769 2 14.9477 7.780e-06 *** 
Fish:Nutrient 13.780 4 5.7959 0.0006352 *** 
Residuals  30.313 51 

Ändern zwei Ebene (c, f, 8):

    Sum Sq Df F value Pr(>F)  
(Intercept) 51.708 1 86.9940 1.313e-12 *** 
Location  13.122 1 22.0767 2.020e-05 *** 
Time   15.746 2 13.2459 2.328e-05 *** 
Fish   0.396 2 0.3332 0.7182029  
Nutrient  17.769 2 14.9477 7.780e-06 *** 
Fish:Nutrient 13.780 4 5.7959 0.0006352 *** 
Residuals  30.313 51 

Eine weitere große Veränderung!

Und drei Ebenen (c, f, e) die Ergebnisse in einem anderen großen Veränderung in Fisch, mit den engsten Ergebnisse mit denen von SAS:

   Sum Sq Df F value Pr(>F)  
(Intercept) 5.3556 1 9.0104 0.0041488 ** 
Location  13.1220 1 22.0767 2.020e-05 *** 
Time   15.7462 2 13.2459 2.328e-05 *** 
Fish   24.6825 2 20.7632 2.531e-07 *** 
Nutrient  17.7692 2 14.9477 7.780e-06 *** 
Fish:Nutrient 13.7799 4 5.7959 0.0006352 *** 
Residuals  30.3134 51  

Die Lage war auch ursprünglich eine numerische Variable mit zwei Ebenen (1 , 2).Also habe ich dann eine Ebene (y, 2):

   Sum Sq Df F value Pr(>F)  
(Intercept) 24.474 1 41.1763 4.535e-08 *** 
Location  13.122 1 22.0767 2.020e-05 *** 
Time   15.746 2 13.2459 2.328e-05 *** 
Fish   24.683 2 20.7632 2.531e-07 *** 
Nutrient  17.769 2 14.9477 7.780e-06 *** 
Fish:Nutrient 13.780 4 5.7959 0.0006352 *** 
Residuals  30.313 51 

Und dann zwei Ebenen (y, z):

   Sum Sq Df F value Pr(>F)  
(Intercept) 5.3556 1 9.0104 0.0041488 ** 
Location  13.1220 1 22.0767 2.020e-05 *** 
Time   15.7462 2 13.2459 2.328e-05 *** 
Fish   24.6825 2 20.7632 2.531e-07 *** 
Nutrient  17.7692 2 14.9477 7.780e-06 *** 
Fish:Nutrient 13.7799 4 5.7959 0.0006352 *** 
Residuals  30.3134 51 

Nein, es ändern, wenn Location Manipulation und das gleiche gilt für die Zeit. Also, warum sind meine Ergebnisse für Ort, Zeit und die Fisch: Nährstoff-Interaktion konsistent während all dies und identisch mit denen von SAS, doch die Ergebnisse für Fisch und Nährstoff ständig ändern und nie das Gleiche?

Es scheint, dass etwas falsch sein muss, dass solch große Änderungen mit nur geringfügigen Änderungen am Datenblatt auftreten, die selbst keinen Einfluss auf die Ergebnisse haben sollten. Ich habe mich bemüht, die oben genannten Modelle unter den gleichen Bedingungen zu betreiben. Die einzigen Änderungen betreffen die Datenblätter, die ich erwähnt habe.

Beachten Sie auch, dass ich das Problem mit einem ähnlichen Satz von Variablen und Ebenen replizieren konnte, mit ähnlichen Manipulationen von vollständig zusammengestellten Daten.

Antwort

0

Es sieht so aus, als ob R hier geordnete Faktoren verwendet, so dass das Ändern der Ebenennamen die Reihenfolge (alphabetisch als Standard) und damit die Anpassung ändert. Versuchen Sie data$Fish <- factor(data$Fish,ordered=FALSE) - und auch für Nährstoff. Wenn Location nur zwei Ebenen hat, spielt es keine Rolle, und die Zeit sollte wahrscheinlich trotzdem vergeben werden.

+0

Das hat funktioniert. Vielen Dank! – Matt

Verwandte Themen