使用R语言dplyr按country分组统计count及Profit总和的实现
使用R语言dplyr包实现分组计数与求和统计
核心实现代码
首先加载dplyr包:
# 未安装dplyr可先执行安装 # install.packages("dplyr") library(dplyr)
执行分组统计的代码如下:
stat_result <- df %>% group_by(country) %>% summarise( count = n(), # 统计每个国家的出现次数 sumprofit = sum(Profit, na.rm = TRUE) # 统计对应Profit总和,na.rm=TRUE可避免空值导致结果异常 )
效果验证
你可以通过以下代码构造和你示例一致的测试数据,直接运行验证结果:
# 构造和你提供的一致的测试数据框 df <- data.frame( country = c("Algeria", "Australia", "Hungary", "Sweden", "Australia", "Australia", "Hungary", "Sweden", "Algeria"), Profit = c(10614, 36036, 2964, -26055, 3777, 15342, 12141, 15373, 98731) ) # 执行统计 stat_result <- df %>% group_by(country) %>% summarise( count = n(), sumprofit = sum(Profit, na.rm = TRUE) ) # 打印结果 print(stat_result)
运行后输出结果如下(你示例中Algeria的计数为1属于手误,原始数据中Algeria共出现2次):
# A tibble: 4 × 3 country count sumprofit <chr> <int> <dbl> 1 Algeria 2 109345 2 Australia 3 55155 3 Hungary 2 15105 4 Sweden 2 -10682
内容的提问来源于stack exchange,提问作者Napier
相关产品推荐
相关产品推荐

