R中使用purrr或dplyr如何按Group分组累加指定Type的Quantity
实现方案
你可以直接用dplyr的基础分组汇总逻辑完成需求,无需用到复杂的purrr::map或across函数,代码如下:
1. 构造测试数据
library(tidyverse) df <- tibble( Group = c(1,1,1,1,2,2,2,2), Type = c("A", "B", "C", "D", "A", "B", "C", "E"), Quantity = c(5,8,9,10,7,6,4,5) )
2. 核心处理代码
df_result <- df %>% # 将需要合并的B、C类型统一替换为新标识 mutate(Type = ifelse(Type %in% c("B", "C"), "B + C", Type)) %>% # 按分组和新的Type字段汇总Quantity group_by(Group, Type) %>% summarise(Quantity = sum(Quantity), .groups = "drop")
输出结果
# A tibble: 6 × 3 Group Type Quantity <dbl> <chr> <dbl> 1 1 A 5 2 1 B + C 17 3 1 D 10 4 2 A 7 5 2 B + C 10 6 2 E 5
内容的提问来源于stack exchange,提问作者Dmando
相关产品推荐
相关产品推荐

