【问题标题】:Information about multiple graphs in list (igraph)有关列表中多个图形的信息 (igraph)
【发布时间】:2021-01-13 15:29:36
【问题描述】:

晚上好, 我有中等数量的图表(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)

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

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

【问题讨论】:

    标签: r function loops igraph


    【解决方案1】:

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

    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)
    

    【讨论】:

      猜你喜欢
      • 2017-06-03
      • 1970-01-01
      • 2010-12-13
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多