我用R中的i图来计算图的测度,我的图是在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
这个输出是对的?如果正确的话,该如何计算?
发布于 2015-06-16 10:29:10
请阅读文档函数的closeness;它清楚地说明了iGraph如何处理断开连接的图形:
如果顶点
v和i之间没有(有向)路径,则公式中使用顶点总数而不是路径长度。
这样的计算对我来说似乎是正确的,尽管我要说,对于不连通的图来说,封闭中心本身并没有被很好的定义,而iGraph目前使用的更多的是一个黑客(尽管是一个相当标准的黑客),而不是对这个问题的严格处理。我不想在不连通图上使用封闭中心性。
https://stackoverflow.com/questions/30863248
复制相似问题