识别网络中的重要连接节点

时间:2014-08-18 11:11:53

标签: r

我有一份公交车站列表和两辆公交车站之间的公交车数量。数据如下图所示。

Bus Stop    Bus Stop    No of Buses
1   3   10
2   4   23
3   9   4
4   3   34
5   2   1
6   4   3
7   1   543
8   5   5
9   2   2
10  5   1

我需要确定连接最大公交线路的重要公交车站。

我怎么能在r。

我尝试使用arules包但无法确定最重要的公交车站。 R中是否有其他包可以帮助我解决问题。

1 个答案:

答案 0 :(得分:3)

在我看来,您可以使用图表来解决您的问题。

导入您的数据:

dat <- read.table(text="
from    to    Number
1   3   10
2   4   23
3   9   4
4   3   34
5   2   1
6   4   3
7   1   543
8   5   5
9   2   2
10  5   1", header=TRUE)

转换为图表,使用包igraph并绘制

library(igraph)
p <- graph.data.frame(dat, directed=FALSE)
set.seed(42)
plot.igraph(p, edge.width=log1p(E(p)$Number))

enter image description here

很明显,边缘2,3,4和5各有三条路线。您可以使用函数neighbors()

来确定它
x <- sapply(V(p), function(i)length(neighbors(p, i)), USE.NAMES = TRUE)
x
## [1] 2 3 3 3 3 1 1 1 2 1

which(x == max(x))
## [1] 2 3 4 5