我当前正在使用let ipV4 = req.connection.remoteAddress.replace(/^.*:/, '');
if (ipV4 === '1') ipV4 = 'localhost';
使用igraph
来获取给定有向图的traid普查。这将返回16个类别中每个类别的三合会计数。
例如triad_census(g)
但是,除了这些摘要统计信息,我想了解更多有关三合会的细节。
即给定网络具有16 3 0 10 1 0 0 0 0 0 0 0 0 0 0 0
中的16个,它们是什么?假设网络有3个003
,它们是什么?
示例:012
的3个Traid是012
,(john -> emi, jenne)
,(cena -> ally, john)
在r或python中有这样做的方法吗?
MWE
代码:
(emi -> peter, david)
很高兴在需要时提供更多详细信息。
答案 0 :(得分:1)
似乎没有内置的方法可以使用Networkx完成所需的操作。但是,您可以手动遍历每个三合会并定义它属于哪个类:
from itertools import combinations
triad_class = {}
for nodes in combinations(G.nodes, 3):
triad_class[nodes] = [k for k, v in nx.triads.triadic_census(G.subgraph(nodes)).items() if v][0]
如果您希望有一个以类为键的字典,则可以尝试如下操作:
from itertools import combinations
triad_class = {}
for nodes in combinations(G.nodes, 3):
tc = [k for k, v in nx.triads.triadic_census(G.subgraph(nodes)).items() if v][0]
triad_class.setdefault(tc, []).append(nodes)