我有一个包含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)
但是这给了我错误信息:
UseMethod(“ estfun”)中的错误:
没有适用于“ estfun”的适用方法应用于“列表”类的对象
谢谢
答案 0 :(得分:0)
斯蒂芬(Stephane)完全正确,但是我认为可能需要写说明。您的my_lms
对象是一个列表,列表中的每个项目都是一个嵌套对象,具有coeftest
函数的适当类。但是,coeftest函数没有用于“主列表”的串行提取的机制。因此,您需要使用lapply
作为功能参数再次使用coeftest
。可以使用coeftest
的“三点”机制将额外的参数传递到lappy
:?lapply
页面上引用的材料
用法
lapply(X,FUN,...)
lapply(my_lms, coeftest, vcov. = NeweyWest)