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

R语言中统计PipeID频次对应总次数的实现方法求助

解决方案

方法1:基于已生成的num_occur数据框

对num_occur按freq字段分组,汇总每个频次对应的总次数即可:

result <- num_occur %>%
  group_by(freq) %>%
  summarise(count = sum(freq)) %>%
  arrange(desc(freq)) # 可选,按频次降序排列匹配期望输出

运行结果与你期望的一致:

# A tibble: 2 × 2
   freq count
  <int> <int>
1     2     4
2     1     1

方法2:直接从原始df一步完成(更高效)

可以跳过中间的num_occur,直接从原始数据完成两次分组统计,减少不必要的数据框生成:

result <- df %>%
  # 第一步:统计每个PipeID的出现频次
  group_by(PipeID) %>%
  summarise(freq = n()) %>%
  # 第二步:统计不同频次对应的总次数
  group_by(freq) %>%
  summarise(count = sum(freq)) %>%
  arrange(desc(freq))

补充说明

你之前生成num_occur的代码存在冗余:group_by(PipeID)后,PipeID作为分组键会自动保留,不需要用sum(PipeID),直接写summarise(freq = n())就能得到正确的PipeID和对应频次,避免无效计算。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 07:05:21