Alternativas a group_map

Dec 07 2020

Tengo curiosidad, ¿cuál sería el código R base y el data.tablecódigo que hace el mismo trabajo que group_mapen dplyr?

Por ejemplo, ¿cómo realizar este código usando base R y data.tablecódigo?

iris %>%
     group_by(Species) %>%
     group_map(~ lm(Petal.Length ~ Sepal.Length, data = .x))

¡Muchas gracias!

EDITAR Me gustaría convertir todo el código anterior a uno con el código R base y así, si es posible, también deshacerme de group_byy%>%

Respuestas

4 PeaceWang Dec 07 2020 at 13:11

Con by y .SD , el código data.table puede funcionar

iris %>% 
  data.table(.) %>% 
  .[, .(list(lm(Petal.Length ~ Sepal.Length, .SD))), by = .(Species)] %>% 
  as.list()

Similar a esta pregunta Ajuste el modelo por grupo usando el paquete Data.Table

El %>% no es necesario,

as.list(data.table(iris)[, .(list(lm(Petal.Length ~ Sepal.Length, .SD))), by = .(Species)])