Mari kita pertimbangkan dataset hipotetis ini:
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)
bisa kita gunakan lmeuntuk memodelkan respons dengan model efek acak:
require(nlme)
model <- lme(response ~ dose + group + dose*group,
random = ~1|subject, df)
Saya ingin menggunakan predicthasil model ini untuk mendapatkan, misalnya, respons subjek umum grup 1 terhadap dosis 10:
pred <- predict(model, newdata=list(dose=10, group=1))
Namun, dengan kode ini saya mendapatkan kesalahan berikut:
Error in predict.lme(model, newdata = list(dose = 10, group = 1)) :
cannot evaluate groups for desired levels on 'newdata'
Untuk menyingkirkannya, saya harus lakukan, misalnya
pred <- predict(model, newdata=list(dose=10, group=1, subject=5))
Ini, bagaimanapun, tidak benar-benar masuk akal bagi saya ... subjek adalah faktor gangguan dalam model saya, jadi apa artinya harus dimasukkan ke dalamnya predict? Jika saya memasukkan nomor subjek yang tidak ada dalam dataset, predictmengembalikan NA.
Apakah ini perilaku yang diinginkan predictdalam situasi ini? Apakah saya melewatkan sesuatu yang sangat jelas?
model