library("network")
library("networkD3")
library("igraph")
df1 <- read.table(text = "src target
cllient1 cllient2
cllient1 cllient4
cllient1 cllient6
cllient2 cllient3
cllient4 cllient1
cllient4 cllient3
cllient5 cllient6
cllient6 cllient5", header = TRUE)
lesmis <- graph_from_data_frame(df1)
wc <- cluster_walktrap(lesmis)
members <- membership(wc)
lesmis <- igraph_to_networkD3(lesmis, group = members)
D3_network_LM <- networkD3::forceNetwork(Links = lesmis$links, Nodes = lesmis$nodes,
Source = 'source', Target = 'target',
NodeID = 'name', Group = 'group',
opacity = 1,zoom = TRUE)
networkD3::saveNetwork(D3_network_LM, "test.html", selfcontained = TRUE)
Так близко, что у нас есть сеть.После этого мы создаем новый граф, объединяя несколько вершин в одну.В нашем случае те вершины, которые принадлежат конкретному сообществу.
lesmis <- graph_from_data_frame(df1)
cg <- contract.vertices(lesmis, members)
ay <- as_long_data_frame(cg)
View(ay)
мы получили новый граф,
from to
1 2
Мы можем снова построить новый граф, где теперь эти узлы являются группами, но их имена 1 и 2, мой вопрос в том, как мыможете добавить имена клиентов к этому новому графику.Таким образом, при наведении мы можем получить не только номер узла (группы), но и список клиентов, принадлежащих этому новому узлу (группе).