You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Dplyr按分组条件汇总两个国家间的exchange交易总额

错误原因

你分组时错误将exchange加入了分组变量,group_by(ID_1, ID_2, exchange)会把每个独立的exchange值拆分为单独分组,后续求和仅会对单个值计算,自然无法得到按国家对汇总的结果。

实现方案

方案1:保留单向配对(ID_1、ID_2顺序不同视为不同配对)

仅按ID_1和ID_2两个字段分组后求和即可:

library(dplyr)
result <- df %>%
  group_by(ID_1, ID_2) %>%
  summarise(sum_of_exchange = sum(exchange),
            .groups = "drop")

运行后输出结果如下:

ID_1ID_2sum_of_exchange
aa1
ab13
ac34
ad3
ae5
ba8
bb6
bc82
bd9

方案2:合并双向配对((a,b)和(b,a)视为同一国家对,符合常规双边交易汇总需求)

先对每行的两个国家ID做排序,再按排序后的两个ID分组求和:

result <- df %>%
  mutate(country_min = pmin(ID_1, ID_2),
         country_max = pmax(ID_1, ID_2)) %>%
  group_by(country_min, country_max) %>%
  summarise(sum_of_exchange = sum(exchange),
            .groups = "drop")

运行后输出结果如下:

country_mincountry_maxsum_of_exchange
aa1
ab21
ac34
ad3
ae5
bb6
bc82
bd9

内容的提问来源于stack exchange,提问作者dreamR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 23:36:00