【发布时间】:2017-10-18 23:45:42
【问题描述】:
我正在使用 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"
而对于我指定除 FE 以外的变量的模型,我会在摘要中获得更多属性,包括 R^2。
我也尝试在我的数据中添加一个变量,它是一组变量,但这不起作用。
我可以使用常规的 lm() 函数 (summary(lm(C ~ A + B, data = Data))) 轻松实现这一点,但这会剥夺我 felm() 函数的价值:
【问题讨论】:
-
这里有同样的问题。到目前为止,我的修复一直在做类似
felm(formula = C ~ A | B +..., data = Data)的事情,即使用“最小”的因子作为通常的协变量,如lm(),并预测其他更小的因子 -
嗨,如果我只有一个像 A 这样的大因素...有什么办法解决这个问题吗?如果我把A放在公式的后半部分,计算花了很长时间
标签: r linear-regression