R: получить расстояние между узлами с sp.between - PullRequest
0 голосов
/ 30 марта 2012

У меня проблема с расстояниями между двумя узлами моего графа в R. Я построил график как здесь:

library(graph)
library(RBGL)

names <- c("a", "b", "c")
g <- new("graphNEL")
g <- addNode(names[1],g)
g <- addNode(names[2],g)
g <- addNode(names[3],g)
g <- addEdge(from=names[1],to=names[2],g)
g <- addEdge(from=names[2],to=names[3],g)
dist <- sp.between(g,names[1],names[3])

dist

# OUTPUT
$`a:c`
$`a:c`$length
[1] 2

$`a:c`$path_detail
[1] "a" "b" "c"

$`a:c`$length_detail
$`a:c`$length_detail[[1]]
a--b b--c 
   1    1 

Нет, я могу получить длину с:

dist$`a:c`$length
   [1] 2

Но как я могу получить длину без ввода в $ `a: c` $ length Я просто хочу использовать переменные, например, для использования цикла для вычисления расстояний ..

dist$names[1]:names[3]$length

1 Ответ

0 голосов
/ 30 марта 2012

Поскольку результатом является список всех кратчайших путей между двумя узлами, Вы можете взять первый с [[1]] и извлечь его длину.

dist[[1]]$length
...