Bitte geben Sie den R-Code an, mit dem Sie eine ANOVA zwischen den Probanden mit -3, -1, 1, 3 Kontrasten durchführen können. Ich verstehe, es gibt eine Debatte über den geeigneten Typ der Quadratsumme (SS) für eine solche Analyse. Da jedoch der in SAS und SPSS verwendete Standardtyp von SS (Typ III) in meiner Region als Standard gilt. Daher möchte ich, dass die Ergebnisse dieser Analyse genau mit den Ergebnissen dieser Statistikprogramme übereinstimmen. Um akzeptiert zu werden, muss eine Antwort direkt aov () aufrufen, aber andere Antworten können bewertet werden (insbesondere, wenn sie leicht zu verstehen / zu verwenden sind).
sample.data <- data.frame(IV=rep(1:4,each=20),DV=rep(c(-3,-3,1,3),each=20)+rnorm(80))
Bearbeiten: Bitte beachten Sie, dass der von mir angeforderte Kontrast kein einfacher linearer oder polynomieller Kontrast ist, sondern ein Kontrast, der aus einer theoretischen Vorhersage abgeleitet wurde, dh der Art der Kontraste, die von Rosenthal und Rosnow diskutiert wurden.
quelle
Antworten:
Die Quadratsumme Typ III für ANOVA ist über die
Anova()
Funktion aus dem Fahrzeugpaket verfügbar .Die Kontrastcodierung kann auf verschiedene Arten erfolgen, entweder mit
C()
dercontr.*
Familie (wie durch @nico angegeben) oder direkt mit dercontrasts()
Funktion / dem Argument. Dies wird ausführlich in §6.2 (S. 144-151) der Modern Applied Statistics with S (Springer, 2002, 4. Aufl.) Beschrieben . Beachten Sie, dass diesaov()
nur eine Wrapper-Funktion für das istlm()
Funktion ist. Es ist interessant, wenn man den Fehlerterm des Modells steuern möchte (wie bei einem objektinternen Entwurf), aber ansonsten beide das gleiche Ergebnis erzielen (und unabhängig davon, wie Sie zu Ihrem Modell passen, können Sie immer noch ANOVA oder LM- wie Zusammenfassungen mitsummary.aov
odersummary.lm
).Ich habe kein SPSS, um die beiden Ausgaben zu vergleichen, aber so etwas wie
ist es wert, in erster Instanz zu versuchen.
Informationen zur Faktorcodierung in R im Vergleich zu SAS: R betrachtet die Basis- oder Referenzstufe als die erste Stufe in lexikografischer Reihenfolge, während SAS die letzte Stufe betrachtet. Um vergleichbare Ergebnisse zu erhalten, müssen Sie entweder den R-Faktor
contr.SAS()
oderrelevel()
den verwenden.quelle
Anova(lm(DV ~ C(IV, c(-3,-1,1,3),1), data=sample.data), type="III")
sollte besser sein. Bitte lassen Sie mich wissen, ob dies für Sie in Ordnung ist.Dies mag ein bisschen nach Eigenwerbung aussehen (und ich nehme an, es ist so). Aber ich habe ein lsmeans- Paket für R (verfügbar auf CRAN) entwickelt, das genau für diese Art von Situation ausgelegt ist. So funktioniert es für Ihr Beispiel:
Sie können zusätzliche Kontraste in der Liste angeben, wenn Sie möchten. In diesem Beispiel erhalten Sie dieselben Ergebnisse mit dem integrierten linearen Polynomkontrast:
Beachten
"poly"
Sie zur Bestätigung, dass die Spezifikation den Aufruf anweistpoly.lsmc
, wodurch die folgenden Ergebnisse erzielt werden:Wenn Sie einen gemeinsamen Test mehrerer Kontraste durchführen möchten, verwenden Sie die
test
Funktion mitjoint = TRUE
. Beispielsweise,Dies führt zu einem "Typ III" -Test. Im Gegensatz
car::Anova()
dazu wird dies unabhängig von der in der Modellanpassungsphase verwendeten Kontrastkodierung korrekt durchgeführt. Dies liegt daran, dass die zu testenden linearen Funktionen direkt und nicht implizit über die Modellreduktion angegeben werden. Ein zusätzliches Merkmal ist, dass ein Fall erfasst wird, in dem die getesteten Kontraste linear abhängig sind, und die korrekte Teststatistik und die korrekten Freiheitsgrade erzeugt werden.quelle
Vielleicht möchten Sie einen Blick auf diesen Blogeintrag werfen:
Die gleiche ANOVA zu erhalten, führt zu R wie bei SPSS - den Schwierigkeiten bei den Quadratsummen Typ II und Typ III
( Spoiler: fügen Sie
options(contrasts=c("contr.sum", "contr.poly"))
am Anfang Ihres Skripts hinzu)quelle
Wenn Sie Kontraste erstellen, erstellen Sie eine bestimmte, angegebene lineare Kombination von Zellmitteln im Kontext des entsprechenden Fehlerterms. Daher ist das Konzept des "SS-Typs" für Kontraste nicht aussagekräftig. Jeder Kontrast ist im Wesentlichen der erste Effekt, der eine SS vom Typ I verwendet. "Art der SS" hat mit dem zu tun, was in den anderen Begriffen teilweise herausgestellt oder erklärt wird. Bei Kontrasten wird nichts herausgerechnet oder erklärt. Der Kontrast steht für sich.
quelle
Die Tatsache, dass Typ-III-Tests an Ihrem Arbeitsplatz verwendet werden, ist der schwächste Grund, sie weiterhin zu verwenden. SAS hat diesbezüglich erheblichen statistischen Schaden angerichtet. Die Exegese von Bill Venables, auf die oben Bezug genommen wurde, ist eine großartige Quelle dafür. Sag einfach nein zu Typ III; Es basiert auf einem fehlerhaften Gleichgewichtsbegriff und hat aufgrund der albernen Gewichtung der Zellen im unausgewogenen Fall eine geringere Leistung.
Eine natürlichere und weniger fehleranfällige Möglichkeit, allgemeine Kontraste zu erhalten und beschreiben zu können, was Sie getan haben, bietet die R-
rms
Paketfunktioncontrast.rms
. Kontraste können sehr komplex sein, für den Benutzer sind sie jedoch sehr einfach, da sie in Form von Unterschieden bei den Vorhersagewerten angegeben werden. Tests und gleichzeitige Kontraste werden unterstützt. Dies behandelt nichtlineare Regressionseffekte, nichtlineare Interaktionseffekte, partielle Kontraste und alles Mögliche.quelle
Probieren Sie den Befehl Anova in der Autobibliothek aus. Verwenden Sie das Argument type = "III", da standardmäßig Typ II verwendet wird. Beispielsweise:
quelle
Ebenfalls selbstbewusst habe ich dafür eine Funktion geschrieben: https://github.com/samuelfranssens/type3anova
Installieren Sie wie folgt:
Sie müssen auch das
car
Paket installiert haben.quelle