R中Watts-Strogatz模型的90%

时间:2017-06-04 10:56:25

标签: r network-programming igraph

我有一个带参数[dim = 1,size = 100,nei = 2,p]的Watts-Strogatz模型。 我需要为

创建一个情节
  • 直径
  • 90%有效直径
  • 聚类系数

最后“作为重新布线概率p的函数”是什么意思? 当p约为0.1?

时,可以观察到什么效果

代码是:

i<-0.00
j<-1
a<-data.frame()
while (i<=1){
  temp<-watts.strogatz.game(1,100,2,i) #make graph
  distemp<-(distances(temp)) #make distance table to calculate 90%_eff_dia
  distemp2<-apply(distemp,2,sort,decreasing=FALSE)[1:(length(V(temp))*0.9),] 
  #sort distance table
  distemp2[is.infinite(distemp2)]<-NA  # clensing Inf Value

  a[j,1]<-i
  a[j,2]<-diameter(temp)
  a[j,3]<-transitivity(temp)
  a[j,4]<-max(distemp2[(length(V(temp))*0.9),],na.rm=TRUE) # find 90 eff dia.
  i=i+0.001
  j=j+1
}

colnames(a)<-c('i','diameter','transitivity','eff_dia')
plot(a$i,a$diameter,type='l',xlab='p',ylab='Diameter',col='blue')
plot(a$i,a$transitivity,type='l',xlab='p',ylab='Clustering coef.',col='red')

是否有可能让它变得更容易? 我有RStudio版本[1.0.136],包fastnet对我不起作用。谢谢。

0 个答案:

没有答案