2017-12-25 孙小北

复杂网络节点重要性常用R语言笔记

本文整理网络节点重要性常用R语言算法。

1.读取Excel数据,如读取data文件里面经典网络的源数据-邻接表

#读取Excel包
library(XLConnect)
data_jingdian=readWorksheetFromFile("D:/workspace/R/data.xlsx",sheet="jingdian",header=FALSE)

2.将源数据转换成-邻接矩阵、度等

#convertToGraph(data)  data源数据   返回:g-图,D-度,A-邻接矩阵,n-节点个数
convertToGraph<-function(data){  
    #将数据转换成数据框,图  
    g<-graph.data.frame(data,directed=FALSE);  
    #统计  
    #summary(g);  
    #节点名称  
    #V(g)$name;  
    #边  
    #E(g);  
    #ng=length(V(g));  #节点数n 不包括孤立节点    
    m=nrow(data);  #原始数据行数m   
    if(max(data[1:m,1])>max(data[1:m,2])){   
        n<-max(data[1:m,1]);  
    }else{   
        n<-max(data[1:m,2]);  
    }  
    #数据处理,计算邻接矩阵  
    A=matrix(0,n,n); #邻接矩阵  
    for (i in 1:m){    
        A[data[i,1],data[i,2]]<-1;    
        A[data[i,2],data[i,1]]<-1;  
    }    
    #计算度  
    # D=degree(g);  
    #计算度  D<-apply(A,1,sum);    
    output<-list(g=g,ng=ng,A=A,D=D,n=n);  
    return (output);
}

3.计算代码运行时间system.time()

ptm <- proc.time()
for (i in 1:10000) 
    x <- rnorm(1000)
proc.time() - ptm

user  system elapsed   

2.10    0.01    2.14

system.time(for (i in 1:10000) x <- rnorm(1000))

user  system elapsed    

2.01    0.00    2.06

“用户”是消耗在应用程序(非操作系统部分)执行的时间,“系统”是底层操作系统执行(例如磁盘读写等)部分的时间,“流逝”是经过的总时间(可以认为是前两者的总和)。一般优化时主要关注“用户”的时间。





编辑:孙小北

本文地址: https://www.xiaowangyun.com/wyblog/detail/?id=115

版权归属: www.xiaowangyun.com   转载时请以链接形式注明出处

0 条评论

快来评论

物以类聚

最新评论

2017-10-06

一辈子不长,只有珍惜了,才不至于后悔。

2017-10-06

懂得感恩,才能走得更远。

标签云

归档

取消

感谢您的支持,您的每一次打赏都是一次鼓励!

扫码支持
每一次支持,都是不懈的动力

打开支付宝扫一扫,即可进行扫码打赏哦