【发布时间】:2021-04-29 17:40:45
【问题描述】:
我已经用老鼠估算了我的数据,但现在我需要用估算的变量创建一个索引。我希望这个新变量出现在我对估算数据的所有迭代中,以便之后汇集回归结果。我将使用鼠标附带的数据集 (nhanes) 来解释我的问题
library(mice)
data_imp <- mice(nhanes,
m = 5,
maxit = 10,
seed = 23109)
这个数据集有 4 个变量(age、bmi、hyp、chl)。想象一下,我想为所有 5 个模型添加一个新变量,其平均值为 bmi 和 chl,即 bmi_chl。
我想使用一个 for 循环,所以它对所有 5 个模型进行操作。
for (i in 1:length(data_imp)) {data_imp$imp[[i]]$bmi_chl <-
rowMeans(data_imp$imp[[i]][,c("bmi","chl")], na.rm = T)
}
首先代码不起作用。但我注意到数据存储方式的另一个问题。一项中包含原始数据,另一项中包含估算列表。但是,推算列表没有原始数据,只有推算数据条目...我如何设法在所有 5 个具有所有观察值的推算模型中获取我的新变量?
【问题讨论】:
-
您提供的代码没有定义
data_imp。你用complete()了吗?显示所有相关代码。 -
我已经修复了代码,推算的数据应该被命名为 data_imp 而不是 imp