У меня есть взвешенный двудольный граф, такой как:
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"
Спасибо,