R语言igraph包transitivity(local)函数如何输出带顶点名称的结果?
给igraph局部传递性结果添加顶点名称的方法
在igraph里,transitivity(graph, type = "local")默认返回无名称的数值向量,要让它像degree()那样带顶点名称,用下面两种方法就行:
方法1:给结果直接赋值顶点名称
利用图对象的顶点名称属性,给返回的数值向量加上名称:
# 计算局部传递性 local_trans <- transitivity(graph, type = "local") # 绑定顶点名称 names(local_trans) <- V(graph)$name
处理后local_trans就变成了带顶点名称的命名向量,和degree()输出格式完全一致。
方法2:转成数据框(更适合后续分析)
如果需要更清晰的表格形式,直接把顶点名称和传递性数值组合成数据框:
trans_df <- data.frame( 顶点名称 = V(graph)$name, 局部传递性 = transitivity(graph, type = "local") )
这种形式在节点数量多的时候查看更方便,也便于后续用dplyr等工具处理。
注意:如果你的图顶点还没设置name属性,得先给顶点命名,比如:
V(graph)$name <- paste0("节点_", 1:vcount(graph))
内容的提问来源于stack exchange,提问作者Silas Alves Costa
相关产品推荐
相关产品推荐

