You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R语言中如何按阈值筛选数据?解决频率小于30的行过滤失效问题

错误原因

你写的代码逻辑和实际需求完全不匹配:

  • group_by(freq)的作用是把数据集里freq取值相同的行合并为同一个分组
  • filter(n() < 30)中的n()是dplyr的分组计数函数,返回的是当前分组的总共有多少行,根本不是行本身的freq字段数值。你给出的示例数据里,所有freq对应的分组行数最多只有3(对应freq=2的分组),远小于30,所以所有行都符合过滤条件被保留,输出自然和原数据集完全一致。

正确写法

你不需要做分组操作,直接针对行的freq字段做过滤即可,代码如下:

dd %>%
  filter(freq >= 30)

运行上述代码后,就会筛选出所有freq大于等于30的行,你给出的示例数据运行后输出结果为:

countryfreq
Brazil46
Canada37

内容的提问来源于stack exchange,提问作者Cloudmugu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 13:45:03