r - igraph 中的二度连接

标签 r social-networking

我认为这个工作正常,但我希望模仿类似于 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/

相关文章:

mysql - 社交网站的数据库设计。帮助!

python - 当一个属性相同时连接图中的节点(NetworkX)

PHP News Feed 数据库和设计

mysql - Neo4j 和 mysql 数据建模

r - 在 r 中绘制板布局热图

r - S4 导出在 'NAMESPACE' 中指定但未在包中定义

r - 将上面一行按下面一行划分

r - 如何通过分隔符拆分 r 中的字符串并丢弃最后两项?

.NET 开发人员开始社交网站,建议?

r - 如何向量化提取重要的预测变量?