在MCMCglmm中使用predict()

问题描述 投票:0回答:1

我担心以前已经解决了这个问题,但是广泛的搜索并未显示出我正在寻找的答案。我正在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

而且我并不是很了解,因为模型和虚拟数据集都包含了所有固定效果,并且任何地方都没有缺失值。如果有人可以帮助我,我将非常感激!

最诚挚的祝福,

亚当

r predict mcmc
1个回答
0
投票

我认为您有固定的组,如果尝试:

dummy <- data.frame(covariate = seq(-3, 3, 1),
                    group = c(rep(1, 3),rep(0,4)),
                    id = rep(1,7),y=0)
predict(fit, dummy)

这将起作用。

© www.soinside.com 2019 - 2024. All rights reserved.