В данном примере граф:Извлечение информации из `all_shortest_paths` функций от` igraph` пакета в R
set.seed(1)
g <- make_chordal_ring(15, matrix(c(3, 12, 4, 7, 8, 11), nr = 2))
k <- Vectorize(all_shortest_paths, "from", F)(g, V(g), 7)
Мы имеем все кратчайшие пути, начиная любой заданный узел в графе и заканчивая узлом 7 (ссылка узел). Я хочу, чтобы подсчитать количество раз, когда узел Y присутствует в кратчайшем пути от узла X до узла 7.
Если я обозначаю количество кратчайших путей от узла 1 до узла 7, проходящего через узел 2, п (1,2,7), а общее количество кратчайших путей от узла 1 к узлу 7, п (1,7) Я хочу способ создать таблицу, которая выглядит примерно так:
Я действительно застрял в этом, например, если посмотреть на выход k:
> k[[1]][1]
$res
$res[[1]]
+ 3/15 vertices:
[1] 1 4 7
я не знаю, как изолировать путь 1,4,7 и считать это в направлении п (1,4,7)
это, безусловно, помогает, в КАС e, что мои вершины названы, есть ли в любом случае, чтобы матрица сохраняла метки вершин, а не 1,2,3, .... Я вычисляю эти значения для многих сетей и поэтому хочу, чтобы отслеживать – dimebucker91
@ dimebucker91: проверьте мое редактирование;) – digEmAll
awesome! спасибо - последнее, что я могу исправить, столбец, который вы называете «прямым», на самом деле означает подсчет всех кратчайших путей от узла i до узла 7, например, первый элемент прямого вектора должен быть равен 1, поскольку мы имеем путь A> D> 7 – dimebucker91