【发布时间】:2014-02-13 15:49:49
【问题描述】:
在 R 中,我尝试使用 igraph 绘制马德里所有地铁站的地图,然后计算两个车站之间的最短路线(只是车站的数量,而不是距离)。我遵循以下语法:“一个无向图,有两个顶点,分别称为‘A’和‘B’,只有一条边: graph.formula(A-B)"
为了清楚起见,下面我只是复制了两条管道。
library("igraph")
metro<- graph.formula(PinardeChamartin-Bambu-Chamartin-PlazadeCastilla-Valdeacederas-Tetuan-Estrecho-Alvarado-CuatroCaminos-RiosRosas-Iglesia-Bilbao-Tribunal-GranVia-Sol-TirsodeMolina-AntonMartin-Atocha-AtochaRenfe-MenendezPelayo-Pacifico-PuentedeVallecas-NuevaNumancia-Portazgo,LasRosas-AvenidadeGuadalajara-Alsacia-LaAlmudena-LaElipa-Ventas-ManuelBecerra-Goya-PrincipedeVergara-Retiro-BancodeEspana-Sevilla-Sol-Opera-SantoDomingo-Noviciado-SanBernardo-Quevedo-Canal-CuatroCaminos)
sp <- get.shortest.paths(metro,from="Canal",to="Chamartin")
V(metro)[sp[[1]]]
它似乎有效,但我有两个问题:
1. 如何更有效地将长列表的地铁站(节点)及其关系 A-B 输入到图表中,例如读取 csv?
2.如何重命名这些节点以包括波浪线、空格和“ñ”?因为我在每个节点的名称前后都尝试了双引号,但我得到了一个错误。一个+号。我已经检查了很多次长字符串,我看不到错误,没有括号丢失。
对不起,如果他们是非常基本的问题。我是一个非常新手的用户。
非常感谢
【问题讨论】:
-
这里有关于在 R 中使用 igraph 的综合教程:igraph.wikidot.com/r-tutorial。它包括有关读取和存储数据的详细部分,可能有多种格式。字母上面的波浪号是一个编码问题,应该在存储和加载数据时处理。
-
不幸的是,那里链接的教程已被遗弃和过时。可能仍然有用,但您还需要阅读当前文档。
标签: r networking routing igraph