Agrupación sobre todas las combinaciones posibles de varias variables con dplyr

Dada una situación como la siguiente

library(dplyr)
myData <- tbl_df(data.frame( var1 = rnorm(100), 
                             var2 = letters[1:3] %>%
                                    sample(100, replace = TRUE) %>%
                                    factor(), 
                             var3 = LETTERS[1:3] %>%
                                    sample(100, replace = TRUE) %>%
                                    factor(), 
                             var4 = month.abb[1:3] %>%
                                    sample(100, replace = TRUE) %>%
                                    factor()))

Me gustaría agrupar 'myData' para eventualmente encontrar un resumen de agrupación de datos por todas las combinaciones posibles de var2, var3 y var4.

Puedo crear una lista con todas las combinaciones posibles de variables como valores de caracteres con

groupNames <- names(myData)[2:4]

myGroups <- Map(combn, 
              list(groupNames), 
              seq_along(groupNames),
              simplify = FALSE) %>%
              unlist(recursive = FALSE)

Mi plan era hacer conjuntos de datos separados para cada combinación de variables con un bucle for (), algo así como

### This Does Not Work
for (i in 1:length(myGroups)){
     assign( myGroups[i]%>%
             unlist() %>%
             paste0(collapse = "")%>%
             paste0("Data"), 
               myData %>% 
               group_by_(lapply(myGroups[[i]], as.symbol)) %>%
               summarise( n = length(var1), 
                             avgVar2 = var2 %>%
                                       mean()))
}

Es cierto que no soy muy bueno con las listas, y buscar este problema fue un poco difícil ya que las actualizaciones de dpyr han alterado un poco la forma en que funciona la agrupación.

Si hay una mejor manera de hacerlo que conjuntos de datos separados, me encantaría saberlo.

Obtuve un bucle similar al anterior trabajando cuando solo estoy agrupando por una sola variable.

¡Cualquier ayuda es muy apreciada! ¡Gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta