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 lme
untuk memodelkan respons dengan model efek acak:
require(nlme)
model <- lme(response ~ dose + group + dose*group,
random = ~1|subject, df)
Saya ingin menggunakan predict
hasil 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, predict
mengembalikan NA
.
Apakah ini perilaku yang diinginkan predict
dalam situasi ini? Apakah saya melewatkan sesuatu yang sangat jelas?
model