[英]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.