簡體   English   中英

R 中的線性混合 model 中的預測

[英]Prediction in a linear mixed model in R

考慮 lme4 package 中的 sleepstudy 數據,如下所示。 包含 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

以下代碼適合具有隨機截距的線性混合 model。

fit1 = lmer(Reaction ~ Days + (1 | Subject), data = sleepstudy)

我們可以使用“ranef(fit1)”獲得特定於主題的隨機截距。 此外,可以使用“predict(fit1)”來預測原始數據中所有時間點的響應。

但是,我想預測 R 中 18 名受試者在第 12 天和第 14 天的反應(反應)(第 12 天和第 14 天是不在原始數據中但想對反應進行預測的天)。 也就是說,我最終應該得到一個看起來像這樣的數據集。

 Days  Subject  Predicted_Response
  12     308        
  12     309
  ...
  12     371
  12     372

  14     308        
  14     309
  ...
  14     371
  14     372

我們可以使用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 ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM