R - 检查数据帧中的NA

时间:2013-11-18 21:55:50

标签: r dataframe

我有一个数据框,例如

ID   a     b     c
29   NA    2     NA
11   3     1     1
9    NA    NA    NA

我想拉出除ID之外的所有列都填写了至少1个值的行。例如,ID=9行不符合该条件,因为ID列之后的所有列都是NA

您可能认为一种方式是

d = d[!is.na(d$a) | !is.na(d$b) | !is.na(d$c),]

但是在我的情况下,ID列之后有20列,而不仅仅是3列。

有什么更好的方法可以做到这一点?

1 个答案:

答案 0 :(得分:2)

这样的东西?

df[rowSums(!is.na(df[ , -1])) > 0, ]

#   ID  a b  c
# 1 29 NA 2 NA
# 2 11  3 1  1