所以我在数据帧中得到了237个不同脉冲的列,从那些我需要拍摄超过100且小于45的脉冲,看看有多少脉冲。我知道我可以用
来获得它的长度length(survey$Pulse[survey$Pulse > 100 | survey$Pulse < 45])
然而,列中有NA值,我不知道如何从长度中删除它们。
如果您需要更多信息,请尝试提供,但唯一我不知道该怎么做的是从列中删除NA值。
我知道我可以使用na.rm=TRUE
,但我不知道如何将其实现到该行。
答案 0 :(得分:1)
一个选项是使用na.omit
- 它会返回删除了NA
个值的对象。
例如:
# With na.omit
length(na.omit(c(1:10, NA)))
10
# Without na.omit
length(c(1:10, NA))
11
在您的情况下使用:
length(na.omit(survey$Pulse[survey$Pulse > 100 | survey$Pulse < 45]))
答案 1 :(得分:1)
另一种方法是围绕逻辑条件包裹0x22 0x0A
。如果存在which
个值,则逻辑条件不足。我将举例说明虚假数据。
NA
x <- c(1:3, NA, 4, NA, 5:7, NA, 8:10)
x[x < 4 | x > 7]
#[1] 1 2 3 NA NA NA 8 9 10
x[which(x < 4 | x > 7)]
#[1] 1 2 3 8 9 10
明显不同。