r-如何在一个大型Twitter图中找到两个用户的唯一关注者数量



我试图在twitter中找到两个用户(union(关注者A,关注者B))的唯一关注者数量。我使用了以下代码,它对小图形非常适用。

library(igraph)
library(Matrix) 
mat<-matrix(c("A","A","C","B","C","D","H","F","F","I","I","C","D","D","D","E","E‌​","F","E","G","F","G"),ncol=2) 
mat<-as.data.frame(mat)
graph<-graph.data.frame(mat)
undirected_graph<-graph.data.frame(mat,directed=FALSE)
A<-get.adjacency(graph)
D<-colSums(A)
B<-matrix(D,ncol=length(D),nrow=length(D)) 
#unique followers of two selected nodes 
unique<-B+t(B)-t(A)%*%A
runique<-unique-get.adjacency(undirected_graph)

现在,我想将此代码用于较大的图形。代码可以很容易地创建邻接矩阵,但当涉及到矩阵B时,我会耗尽内存。我尝试了以下代码:

B<-Matrix(D,ncol=length(D),nrow=length(D),sparse=T)

但我仍然有同样的问题。你能帮我解决这个问题吗?

unique可以在不计算B的情况下计算,如下所示:

unique <- t(D + t(D - crossprod(A)))

相关内容

最新更新