0
我想根据虚构的贸易调查示例转换以下示例数据。想一想,A国说它出口到B国(第2行,出口= 1),而B国说它不从A进口(第4行,进口= 0),反之亦然。我现在想要获得数据集中所有这些匹配的最大值(= 1),即在这种情况下,第4行中的导入将为= 1)。R:社交网络 - 根据不同列和行中的条件得出的最大值
> df <- data.frame("Sender" = c("A", "A", "A", "B", "B", "B", "C", "C", "C"),
+ "Receiver" = c("A", "B", "C", "A", "B", "C", "A", "B", "C"),
+ "Export"= c(0,1,0,0,0,0,0,0,0),
+ "Import" = c(0,1,1,0,0,1,0,0,0))
> df
Sender Receiver Export Import
1 A A 0 0
2 A B 1 1
3 A C 0 1
4 B A 0 0
5 B B 0 0
6 B C 0 1
7 C A 0 0
8 C B 0 0
9 C C 0 0
的解决方案应该是
Sender Receiver Export Import Export_MAX Import_MAX
1 A A 0 0 0 0
2 A B 1 1 1 1
3 A C 0 1 0 1
4 B A 0 0 1 1
5 B B 0 0 0 0
6 B C 0 1 0 1
7 C A 0 0 1 0
8 C B 0 0 1 0
9 C C 0 0 0 0
我搜索了很多方法可以做,在这个论坛和其他地方,也没有找到一个解决方案为止。我正在考虑沿着“导入”列中应用最大值函数的方法,以“发件人”&“接收者”中给出的值为条件,但我没有尽可能地达到在此处报告代码。
有什么想法吗?你的建议非常感谢。