Альтернативы group_map

Dec 07 2020

Мне любопытно, какой будет базовый код R и data.tableкод, которые будут работать так же, как group_mapв dplyr?

Например, как реализовать этот код, используя базовый R и data.tableкод?

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

Большое спасибо!

ИЗМЕНИТЬ Я хотел бы преобразовать весь приведенный выше код в код с базовым кодом R, и поэтому, если возможно, также избавьтесь от group_byи%>%

Ответы

4 PeaceWang Dec 07 2020 at 13:11

С помощью и .sd , то data.table код может работать

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

Подобно этому вопросу Подобрать модель по группе с использованием пакета Data.Table

%>% Не является необходимым,

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