Ich versuche, einige Daten mit einem gemischten Effektmodell zu analysieren. Die von mir gesammelten Daten repräsentieren das Gewicht einiger Jungtiere unterschiedlichen Genotyps im Zeitverlauf.
Ich verwende den hier vorgeschlagenen Ansatz: https://gribblelab.wordpress.com/2009/03/09/repeated-measures-anova-using-r/
Insbesondere verwende ich Lösung # 2
Also ich habe sowas
require(nlme)
model <- lme(weight ~ time * Genotype, random = ~1|Animal/time,
data=weights)
av <- anova(model)
Jetzt möchte ich einige mehrfache Vergleiche haben. Mit multcomp
kann ich:
require(multcomp)
comp.geno <- glht(model, linfct=mcp(Genotype="Tukey"))
print(summary(comp.geno))
Und natürlich könnte ich das auch mit der Zeit tun.
Ich habe zwei Fragen:
- Wie kann ich
mcp
die Interaktion zwischen Zeit und Genotyp anzeigen? Wenn ich renne,
glht
bekomme ich folgende Warnung:covariate interactions found -- default contrast might be inappropriate
Was heißt das? Kann ich das ignorieren? Oder was soll ich tun, um das zu vermeiden?
BEARBEITEN: Ich habe dieses PDF gefunden , in dem steht:
Da es in diesem Fall nicht möglich ist, die interessierenden Parameter automatisch zu bestimmen, generiert mcp () in multcomp standardmäßig nur Vergleiche für die Haupteffekte, wobei Kovariaten und Interaktionen ignoriert werden . Seit Version 1.1-2 kann angegeben werden, dass über Interaktionsterme und Kovariaten mit den Argumenten interact_average = TRUE und covariate_average = TRUE gemittelt werden soll, während Versionen älter als 1.0-0 automatisch über Interaktionsterme gemittelt werden. Wir empfehlen den Benutzern jedoch, die gewünschten Kontraste manuell zu schreiben.Dies sollte immer dann erfolgen, wenn Zweifel an der Messung der Standardkontraste bestehen, was normalerweise bei Modellen mit Interaktionsbegriffen höherer Ordnung der Fall ist. Wir verweisen auf Hsu (1996), Kapitel ~ 7, und Searle (1971), Kapitel ~ 7.3, für weitere Diskussionen und Beispiele zu diesem Thema.
Ich habe keinen Zugang zu diesen Büchern, aber vielleicht hat jemand hier?
Antworten:
Wenn
time
undGenotype
beide kategoriale Prädiktoren sind, und Sie daran interessiert sind, alle Zeit / Genotyp-Paare miteinander zu vergleichen, können Sie einfach eine Interaktionsvariable erstellen und Tukey-Kontraste verwenden:Wenn Sie an anderen Kontrasten interessiert sind, können Sie die Tatsache nutzen, dass das
linfct
Argument eine Koeffizientenmatrix für die Kontraste annehmen kann. Auf diese Weise können Sie genau die Vergleiche einrichten, die Sie möchten.BEARBEITEN
In den Kommentaren taucht Bedenken auf, dass sich das mit dem
TimeGeno
Prädiktor ausgestattete Modell von dem mit demTime * Genotype
Prädiktor ausgestatteten Originalmodell unterscheidet . Dies ist nicht der Fall , die Modelle sind gleichwertig. Der einzige Unterschied besteht in der Parametrisierung der festen Effekte, die so eingerichtet ist, dass die Verwendung derglht
Funktion vereinfacht wird .Ich habe einen der integrierten Datasets (es hat Diet anstelle von Genotype) verwendet, um zu demonstrieren, dass die beiden Ansätze die gleiche Wahrscheinlichkeit, die gleichen vorhergesagten Werte usw. haben:
Der einzige Unterschied ist, dass die Hypothesen leicht zu testen sind. Zum Beispiel ist es im ersten Modell einfach zu testen, ob die beiden Prädiktoren interagieren, im zweiten Modell gibt es keinen expliziten Test dafür. Andererseits ist die gemeinsame Wirkung der beiden Prädiktoren im zweiten Modell leicht zu testen, nicht jedoch im ersten. Die anderen Hypothesen sind überprüfbar, es ist nur mehr Arbeit, sie aufzustellen.
quelle
glht
verwendet die im lme-Modell angegebenen Freiheitsgrade. Ich bin mir nicht sicher, ob diese Freiheitsgrade angemessen sind ...?Animal/time
was jetzt nicht einer der Faktoren ist. Ist mir das wirklichunderstand
so?all.equal(resid(model1), resid(model2))
sehen, dass sie gleich sind, bevor du etwas anderes errätst? Nur die Parametrisierung der festen Effekte ist unterschiedlich.TimeDiet
ist kein reiner Interaktionsbegriff und nicht gleichbedeutend mitTime:Diet
, sondern vielmehr mitTime + Diet + Time:Diet
.