我认为这个工作正常,但我希望模仿类似于 Facebook 的好友建议的东西。简而言之,我正在寻找二级联系(与您没有联系的 friend 的 friend )。我确实想将其保留为有向图,并确定二级向外联系(与您的 friend 联系的人)。
我相信我的虚拟代码正在实现这一点,但由于引用是在索引而不是顶点标签上,我希望您可以帮助我修改代码以返回可用的名称。
### create some fake data
library(igraph)
from <- sample(LETTERS, 50, replace=T)
to <- sample(LETTERS, 50, replace=T)
rel <- data.frame(from, to)
head(rel)
### lets plot the data
g <- graph.data.frame(rel)
summary(g)
plot(g, vertex.label=LETTERS, edge.arrow.size=.1)
## find the 2nd degree connections
d1 <- unlist(neighborhood(g, 1, nodes="F", mode="out"))
d2 <- unlist(neighborhood(g, 2, nodes="F", mode="out"))
d1;d2;
setdiff(d2,d1)
返回
> setdiff(d2,d1)
[1] 13
您能提供的任何帮助都将非常有用。显然我希望留在 R 中。
最佳答案
您可以索引回图形顶点,例如:
> V(g)[setdiff(d2,d1)]
Vertex sequence:
[1] "B" "W" "G"
另请查看 ?V
了解通过直接索引获取此类信息的方法。
关于r - igraph 中的二度连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8011678/