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

如何用dplyr按条件分组聚合数据框中的轮胎类条目?

使用dplyr实现指定项的聚合合并

嘿,这事儿用dplyr很容易搞定!核心思路是先给数据加一个分组标识列,把所有带"tire"的项归为同一组,再按这个标识列聚合求和即可。

完整代码示例

假设你的原始数据框名为data,可以这样写:

library(dplyr)

aggregated_data <- data %>%
  # 新增分组列:匹配tire的项归为"Tires",其余保留原名称
  mutate(group_label = if_else(
    grepl("tire", Item, ignore.case = TRUE),
    "Tires",
    Item
  )) %>%
  # 按分组列分组
  group_by(group_label) %>%
  # 对每个分组的Count求和
  summarise(Count = sum(Count)) %>%
  # 把分组列改回原列名Item
  rename(Item = group_label) %>%
  # 可选:解除分组状态(后续操作不需要分组时建议加上)
  ungroup()

代码逐行解释

  • mutate(...):通过grepl忽略大小写检测Item列是否包含"tire",匹配成功的项标记为"Tires",其他项保留原名称,生成新的分组标识列group_label。
  • group_by(group_label):基于新的分组列对数据分组,把所有属于"Tires"的项归为一组。
  • summarise(Count = sum(Count)):对每个分组的Count列求和,完成聚合。
  • rename(Item = group_label):把临时的分组列名改回你需要的Item,还原目标格式。
  • ungroup():可选操作,如果你后续不需要保持数据的分组状态,执行这一步可以避免意外问题。

运行这段代码后,你就能得到想要的结果:所有带tire的项合并为"Tires",Count求和为22,其他项保持原样。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:47:57