R-lfe(felm)拟合模型,仅具有固定效果

Mic*_*gge 5 r linear-regression

我正在使用包中的felm()函数lfe来拟合具有大量固定效果的线性模型。我希望能够仅使用固定效果来拟合模型。例如,我希望能够知道这种模型的R ^ 2,并有可能将其与具有较大预测变量集的模型的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))
Run Code Online (Sandbox Code Playgroud)

这只是作为回应:

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)
Run Code Online (Sandbox Code Playgroud)

同样,如果我使用:names(summary(felm(C ~ 1 | A + B, data = Data)))我得到:

[1] "residuals" "p"         "Pp"        "call"   
Run Code Online (Sandbox Code Playgroud)

而对于我指定了FE以外的变量的模型,我在摘要中得到了更多的属性,包括R ^ 2。

我还尝试仅向数据中添加一组变量,但这没有用。

我可以使用常规lm()函数(summary(lm(C ~ A + B, data = Data)))轻松获得此函数,但是那使我失去了felm()函数的价值:

小智 1

fixest包(处理高维固定效应至少与 一样顺利lfe)返回一组统计数据,例如调整后的 R 平方:

> 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
Run Code Online (Sandbox Code Playgroud)