【问题标题】:OR operator in filter()?filter() 中的 OR 运算符?
【发布时间】:2016-07-08 04:15:47
【问题描述】:

我想使用filter() 函数来查找 x 值小于或等于 4 或 ay 值大于 5 的类型。我认为这可能是一个简单的解决方法,我只是找不到太多?filter() 上的信息。我想我几乎拥有它:

x = c(1, 2, 3, 4, 5, 6)
y = c(3, 6, 1, 9, 1, 1)
type = c("cars", "bikes", "trains")

df = data.frame(x, y, type)

df2 = df %>% 
      filter(x<=4)

【问题讨论】:

  • filter(x &lt;=4 | y &gt; 5) 不起作用?
  • 另外,您的示例数据非常糟糕,因为 y &gt; 5x &lt;= 4 的子集
  • @MichaelChirico 不确定你的意思,因为我刚开始编程。我刚刚意识到我搞砸了“类型”部分。我不知道 | 做了什么,所以谢谢你的洞察力。
  • 我的意思是,对于您的数据,filter(x&lt;=4 | y &gt; 5) 产生与filter(x&lt;=4) 相同的结果。对于一个有启发性的工作示例,应该有区别
  • 另请参阅stackoverflow.com/q/4935479/1191259 并在 R 控制台中键入 ?Syntax 以获取基本运算符的完整列表。

标签: r filter operators dplyr


【解决方案1】:

试试

df %>%
    filter(x <=4| y>=5)

【讨论】:

    猜你喜欢
    • 2015-07-08
    • 2019-01-06
    • 2017-04-28
    • 2010-10-23
    • 2018-04-17
    • 1970-01-01
    • 1970-01-01
    • 2020-10-04
    • 2016-05-31
    相关资源
    最近更新 更多