【问题标题】:How to filter values within a threshold in R如何过滤R中阈值内的值
【发布时间】:2021-06-10 19:51:20
【问题描述】:

我有一个数据集,前 10 行如下所示

country    freq

Albania     2           
Argentina   4           
Australia  26           
Austria    14           
Belgium    22           
Brazil     46           
Bulgaria   2            
Cambodia   2            
Canada     37           
Chile      19   

我想过滤掉小于 30 的计数(频率)

我试过这个代码:

dd %>%
   group_by(freq) %>%
   filter(n()<30)

输出与数据集相同。我没有得到我想要的

我该如何解决这个问题?

提前致谢

【问题讨论】:

  • 你完成了吗dd &lt;- dd %&gt;% group_by(freq) %&gt;% filter(n()&lt;30)
  • filter 中指定要保留而不是删除的观察结果。而n() 给出了行数,听起来你想直接对频率值进行过滤。这里不需要分组。 dd %&gt;% filter(freq &gt;= 30)
  • @Greg,感谢您的解释.. 我现在明白了

标签: r filter dplyr


【解决方案1】:

使用简单的索引。你为什么分组?

dd <- dd[dd$freq >= 30, ]

【讨论】:

  • @Greg,能否请您重新发布您的答案?如果观察在列中出现多次,您使用group_by 发布解决方案以过滤数据框。我不知道为什么我再也找不到它了
猜你喜欢
  • 2020-03-22
  • 1970-01-01
  • 2020-02-06
  • 1970-01-01
  • 2014-08-30
  • 2012-05-10
  • 2021-10-17
  • 2016-06-21
  • 1970-01-01
相关资源
最近更新 更多