Betrachten wir diesen hypothetischen Datensatz:
set.seed(12345)
num.subjects <- 10
dose <- rep(c(1,10,50,100), num.subjects)
subject <- rep(1:num.subjects, each=4)
group <- rep(1:2, each=num.subjects/2*4)
response <- dose*dose/10 * group + rnorm(length(dose), 50, 30)
df <- data.frame(dose=dose, response=response,
subject=subject, group=group)
Wir können lme
die Antwort mit einem Zufallseffektmodell modellieren:
require(nlme)
model <- lme(response ~ dose + group + dose*group,
random = ~1|subject, df)
Ich würde gerne nutzen predict
das Ergebnis dieses Modells verwenden, um beispielsweise die Reaktion eines generischen Probanden der Gruppe 1 auf eine Dosis von 10 zu erhalten:
pred <- predict(model, newdata=list(dose=10, group=1))
Mit diesem Code erhalte ich jedoch den folgenden Fehler:
Error in predict.lme(model, newdata = list(dose = 10, group = 1)) :
cannot evaluate groups for desired levels on 'newdata'
Um es loszuwerden, muss ich zum Beispiel tun
pred <- predict(model, newdata=list(dose=10, group=1, subject=5))
Das macht für mich jedoch nicht wirklich viel Sinn ... Das Thema ist ein störender Faktor in meinem Modell, also welchen Sinn muss es haben, um es einzubeziehen predict
? Wenn ich eine im Datensatz nicht vorhandene Betreffnummer eingebe, wird predict
zurückgegeben NA
.
Ist das das gewünschte Verhalten predict
in dieser Situation? Vermisse ich etwas wirklich Offensichtliches?
model