Новая переменная для пропущенных значений в нескольких столбцах - PullRequest
1 голос
/ 07 июня 2019

Я пытаюсь проверить, есть ли у команды R команда, похожая на Stata. В Stata команда! Mi (a, b, c, ...) создает новую переменную и указывает 1/0, если указанные переменные не имеют отсутствующих данных. 1 = отсутствие пропущенных данных по переменным x, 0 = отсутствие пропущенных данных в одной из переменных x.

Я ищу простой код, потому что иногда у меня есть около 15-20 переменных (в основном, чтобы отметить списочные случаи удаления). Это займет немного больше работы, но я указываю имена столбцов вместо использования маркера:. Опции, которые я нашел, создают новый фрейм данных (na.omit), но я хочу сохранить все дела.

Я знаю, что ifelse может сделать это, используя:

df$test <- ifelse(!is.na(df$ID) & !is.na(df$STATUS), 1,0)

Мне нравится знать, есть ли другой способ с меньшим количеством кода, где мне не нужно писать "! Is.na (df $)" снова и снова. Может быть, $ глобальный код (похож на Stata)?

Ответы [ 2 ]

3 голосов
/ 07 июня 2019

Вы должны быть в состоянии сделать это, используя complete.cases

df$test <- as.numeric(complete.cases(df))
0 голосов
/ 07 июня 2019

Вы также можете использовать rowSums:

df$test <- as.numeric(rowSums(is.na(df)) == 0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...