"not strongly connected graph" 在 centiserve 质心计算中意味着什么?
what does "not strongly connected graph" means in centiserve centroid computation?
在问题中,我有四个不同的网络,我从 4 个不同的 csv 文件加载。当我计算 centroid using centiserve 库时,每一个都失败了。另一方面,如果我生成一个随机 ER 网络,则质心计算有效。
我查看了 centroid 函数,最终我发现它使用 igraph 这个函数检查网络是否已连接 is.connected(g, mode="strong")
According to wikipedia 如果所有节点都可以从网络中的随机节点到达,则图是强连通的。为此,我使用 igraph 的 decompose()
函数计算了网络的组件,并且所有网络都有一个连接组件:length(decompose(net))
始终等于 1。但是,centroid(net)
始终return检查错误。
最终,问题是:这个函数在验证图形是否合适时到底在寻找什么?为什么我的网络只有一个连通分量,但是 igraph 的 is.connected()
函数 return False?
一些代码:
#load file
finalNet <- read.csv("net.csv", sep=",", header=T)
#get network
net <- graph_from_data_frame(finalNet[, c(1, 2)])
#decompose says that there is a single connected component
length(decompose(net))
#while centroid does not work!
centroid(net)
网络可用here
好的,我找到了答案。问题是函数 graph_from_data_frame 创建一个有向网络,如果没有另外指定的话。
因此,使我的示例正常工作的解决方案是按未指示的方式加载网络:
net <- graph_from_data_frame(finalNet[, c(1, 2)], directed=F)
在问题中,我有四个不同的网络,我从 4 个不同的 csv 文件加载。当我计算 centroid using centiserve 库时,每一个都失败了。另一方面,如果我生成一个随机 ER 网络,则质心计算有效。
我查看了 centroid 函数,最终我发现它使用 igraph 这个函数检查网络是否已连接 is.connected(g, mode="strong")
According to wikipedia 如果所有节点都可以从网络中的随机节点到达,则图是强连通的。为此,我使用 igraph 的 decompose()
函数计算了网络的组件,并且所有网络都有一个连接组件:length(decompose(net))
始终等于 1。但是,centroid(net)
始终return检查错误。
最终,问题是:这个函数在验证图形是否合适时到底在寻找什么?为什么我的网络只有一个连通分量,但是 igraph 的 is.connected()
函数 return False?
一些代码:
#load file
finalNet <- read.csv("net.csv", sep=",", header=T)
#get network
net <- graph_from_data_frame(finalNet[, c(1, 2)])
#decompose says that there is a single connected component
length(decompose(net))
#while centroid does not work!
centroid(net)
网络可用here
好的,我找到了答案。问题是函数 graph_from_data_frame 创建一个有向网络,如果没有另外指定的话。
因此,使我的示例正常工作的解决方案是按未指示的方式加载网络:
net <- graph_from_data_frame(finalNet[, c(1, 2)], directed=F)