我正在尝试基于具有聚类标准误差的回归模型创建图。根据数据集的大小,我通常使用felm
包中的"lfe"
或cluster.vcov
和{{1 }}软件包。
以下是这两种方法的回归示例:
coeftest
问题是这两个选项都产生与R中大多数绘图功能不兼容的对象类型。
例如,如果我要创建这样的图:
"multiwayvcov"
如何从具有聚类标准误差的模型中以正确的置信区间创建图?
答案 0 :(得分:0)
glm.cluster
包中有一个miceadds
函数,适合具有簇鲁棒标准错误的GLM,并且看起来类似于felm
的结果。
library(miceadds)
m.glm.cl <- glm.cluster(mpg ~ wt + disp + wt*disp, cluster="carb", data=mtcars)
summary(m.glm.cl)
# Estimate Std. Error t value Pr(>|t|)
# (Intercept) 44.08199770 1.960767641 22.482010 6.225590e-112
# wt -6.49567966 0.635946018 -10.214200 1.712866e-24
# disp -0.05635816 0.009436760 -5.972194 2.340843e-09
# wt:disp 0.01170542 0.001965829 5.954445 2.609566e-09
library('lfe')
m.felm <- felm(mpg ~ wt + disp + wt*disp | 0 | 0 | carb, data=mtcars)
summary(m.felm)$coef
# Estimate Cluster s.e. t value Pr(>|t|)
# (Intercept) 44.08199770 1.960767641 22.482010 1.846712e-19
# wt -6.49567966 0.635946018 -10.214200 6.015931e-11
# disp -0.05635816 0.009436760 -5.972194 1.972266e-06
# wt:disp 0.01170542 0.001965829 5.954445 2.068825e-06
p 值不同,但是我不知道它们是否/如何在interplot
中使用(您可以通过研究方法{{ 1}}正在使用:interplot
)。
无论如何,interplot::interplot.default
返回一个列表,其中glm.cluster
是我们想要的,
glm_res
以及我们可以用来喂names(m.glm.cl)
# [1] "glm_res" "vcov"
的东西。
interplot