繁体   English   中英

tidyverse 语言中的映射函数

[英]map function in tidyverse language

我有以下公式

#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)

我已将它们添加到名为regression_list 的列表中

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

我正在尝试一起浏览()regression_list 中的所有模型。 单独工作:

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

在此处输入图片说明

但是当我尝试这个时

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

我收到错误消息:

as.data.frame.default(value, stringsAsFactors = FALSE) 中的错误:无法将类 '"lm"' 强制转换为 data.frame

寻找将其拟合到 map 函数中的方法,以运行regression_list所有公式

正如错误消息所说,您正在尝试将lm对象转换为 tibble。 您也不需要多个map ,因为您可以在同一个map函数中执行此操作。 尝试 :

library(purrr)
library(broom)

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

如果您希望在一个数据map_df得到result ,您可以使用map_df代替map

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM