Как я могу найти плотно связанные сети, то есть где все элементы сильно коррелированы? - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть корреляционная матрица, и я хотел бы найти плотно связанные сети, т.е. где все элементы сильно коррелированы (используя пороговое значение, например: abs (correlation_value)> 0,75).Как я могу справиться с этим, используя R?

corr_mat <- rcorr(gen_mat), type="spearman")
corr_mat[lower.tri(corr_mat, diag=FALSE)] <- 0

corr_mat <- read.table(textConnection(
"g1   g2 g3 g4 g5 g6 g7
g1 0.0  0.75 0.8 0.2 0.1 -0.3 0.76
g2 0.0  0.0 0.91 0.47 0.39 -0.18 0.74
g3 0.0  0.0 0.0 -0.75 0.8 0.2 0.72
g4 0.0  0.0 0.0 0.0 0.11 0.4 0.1
g5 0.0  0.0 0.0 0.0 0.0 0.9 0.39
g6 0.0  0.0 0.0 0.0 0.0 0.0 0.16
g7 0.0  0.0 0.0 0.0 0.0 0.0 0.0
"))

corr_mat 
       g1   g2   g3    g4   g5    g6    g7
    g1  0 0.75 0.80  0.20 0.10 -0.30  0.76
    g2  0 0.00 0.91  0.47 0.39 -0.18  0.74
    g3  0 0.00 0.00 -0.75 0.80  0.20  0.72
    g4  0 0.00 0.00  0.00 0.11  0.40  0.10
    g5  0 0.00 0.00  0.00 0.00  0.90  0.39
    g6  0 0.00 0.00  0.00 0.00  0.00  0.16
    g7  0 0.00 0.00  0.00 0.00  0.00  0.00

enter image description here

Примечание: Это всего лишь пример.Я работал с матрицей большего размера.

...