【发布时间】: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函数的建议,请提及并说明它是如何进行的。 (当然,如果可行,您可以直接关闭问题。)