igraph - 如何计算iGraph中断开图的接近度方法

时间:2015-06-16 09:08:21

标签: igraph measure

我在R中使用igraph来计算图形测量,我的图形在不连接图形的PIN中生成并且是断开连接图形。 连通图的紧密度方法是好的,正确计算,而对于断开连接图则不好!

library(igraph)
# Create of Graph Matrix for Test Closeness Centrality
g <- read.table(text="A B 
  1 2
  2 4
  3 4
  3 5", header=TRUE)
gadj <- get.adjacency(graph.edgelist(as.matrix(g), directed=FALSE))
igObject <- graph.adjacency(gadj) # convert adjacency matrix to igraph object
gCloseness <- closeness(igObject,weights = NULL) # Assign Closeness to Variable for print

输出:

  

[1] 0.1000000 0.1428571 0.1428571 0.1666667 0.1000000

我的断开连接图:

library(igraph)
# Create of Graph Matrix for Test Closeness Centrality
g <- read.table(text="A B 
1 2
3 4
3 5", header=TRUE)
gadj <- get.adjacency(graph.edgelist(as.matrix(g), directed=FALSE))
igObject <- graph.adjacency(gadj) # convert adjacency matrix to igraph object
gCloseness <- closeness(igObject,weights = NULL) # Assign Closeness to Variable for print

输出:

  

[1] 0.06250000 0.06250000 0.08333333 0.07692308 0.07692308

这个输出是对的吗?如果正确如何计算?

1 个答案:

答案 0 :(得分:2)

请阅读.htaccess功能的documentation;它清楚地说明igraph如何处理断开的图形:

  

如果顶点closenessv之间没有(定向)路径,则在公式中使用顶点总数而不是路径长度。

然后计算似乎对我来说是正确的,虽然我会说亲密中心本身对于断开连接的图形没有很好的定义,而且这里使用的igraph更像是一个黑客(虽然是一个非常标准的黑客)而不是严格处理问题。我不会在断开连接的图上使用贴近度中心性。