gpt4 book ai didi

r - igraph - 邻居作为子图 - make_ego_graph() 作为单个图

转载 作者:行者123 更新时间:2023-12-02 01:43:20 25 4
gpt4 key购买 nike

我想构造一个有向网络图的子图,其中所有顶点共享某个顶点属性(例如,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() ,基于另一个顶点属性(在本例中为地理位置)。

预先感谢您提出的任何建议!

最佳答案

确实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)

(我正在使用有向图。)

希望有帮助。

关于r - igraph - 邻居作为子图 - make_ego_graph() 作为单个图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36134840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com