R:选择图中度为“N”的所有邻居

jjjwad0x  于 2023-03-10  发布在  其他
关注(0)|答案(1)|浏览(125)

我正在学习如何提取图中某个节点的所有“度n”的邻居。
例如,假设我有一个包含人群之间的友谊的图,假设我选择“约翰”并想要度为2的朋友,这意味着我选择:

  • 约翰
  • 约翰所有的朋友
  • 约翰朋友的所有朋友

我试着在R中使用“ego()”函数来完成这个任务:

#https://igraph.org/r/doc/ego.html#:~:text=ego%20calculates%20the%20neighborhoods%20of,vertex%2C%20edge%20and%20graph%20attributes. 
library(igraph)

# create a graph
g <- graph(c(1,2, 1,3, 2,4, 3,4, 4,5, 5,6, 5,7))

# get all neighbors of node 1 with degree 2
neighbors_of_1_degree_2 <- unique(c(ego(g, 1, order=1)$name, ego(g, 1, order=2)$name)[-1])
print(neighbors_of_1_degree_2)

但这给了我一个NULL输出。
有谁能告诉我我做错了什么吗?
谢谢!

qrjkbowd

qrjkbowd1#

我想这可能有用?

induced.subgraph(g, unlist(ego(g, order=2, nodes="1")))

IGRAPH 3d02cf8 D--- 4 4 -- 
+ edges from 3d02cf8:
[1] 1->2 1->3 2->4 3->4

是这样吗?

相关问题