如何排除R中特定列中的缺失数据

时间:2018-04-25 13:24:20

标签: r database na missing-data

我的df有15,105 rows和127 columns。我想排除一些具有NA的特定colunms行。我使用以下命令:

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

但是,当我运行它时,它仅返回19 rows,当预计返回14,561 rows时(如果它应该仅排除那些特定的NA { {1}}请求)。我正在肯定这一点,因为我在colunms上做了一个子集,以便测试丢失删除的准确性。

有没有人可以帮我解决这个问题?谢谢!

2 个答案:

答案 0 :(得分:2)

我认为这段代码效率不高但可行:

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

答案 1 :(得分:0)

您可以使用complete.cases

> df[complete.cases(df[, -1]), ]
   A B C
3 NA 3 2