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

by.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)])