只使用固定效应的 R - lfe(felm)拟合模型

7
我正在使用lfe包中的felm()函数来拟合具有大量固定效应的线性模型。我希望能够仅使用固定效应来拟合模型。例如,我想知道这种模型的R^2,并可能将其与具有更大预测变量集的模型进行比较。请考虑下面的例子:
library(lfe)

N = 1000

A = sample(1:3, N, replace = TRUE)
B = sample(1:5, N, replace = TRUE)

C = A + B + rnorm(N)

Data = data.frame(A, B, C)
Data$A = as.factor(A)
Data$B = as.factor(B)

summary(felm(C ~ 1 | A + B, data = Data))

这只是简单地返回:

Call:
   felm(formula = C ~ 1 | A + B, data = Data) 

Residuals:
    Min      1Q  Median      3Q     Max 
-3.8101 -0.6750  0.0014  0.6765  4.4254 

Coefficients:
(No coefficients)

同样地,如果我使用:names(summary(felm(C ~ 1 | A + B, data = Data))) 我会得到以下结果:
[1] "residuals" "p"         "Pp"        "call"   

对于指定固定效应以外变量的模型,摘要中会有更多属性,包括R^2。我也尝试将一个由一组1组成的变量添加到数据中,但并没有成功。使用常规的lm()函数(例如,summary(lm(C ~ A + B, data = Data)))可以轻松实现这一点,但这会剥夺我felm()函数的价值。

1
我这里也遇到了同样的问题。 我目前的解决方法是执行类似于 felm(formula = C ~ A | B +..., data = Data) 的操作,即像在 lm() 中一样使用“最小”的因子作为常规协变量,并投影其他更重要的因子。 - Felipe Alvarenga
嗨,如果我只有一个像A这样的大因子...有什么解决方法吗?如果我把A放在公式的后面计算,那么计算时间会很长。 - Gabriel
1个回答

1

fixest软件包(至少与lfe一样顺畅地处理高维固定效应)返回一组统计数据,例如调整后的R-squared:

> summary(fixest::feols(C ~ 1 | A + B, data = Data))
# OLS estimation, Dep. Var.: C
# Observations: 1,000 
# Fixed-effects: A: 3,  B: 5
# RMSE: 0.994166   Adj. R2: 0.733952

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接