ここで説明されているように、ネストされたデータ フレーム内で回帰を実行しようとしています。私の目的では、多くのレベルの固定効果があるため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
とでは機能しますが、 では機能し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