#A binary bipartite network of 30 agents & 75 artifacts
#The agents form three communities
B <- rbind(cbind(matrix(rbinom(250,1,.8),10),
matrix(rbinom(250,1,.2),10),
matrix(rbinom(250,1,.2),10)),
cbind(matrix(rbinom(250,1,.2),10),
matrix(rbinom(250,1,.8),10),
matrix(rbinom(250,1,.2),10)),
cbind(matrix(rbinom(250,1,.2),10),
matrix(rbinom(250,1,.2),10),
matrix(rbinom(250,1,.8),10)))
B <- igraph::graph_from_biadjacency_matrix(B)
P <- igraph::bipartite_projection(B, which = "true") #An ordinary weighted projection...
plot(P) #...is a dense hairball
bb <- backbone_from_projection(B) #A backbone...
plot(bb) #...is sparse with clear communities
Run the code above in your browser using DataLab