在R中,我试图用igraph绘制所有马德里地铁站的地图,然后计算出两个站点之间的最短路径(只是站的数目,而不是距离)。我遵循这样的语法:“一个具有两个顶点的无向图,名为‘A’和‘B’,只有一个边:graph.formula( and )”
为了清楚起见,下面我只复制了两条管子。
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]]]这似乎是可行的,但我有两个问题:
2.如何将这些节点重命名为包含倾斜、空格和“i”的节点?因为我在每个节点的名称前后都尝试了双引号,但是我得到了一个错误。A+符号。我检查了很长的字符串多次,我看不到错误,没有括号缺失。
如果它们是非常基本的问题,很抱歉。我是个新手。
非常感谢
发布于 2014-02-13 16:32:06
有关第一个问题,请参见?graph.data.frame和?read.csv。
我不太清楚你在第二个问题中问的是什么,你的错误是什么。对于我来说,您的代码运行良好,iGraph0.7.x所需的修改如下:
V(metro)[sp$vpath[[1]]]
# Vertex sequence:
# [1] "Canal" "CuatroCaminos" "Alvarado" "Estrecho"
# [5] "Tetuan" "Valdeacederas" "PlazadeCastilla" "Chamartin" https://stackoverflow.com/questions/21758971
复制相似问题