考虑lme4包中的睡眠研究数据,如下所示。该研究包含18名受试者,他们在不同的日期重复测量反应(反应就是反应)。
library("lme4")
head(sleepstudy)
  Reaction Days Subject
1 249.5600    0     308
2 258.7047    1     308
3 250.8006    2     308
4 321.4398    3     308
5 356.8519    4     308
6 414.6901    5     308以下代码适合具有随机截距的线性混合模型。
fit1 = lmer(Reaction ~ Days + (1 | Subject), data = sleepstudy)我们可以使用"ranef(fit1)“获得特定于主题的随机截获。此外,可以使用“预测(Fit1)”对原始数据中所有时间点的响应进行预测。
然而,我想预测18个受试者在Day=12和第14天的反应(反应)(第12天和第14天不在原始数据中,但希望对反应进行预测)。也就是说,我最终应该得到一个如下所示的数据集。
 Days  Subject  Predicted_Response
  12     308        
  12     309
  ...
  12     371
  12     372
  14     308        
  14     309
  ...
  14     371
  14     372发布于 2021-11-19 12:42:46
我们可以使用predict方法的"newdata“参数来完成此操作:
library("lme4")
fit1 = lmer(Reaction ~ Days + (1 | Subject), data = sleepstudy)
newdata <- expand.grid(
  Days = c(12, 14),
  Subject = unique(sleepstudy$Subject)
)
newdata$Predicted_Response <- predict(fit1, newdata = newdata)
   Days Subject Predicted_Response
1    12     308           417.7962
2    14     308           438.7308
3    12     309           299.1630
4    14     309           320.0976
5    12     310           313.9040
6    14     310           334.8385
7    12     330           381.4190
8    14     330           402.3536
9    12     331           387.2287
10   14     331           408.1633
11   12     332           385.2338
12   14     332           406.1683
... etc ...https://stackoverflow.com/questions/70034953
复制相似问题