У меня есть таблица данных с годовой доходностью и 2 пояснительными переменными для 25 различных портфелей акций.Я хотел бы оценить ту же lm
модель для каждого из 25 портфелей, где стандартные ошибки исправлены NeweyWest.Пока что я запускаю модель для каждого портфеля с помощью group_by
из dplyr
, а затем исправляю стандартные ошибки с помощью coeftest
из пакета lmtest
плюс NeweyWest
из пакета sandwich
, суммированные с tidy
из пакета broom
:
library(dplyr)
library(broom)
library(lmtest)
library(sandwich)
regressions <- data %>%
group_by(Portfolio) %>%
do({fit = lm(Portfolio_return ~ x1 + x2, data = .)
tidy(coeftest(fit, vcov. = NeweyWest(fit, prewhite = FALSE)))
})
У меня есть следующие вопросы: 1. Код дает мне коэффициенты плюс p-avlues, но как мне получить все остальные сводные характеристики, такие как r2, F-тест и т.д. для всех моделей после настройки NeweyWest?Мне нравятся tidy
, glance
и augment
из пакета broom
, но когда я запускаю regressions %>% glance(fit)
, я получаю фатальную ошибку и R вылетает.2. Как я могу суммировать всю статистику (например, коэффициенты, p-значения, R2) для всех 25 моделей в одной data.table
или data.frame
?
Большое спасибо!