多元线性回归的 Newey-West 误差
Newey-West error for multiple linear regressions
我有一个包含 126 列的数据框,我想对所有列进行 运行 线性回归。我用 lapply() 函数做到了这一点:
my_lms <- lapply(1:126, function(x) df[,x] ~ df$x1))
再次使用 lapply() 函数,我得到了汇总统计信息:
lapply(my_lms, summary)
我的问题是如何使用 Newey-West 错误获得相同的汇总统计数据?
我试过了:
coeftest(my_lms, vcov. = NeweyWest)
但这给了我错误信息:
使用方法错误("estfun"):
没有适用于 'estfun' 的方法应用于 class "list"
的对象
谢谢
Stephane 完全正确,但我认为可能需要写一个解释。您的 my_lms
对象是一个列表,列表中的每个项目都是一个嵌套对象,具有 coeftest
函数的正确 class。但是,coeftest 函数没有用于“主列表”的串行提取机制。因此,您需要再次使用 lapply
并将 coeftest
作为函数参数。可以使用 lappy
的“三点”机制将额外参数传递给 coeftest
:引用 material 来自 ?lapply
页面
Usage
lapply(X, FUN, ...)
lapply(my_lms, coeftest, vcov. = NeweyWest)
我有一个包含 126 列的数据框,我想对所有列进行 运行 线性回归。我用 lapply() 函数做到了这一点:
my_lms <- lapply(1:126, function(x) df[,x] ~ df$x1))
再次使用 lapply() 函数,我得到了汇总统计信息:
lapply(my_lms, summary)
我的问题是如何使用 Newey-West 错误获得相同的汇总统计数据?
我试过了:
coeftest(my_lms, vcov. = NeweyWest)
但这给了我错误信息:
使用方法错误("estfun"):
没有适用于 'estfun' 的方法应用于 class "list"
谢谢
Stephane 完全正确,但我认为可能需要写一个解释。您的 my_lms
对象是一个列表,列表中的每个项目都是一个嵌套对象,具有 coeftest
函数的正确 class。但是,coeftest 函数没有用于“主列表”的串行提取机制。因此,您需要再次使用 lapply
并将 coeftest
作为函数参数。可以使用 lappy
的“三点”机制将额外参数传递给 coeftest
:引用 material 来自 ?lapply
页面
Usage
lapply(X, FUN, ...)
lapply(my_lms, coeftest, vcov. = NeweyWest)