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

        昨天做作业,需要求网络中边的介数。在网上找了几个程序,一时之间不知道如何使用,也静不下心自己写算法,只好学习怎么用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

你可能感兴趣的:(用R软件和Pajek计算网络的边介数)