如何在igraph中的cluster_walktrap函数中处理权重?

时间:2017-03-21 11:26:04

标签: r igraph modularity

我正在使用戏剧的角色网络。节点表示字符,边表示它们彼此寻址的语音。它是一个有向网络,边权重等于源角色对目标所说的单词数。

在iGraph中,边缘重量有时意味着距离,有时意味着接近。例如,要获得betweenness的正确结果,我需要反转边权重,以便角色对另一个人说的单词越多,越接近'他们在网络中:

edgeData <- data.frame(source, target, weight = numWords)
graph <- graph_from_data_frame(edgeData)
betweenness(graph, weights = 1/E(graph)$weight)

现在我想研究我的戏剧的社区结构,我不知道如何正确使用算法。我应该将边缘权重视为距离,并将权重反转,以便更多说话的人物更接近&#39;彼此?

cluster_walktrap(graph, weights = 1/E(graph)$weight)

或者我应该将权重视为权重,并将算法用于默认状态?

cluster_walktrap(graph)

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

cluster_walktrap(graph)没问题。社区检测,体重是重量,而不是距离。

当我计算一些图表索引时,我也很困惑。

但是如果你想计算最短路径(或其他),你应该使用 weights = 1/E(graph)$weight

你可以设计一个演示。