[英]map function in tidyverse language
I have the following formula我有以下公式
#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)
and I have added them into a list called regression_list我已将它们添加到名为regression_list 的列表中
regression_list<-c(m1_vtv,m2_vtv,m3_vtv,m1_vug,m2_vug,m3_vug)
I am trying to glance() all the models in regression_list together.我正在尝试一起浏览()regression_list 中的所有模型。 Individually it works:
单独工作:
tidy(model1) %>% as_tibble()
glance(model1)
However when I tried this但是当我尝试这个时
regression_list %>%
map(~lm(.x, data = df_final)) %>%
map(~as_tibble(.x, data = df_final)) %>%
map(~glance(.x, data = df_final))
I get error message:我收到错误消息:
Error in as.data.frame.default(value, stringsAsFactors = FALSE) : cannot coerce class '"lm"' to a data.frame
as.data.frame.default(value, stringsAsFactors = FALSE) 中的错误:无法将类 '"lm"' 强制转换为 data.frame
Looking for way to fit this into map function to run through all the formulas in regression_list
寻找将其拟合到 map 函数中的方法,以运行
regression_list
所有公式
As the error message says you are trying to convert lm
object to tibble.正如错误消息所说,您正在尝试将
lm
对象转换为 tibble。 You also don't need multiple map
's as you can do this in the same map
function.您也不需要多个
map
,因为您可以在同一个map
函数中执行此操作。 Try :尝试 :
library(purrr)
library(broom)
result <- regression_list %>% map(~glance(lm(.x, data = df_final)))
If you want the result
in one dataframe you can use map_df
in place of map
.如果您希望在一个数据
map_df
得到result
,您可以使用map_df
代替map
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.