Ошибка Ньюи-Веста для множественных линейных регрессий

У меня есть фрейм данных со 126 столбцами, и я хочу запустить линейные регрессии по всем столбцам. Я сделал это с помощью функции lapply():

my_lms <- lapply(1:126, function(x) df[,x] ~ df$x1))

Снова с помощью функции lapply() я получаю сводную статистику:

lapply(my_lms, summary)

Мой вопрос: как получить ту же сводную статистику, используя ошибки Ньюи-Веста?

Я старался:

coeftest(my_lms, vcov. = NeweyWest)

но это дает мне сообщение об ошибке:
Ошибка в UseMethod("estfun"): нет применимого метода для 'estfun', примененного к объекту класса "list"

Спасибо

1 ответ

Решение

Стефан совершенно прав, но я подумал, что нужно написать объяснение сегодня вечером. Ваш my_lms Объект представляет собой список, каждый элемент которого является вложенным объектом с соответствующим классом для coeftest функция. Тем не менее, функция coeftest не имеет механизма для последовательного извлечения "основного списка". Так что вам нужно использовать lapply снова с coeftest будучи функциональным аргументом. Дополнительные параметры могут быть переданы coeftest с помощью lappyМеханизм "тройных точек": цитируемый материал из ?lapply страница

использование

радостно (X, весело, ...)

lapply(my_lms, coeftest, vcov. = NeweyWest)
Другие вопросы по тегам