首页 > 解决方案 > 如何获取数据关系并根据 R 中的这些关系将数据组合成组?

问题描述

我正在尝试匹配数据集中的所有客户,并为那些邮政编码匹配 100%、地址和电子邮件匹配 85% 的客户提供相似的 ID。我能够使用Record Linkage packagein来做到这一点R。现在我有这样的结果:

x <- data.frame(ID1=c(1,2, 3, 5, 10, 11, 12), ID2=c(2,5,4,11,11,18,18))

ID1 ID2
1   2
2   5
3   4
5   11
10  11
11  18
12  18

但是我想将所有匹配的 ID 组合在一起,1,2,5,11,10,12,18所以我想给他们相同的 ID。

基本上我想要这样的输出:

Group   Key
1        1
1        2
1        5
1       11
1       10
1       12
1       18
3        3
3        4

标签: ralgorithm

解决方案


下面的代码为我提供了我正在寻找的输出:

x <- data.frame(ID1=c(1,2, 3, 5, 10, 11, 12), ID2=c(2,5,4,11,11,18,18)) 库(igraph) y = graph.data.frame(x) z = stack(clusters(y)$membership)


推荐阅读