Alternatives à group_map

Dec 07 2020

Je suis curieux de savoir quel serait le code R de base et le data.tablecode qui font le même travail que group_mapdans dplyr?

Par exemple, comment réaliser ce code en utilisant la base R et le data.tablecode?

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

Merci beaucoup!

EDIT Je voudrais convertir tout le code ci-dessus en un code avec le code de base R et ainsi, si possible, également se débarrasser du group_byet%>%

Réponses

4 PeaceWang Dec 07 2020 at 13:11

Avec by et .SD , le code data.table peut fonctionner

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

Similaire à cette question Ajuster le modèle par groupe à l'aide du package Data.Table

Le %>% n'est pas nécessaire,

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