r - NeweyWest 应用于许多回归
问题描述
对不起,基本问题。我正在运行许多不同的回归,并使用 NeweyWest 程序纠正标准错误。我的问题是,与其对每个回归运行 NeweyWest 调整,我是否可以一步对所有回归运行它。
例如:我有以下回归
Reg1, Reg2, Reg3 etc
我尝试了以下但没有任何成功。
Reg_List = c("Reg1", "Reg2", "Reg3")
coeftest(Reg_list, vcov=NeweyWest(Reg_list, lag = lag_length - 1, prewhite = FALSE, adjust = TRUE, sandwich = TRUE))
解决方案
我们需要获取“Reg_List”的值。在list
with mget
and then uselapply
中循环list
并应用NeweyWest
函数
library(sandwich)
library(lmtest)
lapply(mget(Reg_List),
function(x) coeftest(x, vcov = NeweyWest(x, lag = lag_length -1,
prewhite = FALSE, adjust = TRUE, sandwich = TRUE)))
#$Reg1
#t test of coefficients:
# Estimate Std. Error t value Pr(>|t|)
#(Intercept) -12.533601 22.665383 -0.5530 0.5879
#RealGNP 0.169136 0.020678 8.1793 4.154e-07 ***
#RealInt -1.001438 3.664142 -0.2733 0.7881
#---
#Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#$Reg2
# ..
在这里,我们假设lag_length
已经在 OP 的环境中创建了一个对象
使用可重现的示例
library(sandwich)
data(Investment)
Reg1 <- lm(RealInv ~ RealGNP + RealInt, data = Investment)
Reg2 <- Reg1
Reg3 <- Reg1
lag_length <- 4
Reg_List = c("Reg1", "Reg2", "Reg3")
推荐阅读
- shell - 如何从带有实际脚本文件的文件夹中获取符号链接脚本中的文件?
- sql - 保存搜索以显示销售数量以及多个位置的可用数量
- python - Keras Python 脚本有时运行良好,有时因矩阵大小不兼容而失败:In[0]: [10000,1], In[1]: [3,1]
- sql - 使用按函数 Teradata 分组时的计算列语法
- linux - 一年内嵌套几个月的for循环
- encryption - Datapower 到 tomcat -(X509Data 的意外数量:用于解密(KeyId))
- c# - 将多维数组属性公开的最佳方式?
- email - 通过“mailx”发送电子邮件不适用于某些电子邮件域
- android - (x) 分钟后滑动刷新布局重试进度条
- r - 理解 R 中的 time() 和 cycle() 函数