我知道如何使用R中的igraph来获取数据集中两列中的连接组件。
数据集
library(data.table)
df = fread(
"rn A B
1: 11 6
2: 12 6
3: 11 7
4: 13 2
5: 12 7
6: 12 8
7: 17 2
8: 13 1")[, rn := NULL][]
library(igraph)
g = graph_from_data_frame(df)
cluster = clusters(g)
list = groups(cluster)接下来我要做的是将集群ID分配给每个连接的组件。
A B ID
1: 11 6 1
2: 12 6 1
3: 11 7 1
4: 13 2 2
5: 12 7 1
6: 12 8 1
7: 17 2 2
8: 13 1 2我希望这是合理的。谢谢
发布于 2017-09-29 16:56:37
您可以通过以下任一操作提取成员:
df$ID <- cluster$membership[as.character(df$A)]或
df$ID <- cluster$membership[as.character(df$B)]两者都应给予:
df
# A B ID
#1: 11 6 1
#2: 12 6 1
#3: 11 7 1
#4: 13 2 2
#5: 12 7 1
#6: 12 8 1
#7: 17 2 2
#8: 13 1 2https://stackoverflow.com/questions/46493391
复制相似问题