Учитывая матрицу, которая описывает ребра и их веса связного графа (см. Ниже), я хочу извлечь подграф на основе порогового значения x для весов ребер. В литературе я читал, что можно искать максимум x , так что индуцированный подграф связан.
Поскольку исходный граф предполагается подключенным, должен быть критический порог x-critical
, что извлеченный подграф подключен для любого x <= x-critical
.
Мне было интересно, как это можно реализовать в R. Например, моя матрица (weights.matrix
) выглядит как
| FROM | TO | WEIGHT |
| A | B | 0.0042 |
| A | V | 0.23 |
| G | W | 0.82 |
| ... | ...| ... |
и я создаю весь график, используя пакет igraph, например:
g <- igraph::graph_from_data_frame(weights.matrix, directed = TRUE)
Есть ли способ повторно проверить - применив другое пороговое значение в весах от min()
до max()
- подключен ли возникший граф? Я искал в Google такую функцию в igraph, но не смог найти ничего полезного.
Вот код для построения такого графа.
library(igraph)
mat <- expand.grid(LETTERS[1:10], LETTERS[1:10])
mat$Weight <- runif(nrow(mat), 0.01, max = 1)
mat <- mat[mat$Var1!=mat$Var2, ]
g <- graph_from_data_frame(mat)
Также вот статья , ссылающаяся на эту технику на странице 15 в pdf, раздел 5 четвертый. Вы можете рассматривать релевантность края как вес края, обсужденный здесь.