R/partition_tables.R
execute_parallel.RdExecute f in parallel partitioned by partition_column, see
partition_tables for details.
execute_parallel( tables, f, partition_column, ..., cl = NULL, debug = FALSE, env = parent.frame() )
| tables | named map of tables to use. |
|---|---|
| f | function to apply to each tableset signature is function takes a single argument that is a named list of data.frames. |
| partition_column | character name of column to partition on |
| ... | force later arguments to bind by name. |
| cl | parallel cluster. |
| debug | logical if TRUE use lapply instead of parallel::clusterApplyLB. |
| env | environment to look for values in. |
list of f evaluations.
if(requireNamespace("parallel", quietly = TRUE)) { cl <- parallel::makeCluster(2) d <- data.frame(x = 1:5, g = c(1, 1, 2, 2 ,2)) f <- function(dl) { d <- dl$d d$s <- sqrt(d$x) d } r <- execute_parallel(list(d = d), f, partition_column = "g", cl = cl) %.>% do.call(rbind, .) %.>% print(.) parallel::stopCluster(cl) }#> x g s #> 1.1 1 1 1.000000 #> 1.2 2 1 1.414214 #> 2.1 3 2 1.732051 #> 2.2 4 2 2.000000 #> 2.3 5 2 2.236068