繁体   English   中英

如何在 R 中为 plm(池)model 计算稳健的标准误差?

[英]How to calculate robust standard errors in stargazer for plm (pooling) model in R?

我有几个使用plmpooling的回归模型。 我的数据是汇总的横截面/时间序列数据,其中包含债券发行数据。 该数据包括对大约 2000 次债券发行的观察,以及大约 25 个债券描述变量。

我想计算一个或所有回归模型的稳健标准误差,以便将其添加到我的观星者可视化中。 我的回归如下:

#Regression    
primaryreg4 <- plm(issueyield ~ issuer + exchange + yearmonth + maturity.cat + size.cat + coupontype, 
                   data = data, 
                   index = c("ID", "issuedate"), 
                   model = "pooling") 

所有变量都是固定效应(FE),因此它们是虚拟变量。 我想计算这个 model 的稳健标准误差,并将其添加到 stargazer。 我尝试计算标准误差的代码是:

cov.r4 <- vcovHC(primaryreg4, type = "HC3")
robust_se_r4 <- sqrt(diag(cov.r4))

# or (it is the same)

robust_se_r4 <- sqrt(diag(vcovHC(primaryreg4, type = "HC3")))

然后,我会将 stargazer 中的标准错误指定为robust_se_r 但是,我收到此错误消息:

错误:无法分配大小为 15.8 Gb 的向量

有谁知道如何解决这个问题? 我知道这是一个 memory 问题,但文件真的不应该太大 - 我的数据是大约 25 个变量的 2000 个观察值(不是太大。)。

矢量太大。 你可以提取它们

您的代码在最少的面板数据上运行:

library("plm")
data("Produc", package = "plm")

# Regression    
model <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp,
          data = Produc, 
          index = c("state","year"),
          method="pooling")

# Robust Standard Errors
robust_se <- sqrt(diag(vcovHC(model, type = "HC3")))

你能更详细地描述你的变量吗? 成熟度和规模有哪些类别? 尝试从dplyrglimpse ,检查每个变量的数据类型和格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM