簡體   English   中英

R中的加權二分圖聚類

[英]Weighted bipartite graph clustering in R

我有一個加權二分圖,例如:

A   V   5
A   W   4
A   X   1
B   V   5
B   W   6
C   V   7
C   W   4
D   W   2
D   X   5
D   Z   7
E   X   4
E   Y   5
E   Z   8

在此處輸入圖片說明

structure(list(g1 = c("A", "A", "A", "B", "B", "C", "C", "D", 
"D", "D", "E", "E", "E"), g2 = c("V", "W", "X", "V", "W", "V", 
"W", "W", "X", "Z", "X", "Y", "Z"), w = c(5L, 4L, 1L, 5L, 6L, 
7L, 4L, 2L, 5L, 7L, 4L, 5L, 8L)), class = "data.frame", row.names = c(NA, 
-13L))

是否有聚類方法來檢測組 1 和組 2 之間高度連接的節點。例如,在上面的示例中,似乎存在兩個聚類:

A,B,C - V,W
D,E - X,Y,Z

我從二分包中找到了這個函數: https : //www.rdocumentation.org/packages/bipartite/versions/2.11/topics/computeModules 但是,我希望每個集群都有某種 p 值或分數,告訴我它的“穩健性”。 任何的想法 ?

m <- as_adjacency_matrix(graph_from_data_frame(g),attr = "w") %>% 
       as.matrix() %>% 
       computeModules()    
listModuleInformation(m)
[[1]]
[[1]][[1]]
[[1]][[1]][[1]]
[1] "A" "B" "C" "D" "E"

[[1]][[1]][[2]]
[1] "V" "W" "X" "Z" "Y"



[[2]]
[[2]][[1]]
[[2]][[1]][[1]]
[1] "A" "B" "C"

[[2]][[1]][[2]]
[1] "V" "W"


[[2]][[2]]
[[2]][[2]][[1]]
[1] "D" "E"

[[2]][[2]][[2]]
[1] "X" "Z" "Y"

在此處輸入圖片說明

謝謝,

您是否考慮過使用 Watts/Strogatz 的聚類系數(也稱為“傳遞性”)? 它測量節點的鄰居相互連接的趨勢。 您可以計算網絡中所有節點的聚類系數,然后在每個集群中的節點之間求平均值。 結果將指示集群與cliqe(即完全連接的子圖)的接近程度。

傳遞性在 igraph 包中實現。

另請參閱wiki頁面以了解加權網絡的概括。

暫無
暫無

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

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