4
Rでigraph
パッケージを使用しています。私のネットワーク内の2つのノード間の最短距離を計算します。 get.shortest.paths()
で計算されたパスの距離を抽出する簡単な方法はありますか?ここでget.shortest.paths()からの距離を見つける
私の問題を例示しているいくつかの再現性のあるコードです:
## reproducible code:
df2 = rbind(c(234,235,21.6),
c(234,326,11.0),
c(235,241,14.5),
c(326,241,8.2),
c(241,245,15.3),
c(234,245,38.46))
df2 = as.data.frame(df2)
names(df2) = c("start_id","end_id","newcost")
require(igraph)
g2 <- graph.data.frame(df2, directed=FALSE)
class(g2)
print(g2, e=TRUE, v=TRUE)
## calculate shortest path between vertex 234 and 245
(tmp2 = get.shortest.paths(g2, from='234', to='245',weights=E(g2)$newcost))
## print route vertices:
V(g2)[tmp2[[1]]]
## print distance of each route segment:
## ??
## calculate distance using 'newcost' weights:
## ?? sum(route segments) ??
ありがとう!対応策が正しくないことを反映するようにコードを更新しました。ところで - どのようにネットワークをプロットしましたか? –
@ baha-kev:実際には、 'tkplot(グラフ)'を使ってグラフをプロットしてから、頂点の名前とエッジの重みを手動で追加しました;) – digEmAll
非常にクールです;おかげで - –