Как исключить отсутствующие данные в определенных столбцах в R - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть df с 15,105 rows и 127 columns. Я хотел бы исключить некоторые строки определенных столбцов, которые имеют NA. Я использую следующую команду:

wave1b <- na.omit(wave1, cols=c("Bx", "Deq", "Gef", "Has", "Pla", "Ty"))

Однако, когда я запускаю его, он возвращается только с 19 rows, когда ожидалось, что он вернется с 14 561 rows (если он должен был исключить только NA в тех конкретных colunms запрошенных). Я подтверждаю это, потому что я сделал подмножество на df, чтобы проверить точность отсутствующего удаления.

Кто-нибудь может помочь мне решить эту проблему? Спасибо!

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Вы можете использовать complete.cases

> df[complete.cases(df[, -1]), ]
   A B C
3 NA 3 2
0 голосов
/ 25 апреля 2018

Я думаю, что этот код неэффективен, но он может работать:

df <- data.frame(A = rep(NA,3), B = c(NA,2,3),C=c(1,NA,2))
df
   A  B  C
1 NA NA  1
2 NA  2 NA
3 NA  3  2

Удаляются только те строки, в которых отсутствуют значения для столбцов B и C:

df[-which(is.na(df$B)|is.na(df$C)),]
   A B C
3 NA 3 2
...