Ошибка Ньюи-Веста для множественных линейных регрессий
У меня есть фрейм данных со 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)