Kartenfunktion in ordentlicher Sprache

Sep 25 2020

Ich habe die folgende Formel

#Regression(Y1 - VTV)----
m1_vtv<-formula(vtv~retailsales)
m2_vtv<-formula(vtv~retailsales+cpi)
m3_vtv<-formula(vtv~retailsales+cpi+tmf)

#Regression(Y2 - VUG)----
m1_vug<-formula(vug~retailsales)
m2_vug<-formula(vug~retailsales+cpi)
m3_vug<-formula(vug~retailsales+cpi+tmf)

und ich habe sie in eine Liste namens Regressionsliste hinzugefügt

regression_list<-c(m1_vtv,m2_vtv,m3_vtv,m1_vug,m2_vug,m3_vug)

Ich versuche, alle Modelle in der Regressionsliste zusammen zu betrachten (). Individuell funktioniert es:

tidy(model1) %>% as_tibble()
glance(model1)

Als ich das jedoch versuchte

regression_list %>% 
  map(~lm(.x, data = df_final)) %>%
   map(~as_tibble(.x, data = df_final)) %>% 
  map(~glance(.x, data = df_final))

Ich erhalte eine Fehlermeldung:

Fehler in as.data.frame.default (Wert, stringsAsFactors = FALSE): Klasse '"lm"' kann nicht zu einem data.frame gezwungen werden

Suchen Sie nach einer Möglichkeit, dies in die Kartenfunktion zu integrieren, um alle Formeln in zu durchlaufen regression_list

Antworten

1 RonakShah Sep 25 2020 at 14:15

Wie die Fehlermeldung besagt, versuchen Sie, ein lmObjekt in tibble zu konvertieren. Sie benötigen auch nicht mehrere map, da Sie dies in derselben mapFunktion tun können. Versuchen :

library(purrr)
library(broom)

result <- regression_list %>% map(~glance(lm(.x, data = df_final)))

Wenn Sie den resultin einem Datenrahmen möchten, können Sie ihn map_dfanstelle von verwenden map.