复杂网络节点重要性常用R语言笔记
【摘要】 本文整理网络节点重要性常用R语言算法。
.读取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
“用户”是消耗在应用程序(非操作系统部分)执行的时间,“系统”是底层操作系统执行(例如磁盘读写等)部分的时间,“流逝”是经过的总时间(可以认为是前两者的总和)。一般优化时主要关注“用户”的时间
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)