【发布时间】:2020-03-20 10:48:08
【问题描述】:
我担心这个问题之前已经在某个地方得到解决,但是广泛的搜索并没有找到我正在寻找的答案。我在 MCMCglmm 中运行一个随机斜率模型,其中我在随机效应隔间中进行了个体与协变量的交互。当使用 predict() 从这个模型中获取估计值时,我遇到了一个错误,我似乎无法处理。下面更简单的示例(随机截取模型)遇到相同的错误,所以我想知道我做错了什么?
示例数据由 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
而且我不太明白,因为所有固定效应都包含在模型和虚拟数据集中,并且任何地方都没有缺失值。如果有人能提供帮助,我将不胜感激!
祝你好运,
亚当
【问题讨论】: