R语言中统计公司出现次数并汇总金额的实现方法
解决方法
用dplyr的group_by() + summarize()就能同时搞定次数统计和金额汇总,比单独用count()更灵活。把你的代码改成下面这样就行:
library(dplyr) df_companies %>% # 按公司列分组(你的代码里用的Geldgeber对应需求里的Company) group_by(Geldgeber) %>% # 同时计算出现次数和金额总和,na.rm=TRUE避免空值干扰求和结果 summarize( Occurrences = n(), `Total Amount` = sum(Amount, na.rm = TRUE) ) %>% # 筛选出现次数最多的前3家公司 top_n(3, Occurrences) %>% # 按出现次数降序排列 arrange(desc(Occurrences)) %>% # 把列名Geldgeber改成需求里的Company(可选,需严格匹配列名时用) rename(Company = Geldgeber)
关键步骤说明
group_by(Geldgeber):以公司为分组依据,后续统计都基于每组计算summarize()中:n()直接返回每组的行数(即公司出现次数);sum(Amount, na.rm=TRUE)计算每组的金额总和,加入na.rm=TRUE是防止数据中的空值导致求和结果异常- 最后用
rename()完成列名的统一,完全匹配你需要的新data frame结构
内容的提问来源于stack exchange,提问作者Haidepzai
相关产品推荐
相关产品推荐

