微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

列表中多个图的信息igraph

如何解决列表中多个图的信息igraph

晚上好, 我有中等数量的图表 (42),我需要有关的信息(例如传递性分数)。所有图形都是 iGraph 对象。我的目标是将我的函数中的信息直接写入数据帧。然而,我的图的组成发生了变化:有些节点保持不变,但对于每一波,其他一些节点却不同。

我目前的方法是这样的:

#example graphs:
g1 <- graph.star(n=10,mode="out")
g2 <- graph.star(n=14,mode="out")
g3 <- graph.star(n=12,mode="out")
g4 <- graph.star(n=17,mode="in")

# make a list of graphs:
g_list <- (g1,g2,g3,g4)

# here is the function I wrote:
calc.transitivity <- function(g_list){
g_trans <- (transitivity(g_list))
return(g_trans)
}

# let it run:
info.trans <- lapply(g_list,calc.transitivity)

对我来说足够公平。现在,理想情况下,我可以在其中添加更多内容(例如集中化.中间性)以及在节点级别计算事物的函数(例如,哪个节点在一年中具有最高程度?)。我想将其写入数据框中,但我不确定如何 a) 尊重每个图形的节点组成的变化和 b) 不知道我是否可以获得有关单个节点的信息并将图形作为某种形式“聚合单元”。

提前感谢您的帮助。如果有更优雅的方式来编写我的函数,我也很感兴趣。

解决方法

我找到了一个解决方案 - 不优雅,但有效:

calc.density <- function(g_list){
g_dens <- (edge_density(g_list))
return(g_dens)
}

list_density <- lapply(g_sb,calc.density)
d <- as.data.frame(matrix(0,ncol = 1,nrow = 323))
d$density <- unlist(list_density)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。