【发布时间】:2021-11-22 01:05:37
【问题描述】:
我面临以下问题。 我有一个以这种方式简化的数据集
df <- tibble(ID_1=c("a","a", "a","a", "a", "b", "b", "b", "b"), ID_2 = c("a","b", "c","d", "e", "b", "a", "c", "d"),
other= c(1, "bu", 34, 3, 5, 6, "jud", 82, 9), exchange=c(1, 13, 34, 3, 5, 6, 8, 82, 9),
goods=c("wood","wood", "wood","wood", "wood", "steel", "steel", "steel", "steel"))
df
我们在具有不同 ID 的多个国家/地区之间进行交流。 我想总结A国和B国之间的所有交换。A国和C国之间等等交换的货物。 也就是说,最后,我想拥有
ID_1 // ID_2 // Sum_exchangeAB
ID_1 // ID_3 // Sum_exchangeBC
....
ID_n // ID_n // Sumexchangenn
如何在 Dplyr 中做到这一点?我尝试了 group_by (ID_1, ID_2) 然后聚合。或者总结一下。
我尝试了以下示例: dataset2 %>% group_by(ID_1, ID_2, exchange) %>% summarise(dataset2, sum_of_exchange=sum(exchange)) 。 但这给了我所有交换的总和(也就是说,它返回一个值)。不是两国交换的总和。
感谢您的帮助,非常感谢!
【问题讨论】:
-
我尝试了 group_by (ID_1, ID_2) 然后聚合。 ...然后发生了什么?请发布您的代码尝试并转发您遇到的问题,例如错误或不希望的结果。
-
根据您分享的示例,您的预期输出是什么?
-
我是否正确地假设您想将 a 到 b 和 b 到 a 的交换相加?等等?
-
是的德申。我有一个国家对数据集。我有很多国家之间的交流。我想总结国家之间所有商品的所有交换。
-
我尝试了以下示例: