【发布时间】:2013-09-23 23:10:18
【问题描述】:
我有兴趣为优势有向图(也称为锦标赛图)中的节点推导优势指标(如在优势层次结构中)。我可以使用 R 和包 igraph 轻松构建这样的图表,例如
library(igraph)
创建边缘数据框
the.froms <- c(1,1,1,2,2,3)
the.tos <- c(2,3,4,3,4,4)
the.set <- data.frame(the.froms, the.tos)
set.graph <- graph.data.frame(the.set)
plot(set.graph)
此绘制的图表显示节点 1 影响节点 2、3 和 4(对它们起主导作用),2 对 3 和 4 起主导作用,而 3 对 4 起主导作用。
但是,我看不到像页面中那样实际计算支配层次结构的简单方法:https://www.math.ucdavis.edu/~daddel/linear_algebra_appl/Applications/GraphTheory/GraphTheory_9_17/node11.html。 所以,我的第一个也是主要的问题是,有没有人知道如何使用 R 中的一些希望已经编码的解决方案为这样的图导出支配层次结构/基于节点的支配度量?
此外,在我的真实案例中,我实际上有一个稀疏矩阵,它缺少一些交互,例如
incomplete.set <- the.set[-2, ]
incomplete.graph <- graph.data.frame(incomplete.set)
plot(incomplete.graph)
在这个绘制的图中,物种 1 和 3 之间没有联系,但是对传递性做一些假设,优势层次与上面相同。
这是一个复杂得多的问题,但如果有人对我如何为这样的稀疏矩阵推导基于节点的优势指标有任何意见,请告诉我。我希望在 R 中有一个已经编码的解决方案,但我当然更愿意自己编码。
提前致谢!
【问题讨论】:
-
对于非图论者,最好在您的问题中解释优势概念。不过,这取决于您;其他人可能知道你在说什么。此外,如果您的问题是关于数学而不是编码,那么 SO 可能不适合。
-
谢谢弗兰克。我把它修改得更清楚了,我希望。简而言之,我的第一个问题肯定是关于编程的,而第二个问题可能更多是关于数学的……尽管我希望暂时绕过数学并找到一个编码解决方案来摆弄,同时我试图理解更复杂的方面。
-
relations包有用吗?它似乎能够处理一个节点对另一个节点的优势的计算 - cran.r-project.org/web/packages/relations/vignettes/… -
说实话,我不知道你的问题到底是什么。您的示例图的输出是什么?您想得出一个指标,但这个指标到底要衡量什么?如果您不知道要计算什么,为什么这是一个 stackoverflow 问题?
-
@GaborCsardi 非常感谢您的回复!我知道我想计算什么。我想要一个数字来描述有向图中每个节点的优势层次结构中的排名,如我在原始帖子中提供的链接所示。因此,在我提供的示例代码中,节点 1 为 1,节点 2 为 2,节点 3 为 3,节点 4 为 4。我想在更复杂的网络中,可能有这个度量的值是联系,或范围,或类似的东西,特别是如果网络不是有向无环图或者它是稀疏矩阵。
标签: r social-networking graph-theory igraph