在R语言中按日期和大洲汇总新冠数据(合并多观测值)
新冠疫情数据按大洲+日期分组求和方案
核心问题修正
你之前的代码用了summarise_all(max),所以返回的是分组内的最大值,要实现求和只需把max换成sum,同时要把**大洲(Continent_Name)**加入分组条件,才能按「日期+大洲」的维度汇总数据。
完整代码示例
1. 对所有数值列批量求和
如果需要对所有可求和的字段(阳性数、检测量、死亡数等)同时汇总:
covid_summary <- covid19 %>% group_by(Date, Continent_Name) %>% summarise_all(sum, na.rm = TRUE)
group_by(Date, Continent_Name):指定双维度分组,确保每个大洲的每日数据单独计算总和sum, na.rm = TRUE:对分组内的列求和,忽略缺失值避免结果出现NA
2. 仅对指定列求和
如果只需要汇总特定字段(比如仅阳性数、死亡数),可以用summarise_at精准指定:
covid_summary <- covid19 %>% group_by(Date, Continent_Name) %>% summarise_at(vars(Positives, Deaths, Tests), sum, na.rm = TRUE)
3. 仅筛选欧洲数据的情况
如果只需要欧洲的汇总结果,保留你的filter逻辑即可:
covid19EU <- covid19 %>% filter(Continent_Name == "Europe") %>% group_by(Date) %>% summarise_all(sum, na.rm = TRUE)
内容的提问来源于stack exchange,提问作者lpanderson
相关产品推荐
相关产品推荐

