计算来自lm.fit()对象的聚类的正确标准错误,同时还纠正DoF

时间:2019-07-10 09:13:48

标签: r lm

我正在运行具有许多固定效果水平的线性回归,这需要很长时间才能运行。

由于效率原因,我想:

  1. 对变量进行一次平均化(为此,我正在使用demeanlist()软件包中的lfe
  2. 保存举止矩阵
  3. 出于效率考虑(数据集有超过5000万行),在已除污的矩阵上运行lm.fit(),而不是在lm()上运行
  4. 保存lm.fit()的输出
  5. 将SE校正应用于输出以说明
    1. 聚类/异方差(理想情况下,我想尝试不同的方法,而不必每次都重新运行模型)
    2. 由于lm.fit()未考虑降级部分,因此DoF的真实数字低于lm.fit()中的默认数字。
  6. 使用注视机输出到Latex

我已经成功地尝试了1-4,现在我想知道如何解决5。理想情况下也应该解决6,但是当然这是次要的。

我当然可以替代4。我不必严格运行lm.fit(),对于fastLm()felm()中的任何内容我都可以接受

编辑:最小的独立实例

library(fastDummies)
library(felm)    
library(lfe)    

data <- data.frame(author=c("a","a","a","a","b","b","b","b","c","c","c","c"),
                   date=c(1,1,2,2,1,1,2,2,1,1,2,2), sub=c("political", "general", "political", "general","political", "general", "political", "general","political", "general", "political", "general"), treatment1=c(1,0,0,0,0,1,0,0,0,1,1,1), outcome=c(0,2,5,5,7,0,1,1,23,3,10,11), treatment2= c(1,1,0,0,1,0,0,1,0,0,0,0))


yX <- data[,c("treatment1", "treatment2", "outcome")]


cx <- demeanlist(yX, list(as.factor(data$author), as.factor(data$sub), as.factor(data$date)))


x <- lm.fit(as.matrix(cx[,1:2]), as.matrix(cx[3]))

我现在希望有一个x的摘要,可以将其输出到Latex,但可以在其中修正DoF,并且可以将SE聚类或使用异方差鲁棒的SE。

0 个答案:

没有答案