Обработка пропущенных / неполных данных в R - есть ли функция для маскировки, но не для удаления NA?
Как и следовало ожидать от DSL, предназначенного для анализа данных, R очень хорошо обрабатывает отсутствующие / неполные данные, например:
Многие функции R имеютna.rm Отметить, что когда установленоПРАВДА, удалите НС:
>>> v = mean( c(5, NA, 6, 12, NA, 87, 9, NA, 43, 67), na.rm=T)
>>> v
(5, 6, 12, 87, 9, 43, 67)
Но если вы хотите иметь дело с АНдо вызов функции, вам нужно сделать что-то вроде этого:
удалить каждое «NA» из вектора:
vx = vx[!is.na(a)]
удалить каждое «NA» из вектора и заменить его на «0»:
ifelse(is.na(vx), 0, vx)
удалить всю строку, содержащую 'NA', из фрейма данных:
dfx = dfx[complete.cases(dfx),]
Все эти функции постоянноУдалить «NA» или строки с «NA» в них.
Иногда это не совсем то, что вы хотите - создание вырезанной из NA копии фрейма данных может потребоваться для следующего шага в рабочем процессе, но на последующих шагах вы часто хотите вернуть эти строки назад (например, чтобы вычислить Статистика по столбцам для столбца, в котором отсутствуют строки, вызванные предыдущим вызовом «завершенных дел», но в этом столбце нет значений «NA»).
чтобы быть как можно более ясным о том, что я ищу: у python / numpy есть класс,замаскированный массивсмаскировать метод, который позволяет вамскрывать- но не удалять - НС во время вызова функции. Есть ли аналогичная функция в R?