Alternatywy dla group_map

Dec 07 2020

Jestem ciekaw, jaki byłby podstawowy kod R i data.tablekod, który wykonuje taką samą pracę jak group_mapw dplyr?

Na przykład, jak zrealizować ten kod przy użyciu podstawowego języka R i data.tablekodu?

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

Wielkie dzięki!

EDYCJA Chciałbym przekonwertować cały powyższy kod na taki z podstawowym kodem R, więc jeśli to możliwe, pozbyć się również group_byi%>%

Odpowiedzi

4 PeaceWang Dec 07 2020 at 13:11

Z by i .SD , kod data.table może działać

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

Podobne do tego pytania Dopasuj model do grupy za pomocą pakietu Data.Table

%>% Nie jest to konieczne,

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