我想构造一个有向网络图的子图,其中所有顶点共享某个顶点属性(例如,V(Grph)$year ==“1952”)及其一阶(直接)邻居,基于仅在出度上。
我试过了ego()
, make_ego_graph()
, neighbors()
, and adjacent_vertices()
.
例如,CitGraph <- make_ego_graph(Grph, 1, nodes = which(V(Grph)$year=="1952"), mode = "out")
生成一个图列表(而不是单个综合图),令人惊讶的是,今年需要两个小时才能指向 50k 个顶点和 150k 个邻居。
我能想到的一种方法是将列表中的所有这些图表聚合起来,但不知道如何聚合。另外,我想保留顶点属性,因为我的最终目标是计算assortativity_nominal()
,基于另一个顶点属性(在本例中为地理位置)。
预先感谢您提出的任何建议!
Indeed make_ego_graph
返回列表中每个顶点的邻域图nodes
.
我建议您使用需要包含在子图中的边列表而不是顶点列表来解决它。假设你的顶点列表被解析为list_of_vertices <- V(Grph)$year == "1952"
或者无论你的情况是什么,你都会做类似的事情,
list_of_edges <- E(your_graph)[from(list_of_vertices) | to(list_of_vertices)]
your_subgraph <- subgraph.edges(your_graph, list_of_edges)
(我正在使用有向图。)
希望能帮助到你。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)