我正在尝试在Twitter中找到两个用户(联盟(关注者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)
但我仍有同样的问题。你能帮我解决这个问题吗?
答案 0 :(得分:0)
unique
的情况下计算 B
:
unique <- t(D + t(D - crossprod(A)))