Alternatif untuk group_map

Dec 07 2020

Saya ingin tahu apa yang akan menjadi kode dan kode R dasar data.tableyang melakukan pekerjaan yang sama seperti group_mapdi dplyr?

Misalnya, bagaimana cara mewujudkan kode ini menggunakan basis R dan data.tablekode?

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

Terimakasih banyak!

EDIT Saya ingin mengubah seluruh kode di atas menjadi satu dengan kode R basis dan jika mungkin juga menyingkirkan group_bydan%>%

Jawaban

4 PeaceWang Dec 07 2020 at 13:11

Dengan by dan .SD , kode data.table dapat berfungsi

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

Mirip dengan pertanyaan ini Fit model dengan kelompok menggunakan paket Data.Table

The %>% tidak perlu,

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