Alternativen zu group_map

Dec 07 2020

Ich bin gespannt, was der Basis-R-Code und der data.tableCode sind, die die gleiche Arbeit wie group_mapin ausführen dplyr.

Wie kann man diesen Code beispielsweise mit Basis R und data.tableCode realisieren?

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

Vielen Dank!

BEARBEITEN Ich möchte den gesamten obigen Code in einen Code mit Basis-R-Code konvertieren und so, wenn möglich, auch das group_byund loswerden%>%

Antworten

4 PeaceWang Dec 07 2020 at 13:11

Mit by und .SD kann der data.table- Code funktionieren

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

Ähnlich wie bei dieser Frage Passen Sie das Modell mithilfe des Data.Table-Pakets nach Gruppen an

Das %>% ist nicht notwendig,

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