【发布时间】:2021-06-14 12:48:44
【问题描述】:
我想:
- 将列表 out 与数据框 df 合并
- 估计一个 lm() 模型
id <- c(1,2,3,4,5,1,2,3,4,5)
quarter <- c("1","2","1","1","2", "3","1","1","3","3")
month <- c(3,4,2,1,5,7,3,1,8,9)
pred_dif <- c(0.5,0.1,0.15,0.23,0.75,0.6,0.49,0.81,0.37,0.14)
list_1 <- data.frame(id, pred_dif, month)
pred_dif <- c(0.45,0.18,0.35,0.63,0.25,0.63,0.29,0.11,0.17,0.24)
list_2 <- data.frame(id, pred_dif, month)
pred_dif <- c(0.58,0.13,0.55,0.13,0.76,0.3,0.29,0.81,0.27,0.04)
list_3 <- data.frame(id, pred_dif, month)
pred_dif <- c(0.3,0.61,0.18,0.29,0.85,0.76,0.56,0.91,0.48,0.91)
list_4 <- data.frame(id, pred_dif, month)
out <- list(list_1, list_2, list_3, list_4)
pred_second <- c(0.4,0.71,0.28,0.39,0.95,0.86,0.66,0.81,0.58,0.81)
df <- data.frame(id, quarter, pred_second, month)
library(purrr)
library(dplyr)
library(broom)
library(tidyr)
lmout_lst <- map(out,
~ left_join(.x, df, by = c('id', 'month')) %>%
group_by(quarter) %>%
summarise(new = list(lm(pred_dif ~ as.factor(month) - 1) %>%
broom::tidy(.))) %>%
unnest(new))
问题发生在 ols_list_reg 中。特别是使用“group_by”命令。
知道为什么会发生这种情况以及可能的解决方案吗?
【问题讨论】:
-
谢谢@Ronak 如果您现在尝试,代码不会真的失败
out[[1]] %>% filter(quarter == '1') %>% {lm(pred_dif ~ as.factor(month) - 1, data = .)}