如何使用tidyverse将summarize()的统计结果按类别拆分为多列
R语言tidyverse按燃料类型拆分均值分列展示解法
你只需要在原有分组逻辑中加入燃料类型字段fl(mpg数据集内置燃料类型列),再通过宽表转换即可实现需求,完整可运行代码如下:
library(tidyverse) # 分组统计+宽表转换 mpg %>% group_by(manufacturer, year, fl) %>% summarize(displ_mean = mean(displ), .groups = "drop") %>% pivot_wider( names_from = fl, values_from = displ_mean, values_fill = NA, # 可选:添加列名前缀方便识别 # names_prefix = "displ_mean_" )
参数说明
fl是mpg内置的燃料类型字段,不同取值对应:c=压缩天然气、d=柴油、e=乙醇、p=高级汽油、r=普通汽油,转换后会自动生成对应列values_fill参数可自定义缺失值填充规则,某品牌某年份没有对应燃料类型的车型时,默认填充NA,也可以设置为0或其他数值.groups = "drop"用于统计完成后自动解除分组,避免后续操作出现非预期的分组逻辑残留
内容的提问来源于stack exchange,提问作者Adrianna
相关产品推荐
相关产品推荐

