R 相当于 Stata 的 Absorb

Par*_*gue 2 r usage-statistics panel-data

我想控制包含一百多个级别的因子变量,而不将该控制的结果输出到汇总表。请注意,我还对复制 Stata 命令的速度感兴趣,而不仅仅是对输出进行表面更改。

在 Stata 中我可以像这样使用“absorb”:

use http://www.stata-press.com/data/r14/abdata.dta, clear
. xtreg n w k i.year, fe

Fixed-effects (within) regression               Number of obs     =      1,031
Group variable: id                              Number of groups  =        140

R-sq:                                           Obs per group:
     within  = 0.6277                                         min =          7
     between = 0.8473                                         avg =        7.4
     overall = 0.8346                                         max =          9

                                                F(10,881)         =     148.56
corr(u_i, Xb)  = 0.5666                         Prob > F          =     0.0000

------------------------------------------------------------------------------
           n |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
           w |  -.2731482   .0551503    -4.95   0.000    -.3813896   -.1649068
           k |   .5648036   .0212211    26.62   0.000     .5231537    .6064535
             |
        year |
       1977  |  -.0347963   .0188134    -1.85   0.065    -.0717206    .0021281
       1978  |  -.0583286   .0190916    -3.06   0.002    -.0957989   -.0208583
       1979  |   -.070047   .0190414    -3.68   0.000    -.1074187   -.0326752
       1980  |  -.0889378   .0189788    -4.69   0.000    -.1261867   -.0516889
       1981  |  -.1401502   .0186309    -7.52   0.000    -.1767163   -.1035841
       1982  |  -.1603768   .0188132    -8.52   0.000    -.1973008   -.1234528
       1983  |  -.1621103   .0222902    -7.27   0.000    -.2058585   -.1183621
       1984  |  -.1258136   .0282391    -4.46   0.000    -.1812373   -.0703899
             |
       _cons |   2.255419   .1772614    12.72   0.000     1.907515    2.603323
-------------+----------------------------------------------------------------
     sigma_u |  .64723143
     sigma_e |  .12836859
         rho |  .96215208   (fraction of variance due to u_i)
------------------------------------------------------------------------------
F test that all u_i=0: F(139, 881) = 126.32                  Prob > F = 0.0000
Run Code Online (Sandbox Code Playgroud)

使用吸收消除固定效应

. reghdfe n w k, absorb(id year)
(converged in 7 iterations)

HDFE Linear regression                            Number of obs   =      1,031
Absorbing 2 HDFE groups                           F(   2,    881) =     362.67
                                                  Prob > F        =     0.0000
                                                  R-squared       =     0.9922
                                                  Adj R-squared   =     0.9908
                                                  Within R-sq.    =     0.4516
                                                  Root MSE        =     0.1284

------------------------------------------------------------------------------
           n |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
           w |  -.2731482   .0551503    -4.95   0.000    -.3813896   -.1649068
           k |   .5648036   .0212211    26.62   0.000     .5231537    .6064535
-------------+----------------------------------------------------------------
    Absorbed |       F(147, 881) =    120.660   0.000             (Joint test)
------------------------------------------------------------------------------

Absorbed degrees of freedom:
---------------------------------------------------------------+
 Absorbed FE |  Num. Coefs.  =   Categories  -   Redundant     |
-------------+-------------------------------------------------|
          id |          140             140              0     |
        year |            8               9              1     |
---------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

Par*_*gue 5

我能找到的最好的替代方案是 lfe 包,它实现具有高维固定效应或/和工具变量的模型。

您可以在竖线之后指定固定效果,如下所示:

felm(n ~ w _ k | year, df)
Run Code Online (Sandbox Code Playgroud)

年份系数将被吸收到最终规范中。此方法的问题在于它现在允许您预测观察结果。

编辑:更新

R 库estimatr有函数lm_robust,它有一个固定效果参数,可以吸收 FE,并且比我在网上找到的任何库都工作得更好。强烈推荐。