Hãy xem xét bộ dữ liệu giả thuyết này:
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)
chúng ta có thể sử dụng lmeđể mô hình hóa phản ứng với mô hình hiệu ứng ngẫu nhiên:
require(nlme)
model <- lme(response ~ dose + group + dose*group,
random = ~1|subject, df)
Tôi muốn sử dụng predictkết quả của mô hình này để lấy, ví dụ, phản ứng của một chủ đề chung của nhóm 1 với liều 10:
pred <- predict(model, newdata=list(dose=10, group=1))
Tuy nhiên, với mã này tôi nhận được lỗi sau:
Error in predict.lme(model, newdata = list(dose = 10, group = 1)) :
cannot evaluate groups for desired levels on 'newdata'
Để thoát khỏi nó, tôi cần phải làm, ví dụ
pred <- predict(model, newdata=list(dose=10, group=1, subject=5))
Tuy nhiên, điều này thực sự không có ý nghĩa nhiều đối với tôi ... chủ đề là yếu tố gây phiền toái trong mô hình của tôi, vậy nó có ý nghĩa gì khi đưa nó vào predict? Nếu tôi đặt một số chủ đề không có trong tập dữ liệu, predicttrả về NA.
Đây có phải là hành vi mong muốn predicttrong tình huống này? Tôi có thiếu một cái gì đó thực sự rõ ràng?
model