我使用来自felm()包的lfe函数来拟合具有大量固定效应的线性模型。我希望能够适应一个模型,只使用固定的效果。例如,我希望能够知道这种模型的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" 对于那些我指定了FEs以外的变量的模型,我在摘要中获得了更多的属性,包括R^2。
我还尝试在数据中添加一个变量,这是一组变量,但这是行不通的。
我可以通过常规的lm()函数(summary(lm(C ~ A + B, data = Data)))很容易地得到这一点,但是这就剥夺了felm()函数的值:
发布于 2021-07-30 10:25:39
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.733952https://stackoverflow.com/questions/44059987
复制相似问题