R语言使用pivot_wider做宽表转换时如何对重复值进行汇总
你可以直接在pivot_wider函数中通过values_fn参数指定重复值的聚合规则,无需提前做分组聚合处理,同时可以搭配names_prefix参数直接生成符合要求的列名,完整可运行代码如下:
library(tidyr) pivot_wider( df, id_cols = c(idMarket, idSection), names_from = idClient, values_from = Score, values_fn = sum, names_prefix = "Client" )
参数说明:
values_fn = sum:指定同分组下的多个Score值执行求和计算,如果你需要其他聚合逻辑,比如取最大值、求均值,直接替换sum为max/mean等对应函数即可names_prefix = "Client":自动为生成的客户列添加前缀,输出的列名直接匹配你需要的Client23、Client56格式,无需后续额外修改
该方案所有逻辑都在宽表转换步骤中一次性完成,运行后不会再出现列表列的问题,输出结果和你给出的预期完全一致。
内容的提问来源于stack exchange,提问作者Clara
相关产品推荐
相关产品推荐

