从get.all.shortest.paths输出绘制图

时间:2019-02-18 15:28:16

标签: r path igraph

使用R,igraph

get.all.shortest.paths返回两个对象:$ res和$ nrgeo。

$ res似乎是一个嵌套列表,其中包含连接作为“从”和“到”节点提供的两个节点的节点序列(以及“从”和“到”节点本身)。

在我的情况下,$ res返回“ from”和“ to”之间的21条路径。

如果我用以下方法获得第一个列表的第一项:

$res[[1]][1]

我得到以下输出:

+ 1/2590 vertex, named:
[1] t_Pc Ntwk Site Code

我通过创建“ from”列和“ to”列来构建边缘的数据框:

makePathDataframe <- function(PathObject, index){
    nodeCount <- length(PathObject$res[[1]])
    fromColumn <- PathObject$res[[index]][1:nodeCount - 1]
    toColumn <-  PathObject$res[[index]][2:nodeCount]

    pathFrame <- cbind(fromColumn,toColumn)
    return(pathFrame)
}

得到了:

                    fromColumn toColumn
t_Pc Ntwk Site Code        221      676
c_Create Date              676      269
t_To Delvbl Header         269      310
c_Agncy Id                 310        6

我希望从fromColumn和toColumn中获取节点的名称,但要获取节点号。

所以,当我绘制它时,我得到节点号作为顶点标签:     path plot

我想要作为顶点标签的是数据框中的行标题。我可以使用

获取行标题
row.names(_data frame_)

然后使用该函数的输出返回并重新创建数据帧,但是必须有一种更简单的方法。

因此,致电所有igraph中小企业。什么是更简单的方法?

谢谢。

0 个答案:

没有答案