在同一对象上并行化多个功能

时间:2019-02-16 20:23:13

标签: r igraph purrr r-future furrr

感谢DAVID SCHOCH,我利用了他的功能,并做了一些修改以创建以下内容。它工作得很好。

现在,我所需要做的就是计算这些变量,即在图形对象H上并行运行函数(也许使用purrr或furrr)以更快地运行它。我的真实数据很大,还有30多个功能。输出应与代码框最后一行中显示的H_indices相同。

library(igraph); library(sna);  library(centiserve); library(tidygraph); library(tibble); library(expm)

H <- play_islands(5, 10, 0.8, 3)

all_indices <- function(g) {
  tibble(
    degree = igraph::degree(g),
    flowbet = sna::flowbet(get.adjacency(g,sparse=F)),
    communibet = centiserve::communibet(g))
  }

H_indices <- all_indices(H)

1 个答案:

答案 0 :(得分:0)

由于没有reprex,很难给出明确的解决方案,所以下面只是给出思路。 如果 H 是列表或向量,则以下内容应该有效。

library(furrr)
library(dplyr)

plan(multiprocess)

H %>% 
  future_map(all_indices,
             .options = furrr_options(seed = TRUE))