我正在尝试在此处描述的嵌套数据框中运行回归。出于我的目的,我felm
从lfe
包中使用,因为我有很多级别的固定效果。
felm
如果我使用而不是重新执行上面链接中的示例lm
,则它在大多数情况下都有效,直到我尝试使用broom::augment
.
library(tidyverse)
library(broom)
library(gapminder)
library(lfe)
by_country <- gapminder %>%
group_by(continent, country) %>%
nest()
country_felm <- function(data){
felm(lifeExp ~ year, data = data)
}
by_country <- by_country %>%
mutate(model = purrr::map(data, country_felm)
)
到目前为止一切正常,除了我必须purrr::map
在最后一行代码中使用函数而不是公式,这可能是另一个felm
怪癖。
现在,如果我尝试使用broom
来提取模型输出,它适用于glance
and tidy
,但不适用于augment
.
by_country %>% unnest(model %>% purrr::map(broom::glance))
by_country %>% unnest(model %>% purrr::map(broom::tidy))
by_country %>% unnest(model %>% purrr::map(broom::augment))
尝试使用augment
会导致以下错误消息:
Error in mutate_impl(.data, dots) :
argument must be coercible to non-negative integer
In addition: Warning message:
In seq_len(nrow(x)) : first element used of 'length.out' argument