【问题标题】:The function "ends" is not exist although igraph was installed尽管安装了 igraph,但功能“ends”不存在
【发布时间】:2018-01-31 14:50:43
【问题描述】:

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

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

1 2
2 3
3 4

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

我想要这个函数来获取随机选择的边的事件顶点,我搜索了 interent 和 R 库,但我找不到类似的函数或可以做同样事情的东西,这让我可以从中选择某个顶点一个优势,这是一个类似的问题link,但建议的解决方案是使用ends()

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

编辑

看来问题出在igraph的版本上!! ends(graph,..) 在这个版本中没有定义。

我现在的问题, 因为无法升级igraph版本,有没有其他功能可以从边中选择某个顶点? 谢谢

【问题讨论】:

  • 您的igraph 是什么版本?也许分享sessionInfo()
  • @Gregor 它是 igraph_0.7.1,所以我认为这是原因!!这个函数没有定义。还有其他类似的功能吗?或任何从边中选择某个顶点的函数?
  • 你更新你的包怎么样?那个版本快4岁了。 2015 年的主要更新引入了ends,2017 年也有一个不错的更新。否则,您可以从当前版本复制ends 代码并希望它有效,但不能保证它会。
  • @Gregor 我之前尝试过更新它,但遇到了很多问题。所以现在我正在寻找另一个功能来完成与ends(graph)相同的工作
  • 我建议编辑您的问题,以便标题和前几行反映问题,而不仅仅是最后两行。我认为它不会像现在这样引起人们的兴趣。此外,如果您在之前的评论中接受了我关于复制 ends 函数的建议,请提及并说明它是如何进行的。 (当然,如果可行,您可以直接关闭问题。)

标签: r igraph r-package


【解决方案1】:

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

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

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

【讨论】:

  • 或者你可以使用你的解决方案的想法来制作一个函数来替换ends,就像这样ENDS = function(g, v) { get.edgelist(g)[v,] }
猜你喜欢
  • 2015-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-05
  • 2016-07-05
  • 2022-07-01
相关资源
最近更新 更多