首先,我想说我已经阅读了问题的答案:"问题与R"igraph"包邻居功能",我试图解决我的问题,但我不能.我试着将我的问题作为后续评论,但由于声誉水平低我无法做到,因此我打开了这个新问题.现在这里是我的问题:我有邻居函数的相同问题,因为它已在下面解释: "igraph"包邻居函数,但当我尝试由Gabor Csardi给出的解决方案时,我刚收到null作为结果.我附上了那部分我的代码也在这里.我会非常感谢任何帮助和回答.我的表:
edgelist <- read.table(text = "
1 2
2 3
3 4
4 5
3 6
6 7")
library(igraph)
graph <- graph.data.frame(edgelist)
str(graph)
## IGRAPH DN-- 7 6 --
## + attr: name (v/c)
## + edges (vertex names):
## [1] 1->2 2->3 3->4 4->5 3->6 6->7
Run Code Online (Sandbox Code Playgroud)
现在,如果我想要节点3的邻居,它应该是
2, 4, 6
Run Code Online (Sandbox Code Playgroud)
但我得到的结果是:
2, 4, 5
Run Code Online (Sandbox Code Playgroud)
我注意到它改变了我的节点的顺序.正如我之前解释的那样,我尝试在堆栈溢出中找到的解决方案,但结果为null:
graph$name[neighbors(graph, 3)]
NULL
Run Code Online (Sandbox Code Playgroud)
我不知道我还能做什么,我将不胜感激.
我是 R 和 igraph 的新手。我想在两个节点集(一个有 2115 个节点,另一个有 4 个节点)之间制作一个具有指定边列表的二部图。这听起来很容易,但我在构建它时遇到了很多困难,到目前为止还没有结果。我将不胜感激任何帮助。这是我的一段代码:
library(igraph)
test <- graph.data.frame(file.choose(), directed=T)
edge <- read.table(text="e1 e2
779 958
779 1293
779 1503
1124 97
1124 151
2078 979
1970 344", header=T)
edgels <- graph.edgelist(as.matrix(edge))
g <- graph.bipartite(test, edgels, directed=T)
Run Code Online (Sandbox Code Playgroud)
我不知道我的代码哪里错了,我想这都是因为我是新手。非常感谢您的帮助。