Ich möchte verwenden lme4
, um eine Regression mit gemischten Effekten anzupassen und multcomp
die paarweisen Vergleiche zu berechnen. Ich habe einen komplexen Datensatz mit mehreren kontinuierlichen und kategorialen Prädiktoren, aber meine Frage kann am Beispiel des integrierten ChickWeight
Datensatzes demonstriert werden :
m <- lmer(weight ~ Time * Diet + (1 | Chick), data=ChickWeight, REML=F)
Time
ist kontinuierlich und Diet
ist kategorisch (4 Stufen) und es gibt mehrere Küken pro Diät. Alle Küken begannen mit ungefähr dem gleichen Gewicht, aber ihre Ernährung (kann) ihre Wachstumsrate beeinflussen, so dass die Diet
Abschnitte (mehr oder weniger) gleich sein sollten, aber die Steigungen können unterschiedlich sein. Ich kann die paarweisen Vergleiche für den Abfangeffekt Diet
wie folgt erhalten:
summary(glht(m, linfct=mcp(Diet = "Tukey")))
und tatsächlich unterscheiden sie sich nicht wesentlich, aber wie kann ich den analogen Test für den Time:Diet
Effekt durchführen? Das einfache Einfügen des Interaktionsterms mcp
führt zu einem Fehler:
summary(glht(m, linfct=mcp('Time:Diet' = "Tukey")))
Error in summary(glht(m, linfct = mcp(`Time:Diet` = "Tukey"))) :
error in evaluating the argument 'object' in selecting a method for function
'summary': Error in mcp2matrix(model, linfct = linfct) :
Variable(s) ‘Time:Diet’ have been specified in ‘linfct’ but cannot be found in ‘model’!
quelle
Time*Diet
, was nur eine Vereinfachung von istTime + Diet + Time:Diet
. Verwendenanova(m)
odersummary(m)
bestätigen, dass sich der Interaktionsterm im Modell befindet.Antworten:
Standardmäßig wird
lmer
die Referenzstufe eines kategorialen Prädiktors als Basislinie behandelt und die Parameter für die anderen Stufen geschätzt. Sie erhalten also einige paarweise Vergleiche in der Standardausgabe, und Sie können die anderen erhalten, indem Sierelevel
einen neuen Referenzpegel definieren und das Modell neu anpassen. Dies hat den Vorteil, dass Sie Modellvergleiche oder MCMC verwenden können, um die p-Werte zu erhalten, korrigiert jedoch nicht mehrere Vergleiche (obwohl Sie anschließend Ihre eigene Korrektur anwenden können).Zur Verwendung
multcomp
müssen Sie die Kontrastmatrix definieren. Jede Zeile in der Kontrastmatrix repräsentiert Gewichte für die Effekte, die Sie in der Standardmodellausgabe erhalten, beginnend mit dem Intercept. Wenn Sie also einen Effekt wünschen, der bereits in der Basisausgabe enthalten ist, setzen Sie einfach eine "1" an die Position, die diesem Effekt entspricht. Da sich die Parameterschätzungen auf ein gemeinsames Referenzniveau beziehen, können Sie Vergleiche zwischen zwei anderen Niveaus erhalten, indem Sie das Gewicht eines auf "-1" und des anderen auf "1" setzen. So würde das für dieTime:Diet
Begriffe imChickWeight
Beispiel funktionieren :Vorsichtsmaßnahme: Dieser Ansatz scheint die normale Näherung zu verwenden, um p-Werte zu erhalten, was etwas antikonservativ ist, und wendet dann eine Korrektur für mehrere Vergleiche an. Das Ergebnis ist, dass Sie mit dieser Methode einfach auf so viele paarweise Parameterschätzungen und Standardfehler zugreifen können, wie Sie möchten. Die p-Werte können jedoch Ihren Wünschen entsprechen oder nicht.
(Danke an Scott Jackson von r-ling-lang-L für die Hilfe dabei)
quelle