我想构建一个有向网络图的子图,其中所有顶点都共享特定的顶点属性(例如,V(Grph)$year == "1952"),并且它们的一阶(直接)邻居,仅基于出度。
我尝试过ego()、make_ego_graph()、neighbors()和adjacent_vertices()等函数。
例如, CitGraph <- make_ego_graph(Grph, 1, nodes = which(V(Grph)$year=="1952"), mode = "out") 生成了一个图列表(而不是一个单独的全面的图),但对于这个年份下的50k个顶点和150k个被指向的邻居意外地需要两个小时。
我能想到的一种方法是将列表中的所有图聚合起来,但不知道如何操作。另外,我希望保留顶点属性,因为我的最终目标是根据另一个顶点属性(在这种情况下是地理位置)计算assortativity_nominal()。
谢谢您提供的任何建议!
我尝试过ego()、make_ego_graph()、neighbors()和adjacent_vertices()等函数。
例如, CitGraph <- make_ego_graph(Grph, 1, nodes = which(V(Grph)$year=="1952"), mode = "out") 生成了一个图列表(而不是一个单独的全面的图),但对于这个年份下的50k个顶点和150k个被指向的邻居意外地需要两个小时。
我能想到的一种方法是将列表中的所有图聚合起来,但不知道如何操作。另外,我希望保留顶点属性,因为我的最终目标是根据另一个顶点属性(在这种情况下是地理位置)计算assortativity_nominal()。
谢谢您提供的任何建议!
list_of_edges <- E(your_graph)[from(list_of_vertices)]
。 - user5835099