Я беспокоюсь, что это уже было где-то решено, но тщательный поиск не нашел ответа, который я ищу. Я управляю моделью случайных уклонов в MCMCglmm, где у меня есть индивидуально-ковариатическое взаимодействие в отделе случайных эффектов. При использовании предиката () для получения оценок из этой модели я сталкиваюсь с ошибкой, с которой не могу справиться. В приведенном ниже простом примере (модель случайных перехватов) встречается та же ошибка, поэтому мне интересно, что я делаю не так?
Пример данных состоит из 20 индивидуумов, измеренных по 20 раз для каждого ковариата, с 10 индивидуумами в каждой из двух групп, плюс ковариата и переменная ответа (y):
set.seed(123)
dat <- data.frame(id = rep(1:5, 20),
group = rep(1:2, each = 50),
covariate = rnorm(100),
y = rnorm(100))
dat
Затем я подгоняю простую модель случайных перехватов с категориальным фиксированным эффектом, непрерывным фиксированным эффектом и случайным эффектом:
library(MCMCglmm)
fit <- MCMCglmm(y ~ group + covariate, random = ~id, rcov = ~ units, data = dat,
family = "gaussian", pr = TRUE, pl = TRUE, saveX = TRUE, saveZ = TRUE,
nitt = 13000, thin = 10, burnin = 3000)
summary(fit)
Затем я создаю фиктивный набор данных, чтобы получить прогнозы для первого человека в группе 1. в диапазоне ковариатных значений:
dummy <- data.frame(covariate = seq(-3, 3, 1),
group = rep(1, 7),
id = rep(1,7))
dummy$y <- 0
predict(fit, newdata = dummy)
Я получаю ошибку:
Error in predict.MCMCglmm(fit, newdata = preds, marginal = NULL) :
model for newdata has fixed effects absent from the original model
И я не совсем понимаю, учитывая, что все фиксированные эффекты включены в оба модель и фиктивный набор данных, и нигде нет пропущенных значений. Если бы кто-нибудь мог помочь, я был бы очень благодарен!
С наилучшими пожеланиями,
Адам