【发布时间】:2015-03-08 03:58:13
【问题描述】:
我刚刚观察到,如果我的数据框中的一列不包含任何 NA 值(请参见下面的 col2)并且我在不知不觉中,尝试查找没有对应 col2 值作为 NA 的行,下面的代码给出我是一个空的输出。
请参阅下面的 col1,因为它至少有一个 NA 值。 这对 col2 不起作用
> col1 = c(1,1,1,1,NA)
> col2 = c(2,2,2,2,2)
> df = data.frame(col1,col2)
> df
col1 col2
1 1 2
2 1 2
3 1 2
4 1 2
5 NA 2
> df[-which(is.na(df$col1)),]
col1 col2
1 1 2
2 1 2
3 1 2
4 1 2
> df[-which(is.na(df$col2)),]
[1] col1 col2
<0 rows> (or 0-length row.names)
我能够让它按如下方式工作,但只是想知道上述行为是否可以?
> df[which(! is.na(df$col2)),]
col1 col2
1 1 2
2 1 2
3 1 2
4 1 2
5 NA 2
【问题讨论】: