我有一个包含许多数据框的全局环境,应该用鼠标library(mice)
来估算。为了首先计算预测矩阵,我在其他人的帮助下做了以下操作:
library(mice)
PredMatr= list()
Myls<-ls(sorted=F)[eapply(.GlobalEnv, class)=="data.frame"]
try (for (i in 1:length(Myls)) {
PredMatr[[i]]=quickpred(get(Myls[i]), mincor=.1)
})
这将创建一个包含所有预测矩阵的非常不错的列表。但是,下一步甚至更加复杂。我想做一些类似的估算。我想像以前一样遍历数据框。但是,现在我希望该操作是一种推算,请参考上一个列表中的预测变量矩阵。我尝试过:
dfimpls= list()
try (for (i in 1:length(Myls)) {
dfimpls[[i]]=mice(get(Myls[i]), m=5, maxit = 5, method='cart',predictorMatrix=PredMatr[i])
})
但是语法不正确,给我以下错误:
Error : predictorMatrix not a matrix
使用:
dfimpls= list()
try (for (i in 1:length(Myls)) {
dfimpls[[i]]=mice(get(Myls[i]), m=5, maxit = 5, method='cart',predictorMatrix=as.matrix(PredMatr[i]))
})
我得到:
Error : Missing row/column names in predictorMatrix