Как заставить мурлыкать код работать с spark.lapply? - PullRequest
0 голосов
/ 11 декабря 2018

Как я могу заставить этот код работать с SparkR's spark.lapply, посылая как-то комбинацию xs и ys на разные узлы для распараллеливания вычислений?Я полагаю, это должно начинаться прямо между tibble(ys, xs) и mutate(startformula = paste0(ys, " ~ ", 1) в следующем коде, но я не знаю, как.

library(tidyverse)
library(broom)

ys <- names(mtcars)

xs <- map(ys, ~setdiff(names(mtcars), .x)) %>% 
  map(~paste0(.x, collapse = "+")) %>%
  unlist()

models <- tibble(ys, xs) %>%
  mutate(startformula = paste0(ys, " ~ ", 1),
         endformula = paste0(ys, " ~ ", xs)) %>% 
  mutate(model = map2(startformula,
                      endformula,
                      ~glm(.x, data=mtcars, family=gaussian, maxit = 100) %>% 
                        step(direction = "forward", scope = .y, trace = FALSE))) %>% 
  mutate(pred = map(model, augment)) %>% 
  mutate(glance = map(model, glance))
...