如何在R语言中对DataFrame分组后将性别列重塑为宽表
解决方案
你可以用tidyverse中的pivot_wider()函数实现长格式到宽格式的转换,直接在现有代码后追加该步骤即可:
df_1 <- OrPatientTotals %>% filter(DomainID==1) %>% group_by(DisplayEn, GenderEn) %>% summarise(SumTransactions = sum(TotalTransactions), .groups = "drop") %>% # 移除分组避免后续警告 pivot_wider( names_from = GenderEn, # 指定用作列名的字段 values_from = SumTransactions, # 指定填充列值的字段 values_fill = 0 # 可选:无数据的位置用0填充,替代默认的NA )
关键参数说明
.groups = "drop":完成聚合后清除分组状态,避免后续操作的分组提示names_from = GenderEn:把GenderEn里的类别(女性、男性)转为新的列名values_from = SumTransactions:将交易总和的值对应填充到新生成的性别列中values_fill = 0:可选配置,若某年龄组下某性别无交易数据,用0填充空白位置,避免出现缺失值
内容的提问来源于stack exchange,提问作者Lena Mussabeh
相关产品推荐
相关产品推荐

