【问题标题】:How to filter rows using tidyverse in r?如何在 r 中使用 tidyverse 过滤行?
【发布时间】:2020-05-24 18:26:08
【问题描述】:

以为这将是一件容易的事,但让我很头疼。当遇到特定的condition 时,我正在尝试filter 行,但是,我遇到了错误。下面是示例代码

library(tidyverse)

DF = data.frame(id = sample.int(20,20, replace = TRUE), A = runif(20, 100, 150), Dat = runif(20, 400,700))
DF_1 = DF %>% filter(id == c(6,8,17))

但是代码给了我下面的警告,DF_1data.frame 只有当 id 等于 8 和 17 时才有数据,而它应该给我一个 data.frame id 等于 6 ,8 和 17。

警告信息:

在 id == c(6, 8, 17) 中: 较长的对象长度不是较短对象长度的倍数

【问题讨论】:

    标签: r dataframe select filter tidyverse


    【解决方案1】:

    您应该使用%in% 而不是== 进行过滤。

    DF_1 = DF %>% 
      filter(id %in% c(6,8,17))
    

    【讨论】:

      猜你喜欢
      • 2021-09-27
      • 2021-02-20
      • 1970-01-01
      • 2018-02-21
      • 2021-02-25
      • 1970-01-01
      • 2020-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多