Я пытаюсь приписать фреймворк модели Hmisc impute. Я могу передавать данные за один столбец за раз, но не зацикливать столбцы.Зацикливание над каждым столбцом для передачи данных в R, но не заменяет вмененные данные.
Ниже пример - работает отлично, но я хотел бы сделать его динамическим, используя функцию:
impute_marks$col1 <- with(impute_marks, round(impute(col1, mean)),0)
Пример:
impute_dataframe <- function()
{
for(i in 1:ncol(impute_marks))
{
impute_marks[is.na(impute_marks[,i]), i] <- with(impute_marks, round(impute(impute_marks[,i], mean)),0)
}
}
impute_dataframe
Там нет ошибки, когда я запустить функцию, но там нет вмененных данных, а также в данные impat_marks.
Я довольно новичок в Р. Я не знал о применении функции. Спасибо, что указали это. Я смог добиться того, чего хотел, но в конце операции получаю матрицу, а не кадр данных. Как я могу преобразовать его в кадр данных после вменения. это то, что я получил: num [1: 153, 1:26] 55 68 .... все значения. а не 153 об. 26 переменных –
Я получил это решение, обернув всю правую сторону, используя as.data.frame() –
, если вы так много делаете, проверьте 'library (purrr)' он имеет хороший синтаксис, и я думаю, что он более интуитивно понятен чем базовые функции 'apply',' lapply' и т. д. – Nate