Я использую mice
для вменения моих данных. Он имеет удобную функцию, которая создает матрицу прогнозирования для вашего кадра данных на основе корреляции между переменными.
LINK
Поскольку у меня есть несколько наборов данных, которые необходимо вписать, и это занимает довольно много времени, я хочу создать матрицу прогнозирования для каждого 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 Создание объектов в цикле с именем ..
2. для цикла для вывода различных объектов ..
РЕДАКТИРОВАТЬ: С некоторой помощью я смог продвинуть свой ответ на следующее:
pred = list()
for (i in 1:length(ls())) {
pred[[i]]=quickpred(get(ls()[i]), mincor=.3)
}
Я не успел провести тщательное тестирование, но пока не получил ошибки.