ทางเลือกสำหรับ 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()

คล้ายกับคำถามนี้Fit model by group using Data.Table package

%>%ไม่จำเป็น

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