我正在使用mice
来估算数据。它具有简洁的功能,可根据变量之间的相关性为您的数据框创建预测矩阵。
由于我有多个需要估算的数据集,并且需要很长时间,因此我想使用df
循环为ls()
中的每个for
创建预测矩阵。小插图示例如下:
require(mice)
require(lattice)
set.seed(123)
ini <- mice(nhanes, pred=quickpred(nhanes, mincor=.3), print=F)
ini$pred
## age bmi hyp chl
## age 0 0 0 0
## bmi 1 0 0 1
## hyp 1 0 0 1
## chl 1 1 1 0
我想做类似的事情:
for (i in ls()) {
pred[[i]]=quickpred(ls(i), mincor=.3)
}
但是,我无法正确使用语法。想法是,它为pred
中的每个项目创建ls()
的实例。我看了下面的链接,但似乎无法正确理解:
1. R Create objects in loop named..
2. for loop to output different objects..
编辑:在一些帮助下,我已经能够对以下内容进行解答;
pred = list()
for (i in 1:length(ls())) {
pred[[i]]=quickpred(get(ls()[i]), mincor=.3)
}
我还没有时间进行全面测试,但是还没有出现错误。