Wie kann ich testen Effekte in einem Split-Plot ANOVA unter Verwendung geeigneter Modellvergleiche zur Verwendung mit den X
und M
Argumente anova.mlm()
in R? Ich kenne ?anova.mlm
und Dalgaard (2007). Leider werden nur Split-Plot-Designs gebürstet. Dies in einem vollständig randomisierten Design mit zwei Faktoren innerhalb des Subjekts zu tun:
N <- 20 # 20 subjects total
P <- 3 # levels within-factor 1
Q <- 3 # levels within-factor 2
DV <- matrix(rnorm(N* P*Q), ncol=P*Q) # random data in wide format
id <- expand.grid(IVw1=gl(P, 1), IVw2=gl(Q, 1)) # intra-subjects layout of data matrix
library(car) # for Anova()
fitA <- lm(DV ~ 1) # between-subjects design: here no between factor
resA <- Anova(fitA, idata=id, idesign=~IVw1*IVw2)
summary(resA, multivariate=FALSE, univariate=TRUE) # all tests ...
Die folgenden Modellvergleiche führen zu den gleichen Ergebnissen. Das eingeschränkte Modell enthält nicht den fraglichen Effekt, sondern alle anderen Effekte in derselben oder einer niedrigeren Reihenfolge. Das vollständige Modell fügt den fraglichen Effekt hinzu.
anova(fitA, idata=id, M=~IVw1 + IVw2, X=~IVw2, test="Spherical") # IVw1
anova(fitA, idata=id, M=~IVw1 + IVw2, X=~IVw1, test="Spherical") # IVw2
anova(fitA, idata=id, M=~IVw1 + IVw2 + IVw1:IVw2,
X=~IVw1 + IVw2, test="Spherical") # IVw1:IVw2
Ein Split-Splot-Design mit einem Faktor innerhalb und einem Faktor zwischen Subjekten:
idB <- subset(id, IVw2==1, select="IVw1") # use only first within factor
IVb <- gl(2, 10, labels=c("A", "B")) # between-subjects factor
fitB <- lm(DV[ , 1:P] ~ IVb) # between-subjects design
resB <- Anova(fitB, idata=idB, idesign=~IVw1)
summary(resB, multivariate=FALSE, univariate=TRUE) # all tests ...
Dies sind die anova()
Befehle zum Replizieren der Tests, aber ich weiß nicht, warum sie funktionieren. Warum führen die Tests der folgenden Modellvergleiche zu den gleichen Ergebnissen?
anova(fitB, idata=idB, X=~1, test="Spherical") # IVw1, IVw1:IVb
anova(fitB, idata=idB, M=~1, test="Spherical") # IVb
Zwei Faktoren innerhalb der Subjekte und ein Faktor zwischen den Subjekten:
fitC <- lm(DV ~ IVb) # between-subjects design
resC <- Anova(fitC, idata=id, idesign=~IVw1*IVw2)
summary(resC, multivariate=FALSE, univariate=TRUE) # all tests ...
Wie repliziere ich die oben angegebenen Ergebnisse mit den entsprechenden Modellvergleichen zur Verwendung mit X
und M
Argumenten von anova.mlm()
? Welche Logik steckt hinter diesen Modellvergleichen?
EDIT: suncoolsu wies darauf hin, dass für alle praktischen Zwecke Daten aus diesen Entwürfen mit gemischten Modellen analysiert werden sollten. Ich möchte jedoch immer noch verstehen, wie die Ergebnisse von summary(Anova())
mit repliziert werden anova.mlm(..., X=?, M=?)
.
[1]: Dalgaard, S. 2007. Neue Funktionen für die multivariate Analyse. R News, 7 (2), 2-7.
lme4
Paket verwenden, um das Modell zu passen UND NICHTlm
. Dies kann jedoch eine sehr spezifische buchbasierte Ansicht sein. Ich werde es von anderen kommentieren lassen. Ich kann ein Beispiel dafür geben, wie ich es interpretiere, das sich von Ihrem unterscheidet.Antworten:
Das
X
undM
spezifizieren im Wesentlichen die beiden Modelle, die Sie vergleichen möchten, jedoch nur in Bezug auf die subjektinternen Effekte. Daraufhin werden Ergebnisse für die Interaktion aller Effekte zwischen Subjekten (einschließlich des Abschnitts) mit den Effekten innerhalb des Subjekts angezeigt, die sich zwischenX
und geändert habenM
.Ihre Beispiele für
fitB
sind einfacher zu verstehen, wenn wir die Standardeinstellungen fürX
und hinzufügenM
:Das erste Modell ist der Wechsel von No-in-Subjekt-Effekten (alle haben den gleichen Mittelwert) in einen anderen Mittelwert für jeden. Daher haben wir den
id
Zufallseffekt hinzugefügt. Dies ist das Richtige, um den Gesamtabschnitt und den Gesamtzwischen-Subjekt-Effekt zu testen auf.Das zweite Modell zeigt die
id:IVw1
Interaktion an, die das Richtige ist, um sie zu testenIVw1
und mit denIVw1:IVb
Begriffen abzugleichen. Da es nur einen subjektinternen Effekt gibt (mit drei Ebenen), wird der Standardwertdiag(3)
im zweiten Modell berücksichtigt. es wäre gleichbedeutend mit laufenfitC
Ich glaube für Sie , dass diese Befehle dieAnova
Zusammenfassung neu erstellen .Nun, wie Sie festgestellt haben, sind diese Befehle wirklich schwierig. Zum Glück gibt es keinen Grund mehr, sie zu benutzen. Wenn Sie bereit sind, Sphärizität anzunehmen, sollten Sie einfach die richtigen F-Tests
aov
verwendenlm
und selbst berechnen, um die Syntax zu vereinfachen . Wenn Sie nicht bereit sind, Sphärizität anzunehmen,lme
ist die Verwendung von die richtige Wahl, da Sie viel flexibler sind als bei den Korrekturen für GG und HF.Zum Beispiel ist hier der
aov
undlm
Code für IhrefitA
. Sie müssen die Daten zuerst im Langformat haben. Hier ist eine Möglichkeit, dies zu tun:Und hier ist
lm and
aov` Code:quelle
anova()
dem hierAnova()
beschriebenen Problem interessiert . Aber Ihr letzter Vorschlag funktioniert genauso gut und ist einfacher. (Kleinigkeit: Ich denke, in den letzten 2 Zeilen fehlt jeweils eine schließende Klammer, und es sollte lauten )Error(id/(IVw1*IVw2))
Split-Plot-Entwürfe stammen aus der Landwirtschaft, daher der Name. Aber sie kommen häufig vor und ich würde sagen - das Arbeitstier der meisten klinischen Studien. Die Hauptdarstellung wird mit einem Faktor behandelt, während die Werte eines anderen Faktors mit den Unterdarstellungen variieren können. Das Design ergibt sich aus Einschränkungen einer vollständigen Randomisierung. Zum Beispiel: Ein Feld kann in vier Unterzeichnungen unterteilt werden. Es kann möglich sein, verschiedene Sorten in Teilflächen anzupflanzen, es kann jedoch nur eine Art der Bewässerung für das gesamte Feld verwendet werden. Nicht die Unterscheidung zwischen Splits und Blöcken. Blöcke sind Merkmale der experimentellen Einheiten, die wir im experimentellen Design nutzen können, weil wir wissen, dass sie vorhanden sind. Splits schränken dagegen ein, welche Zuordnungen von Faktoren möglich sind. Sie stellen Anforderungen an das Design, die eine vollständige Randomisierung verhindern.
Sie werden häufig in klinischen Studien eingesetzt, bei denen ein Faktor leicht zu ändern ist, während ein anderer Faktor viel mehr Zeit in Anspruch nimmt. Wenn der Experimentator nacheinander alle Läufe für jede Stufe des schwer zu ändernden Faktors ausführen muss, wird ein Split-Plot-Design erstellt, bei dem der schwer zu ändernde Faktor den gesamten Plot-Faktor darstellt.
Hier ein Beispiel: In einem landwirtschaftlichen Feldversuch sollten die Auswirkungen von zwei Pflanzensorten und vier verschiedenen Bewässerungsmethoden ermittelt werden. Es standen acht Felder zur Verfügung, es kann jedoch nur eine Art von Bewässerung auf jedes Feld angewendet werden. Die Felder können in zwei Teile mit jeweils unterschiedlicher Sorte unterteilt werden. Der gesamte Plotfaktor ist die Bewässerung, die den Feldern zufällig zugewiesen werden sollte. In jedem Feld wird die Sorte zugeordnet.
So machen Sie das in
R
:Nach diesem Modell sind Bewässerung und Vielfalt im Grunde genommen feste Effekte, und die Vielfalt ist in die Bewässerung eingebettet. Die Felder sind die zufälligen Effekte und werden bildlich so ähnlich sein
Dies war jedoch eine spezielle Variante mit festem Gesamtplot-Effekt und Nebenplot-Effekt. Es kann Varianten geben, bei denen eine oder mehrere zufällig sind. Es kann kompliziertere Designs wie Split-Split-Plot-Designs geben. Grundsätzlich kann man wild und verrückt werden. Aber angesichts der zugrunde liegenden Struktur und Verteilung (dh fest oder zufällig, verschachtelt oder gekreuzt, ..) ist klar, dass ein
lmer-Ninja
Wille keine Probleme bei der Modellierung hat. Vielleicht ist die Interpretation ein Chaos.Sagen Sie in Bezug auf Vergleiche, Sie haben
lmer1
undlmer2
:Sie erhalten den geeigneten Test basierend auf der Chi-Quadrat-Teststatistik mit Freiheitsgraden, die der Differenz der Parameter entsprechen.
Siehe: Faraway, J., Extending Linear Models with R.
Casella, G., Statistical Design
quelle