您的位置:首页 > 理论基础 > 计算机网络

用R软件和Pajek计算网络的边介数

2013-08-16 16:17 162 查看
昨天做作业,需要求网络中边的介数。在网上找了几个程序,一时之间不知道如何使用,也静不下心自己写算法,只好学习怎么用R软件和Pajek计算。

要用到R软件的igraph包,所以装好R软件后需要从package菜单项按照igraph包,然后用分别用以下命令计算边介数(edge betweenness):

library(igraph) //将igraph包调入

t<-read.graph(file="c://network.net", format="pajek") //读入网络并将其赋给t

edge.betweenness(t, e=E(t)) //计算得到按输入边顺序的介数

说明:

1. igraph支持很多格式的网络(图)输入,pajek是其中之一。如果熟悉pajek的格式,节点和边不多的情况下可以手工输入。也可以用Excel2Pajek软件或Txt2Pajek得到pajek的格式的网络文件。

2. 读入后必须将graph(网络)赋给一个符号,以便后面引用。

3. 我曾按照edgelist格式手写文件,总是报格式错,没有看出来,附在这里,希望看出格式错误的给予指正。

edgelist文件:

dl

n = 7

format = edgelist

data:

1 2

1 3

2 3

2 6

3 6

3 4

3 5

4 5

5 7

正确的pajek文件示例:

*Vertices 7

1 "1"

2 "2"

3 "3"

4 "4"

5 "5"

6 "6"

7 "7"

*Edges

1 2

1 3

2 3

2 6

3 6

3 4

3 5

4 5

5 7
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: