Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iGraph编辑顶点ID_R_Igraph - Fatal编程技术网

iGraph编辑顶点ID

iGraph编辑顶点ID,r,igraph,R,Igraph,这个问题的动机有点微不足道,但我希望它能帮助我澄清一些关于igraph和顶点的困惑。我很抱歉这么长,但我保证这是一个快速阅读 我有一个问题,使用graph.formula()从已标记顶点的图片中重新创建一个图非常简单,因此很自然,除非我非常小心在graph.formula()中输入顶点的顺序,否则顶点ID和名称将不匹配 为想要的人提供图表图片: 代码: 但是这个输出对应于顶点ID,我对使用顶点名称感兴趣,所以我尝试: >V(g)$name [as.vector(get.shortest

这个问题的动机有点微不足道,但我希望它能帮助我澄清一些关于igraph和顶点的困惑。我很抱歉这么长,但我保证这是一个快速阅读

我有一个问题,使用graph.formula()从已标记顶点的图片中重新创建一个图非常简单,因此很自然,除非我非常小心在graph.formula()中输入顶点的顺序,否则顶点ID和名称将不匹配

为想要的人提供图表图片:

代码:

但是这个输出对应于顶点ID,我对使用顶点名称感兴趣,所以我尝试:

 >V(g)$name [as.vector(get.shortest.paths(g,from="1",to="5"))]  
Error in V(g)$name [as.vector(get.shortest.paths(g, from = "1", to = "5"))] :   
  invalid subscript type 'list'
还有一系列的变化,但我似乎无法得到顶点名称的列表

所以有两个问题:
1) 我怎样才能让它显示我从顶点名称中得到的顶点ID列表?我在这里遗漏了一些明显的东西…
2) 有没有办法重新分配顶点ID?我还没有找到任何关于这方面的信息,所以我认为这是不可能的,但这将是解决我的问题的最简单的解决方案,而不是通过属性进行工作


谢谢你的任何意见

您的问题是
get.shortest.paths
生成一个列表,因为可能有多条最短路径。因此,在只有一条最短路径的情况下,您可以通过使用
[[
访问列表数据来解决此问题:

V(g)$name[get.shortest.paths(g,from="1",to="5")[[1]]]
#[1] "1" "4" "5"
如果您有多条最短路径,这在实际示例中是可能的,那么使用以下路径会更安全:

lapply(get.shortest.paths(g,from="1",to="5"),function(x) V(g)$name[x] )
#[[1]]
#[1] "1" "4" "5"
Re 2):
permute。顶点
允许您使用置换向量置换图的顶点。理论上,您可以构造置换向量,将您的姓名映射到正确的ID。
V(g)$name[get.shortest.paths(g,from="1",to="5")[[1]]]
#[1] "1" "4" "5"
lapply(get.shortest.paths(g,from="1",to="5"),function(x) V(g)$name[x] )
#[[1]]
#[1] "1" "4" "5"