簡體   English   中英

在社區而不是igraph中的節點上創建樹狀圖

[英]Create dendrogram on communities, not nodes in igraph

我正在嘗試創建僅網絡社區的樹狀圖。 下面的示例代碼為我提供了所有節點的樹狀圖,但是當我使用一個相對較大的數據集時,我想創建一個僅包含社區的樹狀圖,這樣我將只有社區一個較小的樹狀圖,這是可能?

library(igraph)
set.seed(1)    
g001 <- erdos.renyi.game(100, 1/10, directed = FALSE)

fc01 <- fastgreedy.community(g001)
colors <- rainbow(max(membership(fc01)))
plot(g001, vertex.size=2, vertex.label=NA, vertex.color=colors[membership(fc01)] )

dendPlot(fc01, mode="phylo", cex=1)

謝謝。

樹狀圖類具有cut功能,您可以使用該功能在特定高度將樹狀圖拆分。 community算法似乎基於存在的對象數來使用高度。 因此,鑒於上面的fc01對象,您可以將其分為以下幾個子組:

ss01 <- cut(as.dendrogram(fc01), h=length(membership(fc01))-length(fc01))$lower

那為我創造了5個小組。 我們可以繪制整個集合和5個子集

layout(matrix(1:6, nrow=2))
dendPlot(fc01, mode="hclust")
lapply(ss01, plot, cex=1)

因此每個子圖都在ss01[[1]]ss02[[2]]等中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM