В R Я пытаюсь сопоставить все станции метро Мадрида, используя igraph, а затем рассчитать кратчайший маршрут между двумя станциями (только количество станций, а не расстояние). Я следую этому синтаксису: «Неориентированный граф с двумя вершинами, называемыми« A »и« B », и только один край: graph.formula (A-B)»Чтение ненаправленных связей графа (AB) в R и переименование вершин с помощью igraph
Ниже я просто скопирую две трубные линии для большей ясности.
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. Как я могу переименовать эти узлы, чтобы включить тильды, пробелы и «-»? Поскольку я пробовал двойные кавычки до и после имени каждого узла, но получаю сообщение об ошибке. Знак +. Я много раз проверял длинную строку, и я не вижу ошибки, никаких скобок не хватает.
Извините, если у них очень простые вопросы. Я очень начинающий пользователь.
Большое спасибо
Существует всеобъемлющее руководство по использованию igraph в R здесь: http://igraph.wikidot.com/r-tutorial. Он содержит подробный раздел о чтении и хранении данных, что возможно в нескольких форматах. Тильда над буквами является вопросом кодирования и должна обрабатываться при хранении и загрузке данных. – Zbynek
Учебник, связанный с ним, заброшен и устарел, к сожалению. Может быть полезно, но вам также нужно прочитать текущую документацию. –