【发布时间】:2021-03-10 20:03:01
【问题描述】:
我正在尝试了解 R (igraph) 中可用的一些图形函数。在这里,我创建了一些数据和图表:
library(igraph)
file <-data.frame(
"source" = c(
"John",
"John",
"Tim",
"Tim",
"Alex",
"Andrew",
"Andrew",
"Andrew",
"Oliver",
"Oliver",
"Oliver",
"Matt",
"Steven",
"Steven",
"Steven",
"Matt",
"Charles",
"Charles",
"Charles",
"Sean",
"Ted",
"Ryan",
"Ryan",
"Ryan",
"Ted",
"Phil",
"Phil",
"Phil",
"Sam",
"Toby",
"Toby",
"Donald",
"Donald",
"Donald",
"Mitch",
"Mitch",
"Mitch"),
"target" = c("Sam",
"Tim",
"Alex",
"Matt",
"Andrew",
"Sean",
"Peter",
"Ben",
"Kevin",
"Thomas",
"Dave",
"Steven",
"Kenny",
"Derek",
"CJ",
"Charles",
"Ivan",
"Kyle",
"Andrew",
"Ted",
"Ryan",
"Daniel",
"Chris",
"Scott",
"Phil",
"Henry",
"George",
"Paul",
"Toby",
"Donald",
"Mitch",
"Jack",
"Luke",
"Myles",
"Elliot",
"Harvey",
"Owen")
)
graph <- graph.data.frame(file, directed=F)
graph <- simplify(graph)
plot(graph)
我的一些问题:
- 我可以运行 Louvain 聚类算法:
https://igraph.org/r/doc/cluster_louvain.html
louvain = cluster_louvain(graph)
plot(louvain,graph)
但是,似乎没有一种方法可以更改 Louvain 聚类算法的“分辨率”。我做了一些研究,似乎不可能。我说的对吗?
- 聚类系数
我尝试阅读了功能说明,但不明白以下功能有什么区别,谁能给我解释一下?
assortativity.degree(graph)
[1] -0.666401
transitivity(graph)
[1] 0
我正在尝试理解“比较”功能。在我看来,它应该在同一张图上比较两种不同聚类算法的结果。例如。假设我在同一张图上运行“Louvain Clustering”和“fast greedy”:
a = cluster_louvain(graph)
b = fastgreedy.community(graph)
现在我使用比较函数:
#part 1
compare(a,b, method="rand")
[1] 0.940256
#part2
compare(membership(a), membership(b))
[1] 0.460781
似乎在第 1 部分中:“比较”功能正在比较两个图上的整体聚类算法。在第 2 部分:“比较”功能是比较各个社区结构。我对么?我认为“比较”功能会比较个人观察结果?
谢谢
【问题讨论】:
标签: r graph data-visualization cluster-analysis nodes