在数据集的10个不同子集上匹配相同的模型后,我生成了10个模型摘要,如下所示
library(mice)
data("nhanes")
head(nhanes)
imp <- mice(nhanes, print = FALSE, m = 10, seed = 24415)
df <- complete(imp, "long")
model_fit <- lapply(1:10, function(i) {
model = lm(bmi ~ age + hyp + chl,
data = subset(df, `.imp`==i))
})
从中我得到了ggpredict
个不同的物体
ggpredict(model_fit[[1]], c("age", "hyp"))
ggpredict(model_fit[[2]], c("age", "hyp"))
ggpredict(model_fit[[3]], c("age", "hyp"))
ggpredict(model_fit[[4]], c("age", "hyp"))
ggpredict(model_fit[[5]], c("age", "hyp"))
ggpredict(model_fit[[6]], c("age", "hyp"))
ggpredict(model_fit[[7]], c("age", "hyp"))
ggpredict(model_fit[[8]], c("age", "hyp"))
ggpredict(model_fit[[9]], c("age", "hyp"))
ggpredict(model_fit[[10]], c("age", "hyp"))
我正在寻找一种有效的方法a)通过hp和age估计所有ggpredict
个对象的平均值
预期输出将是这样的.
age hp Predicted 95% C.I
--------------------------------------------------------
1 1 (28.38 + 29.35 + 27.3...)/10 (26.67 +2 6.83 + 25.25...)/10 ; (30.08 + 31.87 + 29.35....)/10
2 1 (24.21 + 26.01 + 25.40...)/10 (22.71 + 23.56 + 23.54...)/10 ; (25.71 + 28.46 + 27.26....)/10
3 1 (20.05 + 22.67 + 23.51...)/10 (17.13 + 17.89 + 20.08..)/10 ; (22.96 + 27.44 + 26.94...)/10
1 2 (31.82 + 29.35 +28.87...)/10 (28.07 + 23.58 + 24.24...)/10 ; (35.58 + 35.13 + 33.49....)/10
2 2 (27.66 + 26.01 +26.97...)/10 (24.88 + 22.02 + 23.43...)/10 ; (30.43 + 30.00 + 30.52....)/10
3 2 (23.49 + 22.67 +25.08...)/10 (20.63 + 18.73 + 21.50...)/10 ; (26.35 + 26.61 + 28.66....)/10
b) Plot based on the final averaged values using ggplot function.
到目前为止,我try 将每ggpredict
个函数的结果存储为列表对象,
`Reduce(`+`, list_ggpred)/length(list_ggpred)`
我收到警告,
" In Ops.factor(left, right) : `+1 not meaningful for factors.
任何建议都非常感谢.谢谢.