在R中对大矩阵应用中介中心性

时间:2013-08-02 11:48:35

标签: r matrix

我创建了以下算法来计算我所建立的网络的中介中心性。网络保存在一个大矩阵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))
 }
}

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

由于

0 个答案:

没有答案