【问题标题】:Screen which element is within a range in R [duplicate]筛选哪个元素在R的范围内[重复]
【发布时间】: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


    【解决方案1】:

    不就是这样吗?

    x <- c(13, 20, 1, 5, 40, 15, 6, 8)
    x > 5 & x <= 30
    #[1]  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE  TRUE
    

    我们也可以使用dplyrdata.table 中的between,但这包括上限和下限,所以我们可以这样做

    dplyr::between(x, 6, 31)
    #[1]  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE  TRUE
    

    或者

    data.table::between(x, 6, 31)
    

    【讨论】:

      【解决方案2】:

      首先,您在预期结果中省略了 FALSE。 但是您可以通过这样做来实现:

      c <- c(13, 20, 1, 5, 40, 15, 6, 8)
      a <- c > 5 & c <= 30
      print(a)
      

      【讨论】:

        猜你喜欢
        • 2017-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多