簡體   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