R中线性混合模型的预测
Prediction in a linear mixed model in R
考虑 lme4 包中的 sleepstudy 数据,如下所示。包含 18 名受试者,他们在不同的日子重复测量 Reaction(Reaction 是响应)。
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)”获得特定主题的随机截距。此外,可以使用“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 ...
考虑 lme4 包中的 sleepstudy 数据,如下所示。包含 18 名受试者,他们在不同的日子重复测量 Reaction(Reaction 是响应)。
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)”获得特定主题的随机截距。此外,可以使用“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 ...