优势导向(锦标赛)图表指标

时间:2013-09-23 23:10:18

标签: r social-networking graph-theory igraph

我感兴趣的是在优势导向图(也称为锦标赛图)中为节点推导优势度量(如在优势层次结构中)。我可以使用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中已有编码的解决方案,但我当然不愿意自己编写代码。

提前致谢!

1 个答案:

答案 0 :(得分:1)

不确定这是完美的还是我完全理解这一点,但它似乎可以通过一些试验和错误来实现:

library(relations)
result <- relation_consensus(endorelation(graph=the.set),method="Borda")
relation_class_ids(result)
#1 2 3 4 
#1 2 3 4 

method=处理关系等方面有很多潜在的选择 - 有关详细信息,请参阅?relation_consensus。使用线性顺序的method="SD/L"可能最适合您的数据,但由于更复杂的示例中的冲突,它可以提出多种可能的解决方案。对于当前的简单数据,情况并非如此 - 尝试:

result <- relation_consensus(endorelation(graph=the.set),method="SD/L",
                             control=list(n="all"))
result
#An ensemble of 1 relation of size 4 x 4.

lapply(result,relation_class_ids)
#[[1]]
#1 2 3 4 
#1 2 3 4 

?relation_consensus中的示例再次提供了处理此问题的方法。