尽管安装了 igraph,函数 "ends" 不存在

The function "ends" is not exist although igraph was installed

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

我安装了 igraph 库并验证了所有内容,但 ends 函数一直给我一个错误。

> 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"

文件 "distance" 包含的数据是按两列排序的一组边,每行是一条边,列中的每个值表示一个顶点:

1 2
2 3
3 4

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

我希望此函数获得随机 selected 边的事件顶点,我搜索了 interent 和 R 库,但我找不到类似的函数或可以执行相同操作的东西我从一条边 select 到某个顶点,这里有一个类似的问题 但建议的解决方案是使用 ends().

你能告诉我为什么我不能使用这个功能,或者为同样的目的提出另一个功能。 非常感谢

编辑

看来是igraph的版本问题!! ends(graph,..) 未在此版本中定义。

我现在的问题是, 因为无法升级igraph版本,请问有没有其他函数从一条边select到某个顶点? 谢谢

只是为了帮助遇到同样问题的人..

我的目标是通过顶点读取边,这样我就可以调用边中的任何顶点,所以我通过添加以下行将数据从 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"

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