为igraph列表创建循环?

时间:2016-01-17 17:49:52

标签: r function loops igraph sna

我在R中使用igraph,我有一个大约9000+次交互的边缘列表(g),发生在78个组内。我使用分解函数创建了78个单独的igraph(dg)的列表。 我想计算每个igraph中每个向量的特征向量。

我可以使用

分别为每个图表执行此操作
eigen_centrality(dg[[1]], directed = FALSE, scale = TRUE, weights = NULL)

然而,单独完成所有78个图表将非常耗时,我想创建一个将通过列表(dg)的函数或循环并为我执行此操作。我担心我还没有编写一些能够做到这一点的代码,所以我无法提供任何可重现代码的例子。

是否有人能够提出可以做到这一点的解决方案? 每个图的名称为dg [[x]] x为1到78.

非常感谢任何建议或意见。

1 个答案:

答案 0 :(得分:1)

lapply函数应该能够为你处理这个问题。您还没有给出任何示例代码,但这应该让您开始:

g=sample_gnp(1000,1/1000)
dg=decompose(g,min.vertices=2)

eigen.list=lapply(dg,eigen_centrality,directed=F,scale=T,weights=NULL)
lapply(eigen.list,"[[","vector")