尽管安装了igraph,但功能“结束”不存在

时间:2018-01-31 14:50:44

标签: r igraph r-package

由于ends(graph, es, names = TRUE)函数(the description),我无法继续在下面编写代码。

我安装了igraph库并且我从所有内容验证了但是结束功能一直给我一个错误。

> library(igraph)
> setwd("Desktop")
> file <- "distance"
> con <- file(description=file, open="r")
> line <- read.table(con)
> data<-as.data.frame(line) 
> df <- graph.data.frame(d = data, directed = FALSE) #to convert data to a graph object
> edge<-sample(E(df),1)  # sample an edge randomly
> edge
  Edge sequence:
    e             
  e [16567] 5578 -- 6774
> ends(graph = g, es = 'e')[2]  #get the second vertex for edge e
Error in ends(graph = g, es = "e") : could not find function "ends"

文件“距离”包含数据,它是一组以两列排序的边,每行是一条边,列中的每个值都代表一个顶点:

1 2
2 3
3 4

所以1 2是顶点1和顶点之间的边缘。 2。

我希望这个函数能够得到一个随机选择的边缘的入射顶点,我搜索了interent和R库但是我找不到类似的函数或者其他东西做同样的事情,这让我可以从中选择一个特定的顶点边缘,这是一个类似的问题link,但建议的解决方案是使用ends()

请您告诉我为什么我无法使用此功能或为同一目的提出其他功能。 非常感谢提前

修改

似乎问题是igraph的版本!!此版本中未定义ends(graph,..)

我现在的问题, 因为升级igraph版本是不可能的,还有其他功能可以从边缘选择某个顶点吗? 感谢

1 个答案:

答案 0 :(得分:0)

只是为了帮助谁将面临同样的问题..

我的目标是通过顶点读取边缘,以便我可以调用边缘中的任何顶点,因此我通过添加以下行将数据从igraph对象转换为edgelist

edges<-get.edgelist(df)
v1<-edges[edge,1]
v2<-edges[edge,2]
edge
Edge sequence:
              e             
e [8839] 1149 -- 1425
v1
[1] "1425"
v2
[1] "1149"

这不是一个很好的解决方案,但它解决了我的问题所以也许它可以帮助像我这样的其他初学者