基于具有聚集SE的模型的图

时间:2019-05-05 04:26:24

标签: r ggplot2 lm

我正在尝试基于具有聚类标准误差的回归模型创建图。根据数据集的大小,我通常使用felm包中的"lfe"cluster.vcov和{{1 }}软件包。

以下是这两种方法的回归示例:

coeftest

问题是这两个选项都产生与R中大多数绘图功能不兼容的对象类型。

例如,如果我要创建这样的图:

"multiwayvcov"

如何从具有聚类标准误差的模型中以正确的置信区间创建图?

1 个答案:

答案 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

enter image description here