【发布时间】:2019-05-10 20:52:59
【问题描述】:
我想问一下是否有办法检查例如
c(13, 20, 1, 5, 40, 15, 6, 8)
在一个范围内,例如> 5 和 <= 30 将给出如下输出:
[1] TRUE TRUE FALSE FALSE TRUE TRUE TRUE
【问题讨论】:
标签: r
我想问一下是否有办法检查例如
c(13, 20, 1, 5, 40, 15, 6, 8)
在一个范围内,例如> 5 和 <= 30 将给出如下输出:
[1] TRUE TRUE FALSE FALSE TRUE TRUE TRUE
【问题讨论】:
标签: r
不就是这样吗?
x <- c(13, 20, 1, 5, 40, 15, 6, 8)
x > 5 & x <= 30
#[1] TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE
我们也可以使用dplyr 或data.table 中的between,但这包括上限和下限,所以我们可以这样做
dplyr::between(x, 6, 31)
#[1] TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE
或者
data.table::between(x, 6, 31)
【讨论】:
首先,您在预期结果中省略了 FALSE。 但是您可以通过这样做来实现:
c <- c(13, 20, 1, 5, 40, 15, 6, 8)
a <- c > 5 & c <= 30
print(a)
【讨论】: