我的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
上做了一个子集,以便测试丢失删除的准确性。
有没有人可以帮我解决这个问题?谢谢!
答案 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