Использование цикла для вменения данных с мышами, использование матриц прогнозирования из списка - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть глобальная среда со множеством фреймов данных, которые должны быть вменены мышам 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
...