Как я могу заставить этот код работать с 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))