0

我创建了以下算法来计算我制作的网络的中介中心性。该网络保存在一个 62589x62589 的大矩阵中。

getBetween<-function(matIn)
{
 betScore<-c()
 for(i in 1:nrow(matIn))
 {
  tmpTF<-(matIn[i, ] !=0)
  tmp1<-matIn[i, tmpTF]
  mat2<-matrix(0, length(tmp1), length(tmp1))
  rownames(mat2)<-rownames(matIn)[tmpTF]
  colnames(mat2)<-rownames(matIn)[tmpTF]
  for(j in 1:nrow(mat2))
  {
   for(k in 1:ncol(mat2))
   {
    if(mat2[j,k] > matIn[rownames(mat2)[j], colnames(mat2)[k]])
    {
     mat2[j,k] <-0
    }
   }
  }    
  betScore<-c(betScore, sum(mat2 > 0))
 }
}

然而,迭代超过 40 亿个值是非常低效的。在快速搜索后我找不到任何可以计算中介中心性的包,有人知道吗?另外,任何人都可以就我的算法的实现以及如何改进它给我任何指示吗?

谢谢

4

0 回答 0