我正在运行具有许多固定效果水平的线性回归,这需要很长时间才能运行。
由于效率原因,我想:
demeanlist()
软件包中的lfe
。lm.fit()
,而不是在lm()
上运行lm.fit()
的输出lm.fit()
未考虑降级部分,因此DoF的真实数字低于lm.fit()
中的默认数字。我已经成功地尝试了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。