Ich möchte ein lineares gemischtes Modell auf einer abhängigen Variablen DV
, die unter zwei verschiedenen Condition
bei drei verschiedenen Timepoint
gesammelt wird. Die Daten sind wie folgt aufgebaut:Wie replizieren zufällige Effekte in Lme4 von SAS?
## dput(head(RawData,5))
structure(list(Participant = structure(c(2L, 2L, 2L, 2L, 4L),
.Label = c("Jessie", "James", "Gus", "Hudson", "Flossy",
"Bobby", "Thomas", "Alfie", "Charles", "Will", "Mat", "Paul", "Tim",
"John", "Toby", "Blair"), class = "factor"),
xVarCondition = c(1, 1, 0, 0, 1),
Measure = structure(c(1L, 2L, 3L, 4L, 1L),
.Label = c("1", "2", "3", "4", "5", "6", "7", "8",
"9", "10", "11", "12"), class = "factor"),
Sample = structure(c(1L, 2L, 1L, 2L, 1L),
.Label = c("1", "2"), class = "factor"),
Condition = structure(c(2L, 2L, 1L, 1L, 2L),
.Label = c("AM", "PM"), class = "factor"),
Timepoint = structure(c(2L, 2L, 2L, 2L, 1L),
.Label = c("Baseline", "Mid", "Post"), class = "factor"),
DV = c(83.6381348645853, 86.9813802115179, 69.2691666620429,
71.3949807856125, 87.8931998204771)),
.Names = c("Participant", "xVarCondition", "Measure",
"Sample", "Condition", "Timepoint", "DV"),
row.names = c(NA, 5L), class = "data.frame")
Jeder Participant
führen zwei Versuchen pro Condition
über drei Timepoint
s, wie durch Measure
dargestellt; es fehlen jedoch Daten, also nicht unbedingt 12 Stufen pro Teilnehmer. Die Spalte xVarCondition
ist einfach eine Dummy-Variable, die für jeden Eintrag von AM in Condition eine 1 enthält. Die Spalte Sample
bezieht sich auf die 2 Versuche für jede Condition
bei jeder Timepoint
.
Ich bin ein R Benutzer aber die Statistiker ist ein SAS-Benutzer, der Code für das Modell glaubt sein sollte:
proc mixed data=RawData covtest cl alpha=α
class Participant Condition Timepoint Measure Sample;
model &dep=Condition Timepoint/s ddfm=sat outp=pred residual noint;
random int xVarCondition xVarCondition*TimePoint*Sample
TimePoint/subject=Participant s;
Die oben SAS Code gibt vernünftige Antworten und funktioniert perfekt. Wir glauben, dass die resultierende lme4
Syntax für das obige Modell zu sein:
TestModel = lmer(DV ~ Condition + Timepoint +
(1 | Participant/Timepoint) +
(0 + xVarCondition | Participant) +
(1 | Participant:xVarCondition:Measure), data = RawData)
Allerdings habe ich die folgende Fehlermeldung bei der Ausführung dieses Modell:
Error: number of levels of each grouping factor must be < number of observations
Sind die Zufallseffekte korrekt angegeben?
Ich hatte bemerkt, dass Ihr beide festen Effekte, 'condition' und' Timepoint', beide Faktoren sind. Sind Sie sicher, dass ein gemischtes lineares Modell in diesem Fall der beste Ansatz ist? Außerdem bekomme ich den Unterschied zwischen 'xVarCondition' und' Condition' nicht. –
Ich glaube, dass ein lineares gemischtes Modell angemessen ist, da wir an der Variation zwischen den Teilnehmern interessiert sind. xVarCondition ist einfach eine Dummy-Variable mit einer 1 für jedes Mal, wenn ein Teilnehmer die AM-Bedingung abschließt. – user2716568