【发布时间】:2020-11-26 00:07:18
【问题描述】:
我发现了一篇以前的 stackoverflow 帖子,它处理了我遇到的类似问题,但那里的答案并不完全相同:Check which community a node belongs in louvain community detection
我在 R 中创建了一些数据,然后制作了一个图表。制作完图后,我在图上进行了聚类。现在,假设我有一个人员列表,我想找出他们属于哪个集群。
我知道手动检查数据并找出这一点很容易,但是我认为如果您有一个大数据集,这将非常困难。
我已经写了下面的代码。一切正常,直到最后两行我试图找出“John”、“Peter”和“Tim”属于哪些集群:
#load libraries
library(igraph)
library(dplyr)
#create data
Data_I_Have <- data.frame(
"Node_A" = c("John", "John", "John", "Peter", "Peter", "Peter", "Tim", "Kevin", "Adam", "Adam", "Xavier"),
"Node_B" = c("Claude", "Peter", "Tim", "Tim", "Claude", "Henry", "Kevin", "Claude", "Tim", "Henry", "Claude")
)
#create graph
graph <- graph.data.frame( Data_I_Have, directed=F)
graph <- simplify(graph)
#perform clustering
cluster = cluster_louvain(graph)
#plot graph
plot(graph, cluster)
#make list of people
people <- c("John", "Peter", "Tim")
#find out which cluster each of these people belong in (here is the error)
location <- names("people")[!(names("people") %in% cluster)]
#transform the previous data frame into a table
location_table <- table(location)
谁能告诉我我做错了什么?
谢谢
【问题讨论】:
-
我想你的意思是
graph <- graph.data.frame(Data_I_Have, directed=F)和plot(cluster, graph)。
标签: r graph dplyr data-visualization nodes