Сбрасывание чайников в эстаб - PullRequest
0 голосов
/ 14 марта 2019

Я попытался создать таблицу с помощью сообщества семейства команд estout:

esttab est1 est2 est3 using table3.tex, se label nobaselevels ///
star(* 0.10 ** 0.05 *** 0.01) cell((coef(fmt(%9.2f)) sd(fmt(%9.2f)))) ///
drop(_Iprovince* _Iyear*) stats(year province robust r2 N, ///
label("Year Fixed Effects" "Province Fixed Effects" "Robust SE" "R-squared")) ///
replace booktabs

Однако Stata выдает следующую ошибку:

коэффициент _Iprovince * не найден

Это манекены с "фиксированным эффектом", которые я хочу выпустить.

Код работает нормально, когда вынимаю cell().

Наконец, как я могу округлить оценки коэффициентов и стандартные ошибки?

Ответы [ 2 ]

1 голос
/ 15 марта 2019

Код не выполняется, потому что вы используете в esttab подопцию sd вместо se:

sysuse auto, clear

eststo est1: xi: reg price mpg i.rep78
i.rep78           _Irep78_1-5         (naturally coded; _Irep78_1 omitted)

      Source |       SS           df       MS      Number of obs   =        69
-------------+----------------------------------   F(5, 63)        =      4.39
       Model |   149020603         5  29804120.7   Prob > F        =    0.0017
    Residual |   427776355        63  6790100.88   R-squared       =    0.2584
-------------+----------------------------------   Adj R-squared   =    0.1995
       Total |   576796959        68  8482308.22   Root MSE        =    2605.8

------------------------------------------------------------------------------
       price |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
         mpg |  -280.2615   61.57666    -4.55   0.000    -403.3126   -157.2103
   _Irep78_2 |   877.6347   2063.285     0.43   0.672     -3245.51     5000.78
   _Irep78_3 |   1425.657   1905.438     0.75   0.457    -2382.057    5233.371
   _Irep78_4 |   1693.841   1942.669     0.87   0.387    -2188.274    5575.956
   _Irep78_5 |   3131.982   2041.049     1.53   0.130    -946.7282    7210.693
       _cons |   10449.99   2251.041     4.64   0.000     5951.646    14948.34
------------------------------------------------------------------------------

esttab est1, cell((coef(fmt(%9.2f)) sd(fmt(%9.2f)))) label nobaselevels ///
star(* 0.10 ** 0.05 *** 0.01) stats(b r2 N) drop(_Irep78*)
coefficient _Irep78* not found
r(111);

Если вы используете правильный подопцию se, код выполняется:

esttab est1, cell((coef(fmt(%9.2f)) se(fmt(%9.2f)))) label nobaselevels ///
star(* 0.10 ** 0.05 *** 0.01) stats(r2 N) drop(_Irep78*)

----------------------------------------------
                              (1)             
                            Price             
                             coef           se
----------------------------------------------
Mileage (mpg)                            61.58
Constant                               2251.04
----------------------------------------------
r2                           0.26             
N                           69.00             
----------------------------------------------

Однако подопция coeflabels (coef в вашем коде) должна указывать только метки для бета-коэффициентов, но не включать их.

Таким образом, вместо этого вам нужно использовать подопцию b, как предложено в ответе @ Dimitriy:

esttab est1, cell((b(fmt(%9.2f)) se(fmt(%9.2f)))) label nobaselevels ///
star(* 0.10 ** 0.05 *** 0.01) stats(r2 N) drop(_Irep78*)

----------------------------------------------
                              (1)             
                            Price             
                                b           se
----------------------------------------------
Mileage (mpg)             -280.26        61.58
Constant                 10449.99      2251.04
----------------------------------------------
r2                           0.26             
N                           69.00             
----------------------------------------------

Вот полный вывод в esttab (без отбрасывания чего-либо):

esttab est1, cell((b(fmt(%9.2f)) se(fmt(%9.2f)))) label nobaselevels ///
star(* 0.10 ** 0.05 *** 0.01) stats(r2 N)

----------------------------------------------
                              (1)             
                            Price             
                                b           se
----------------------------------------------
Mileage (mpg)             -280.26        61.58
rep78==2                   877.63      2063.28
rep78==3                  1425.66      1905.44
rep78==4                  1693.84      1942.67
rep78==5                  3131.98      2041.05
Constant                 10449.99      2251.04
----------------------------------------------
r2                           0.26             
N                           69.00             
----------------------------------------------
1 голос
/ 14 марта 2019

Если у вас нет очень старой версии Stata, не используйте xi для создания ваших FE.Вместо этого используйте нотацию факторной переменной i.province и i.year.

Основная проблема с вашим кодом состоит в том, что у вас должно быть b вместо coef (Stata не может отбрасывать коэффициенты, поскольку они не включены, если вы несообщите Stata, что вы хотите их:)

sysuse auto
eststo est1: reg price mpg i.rep78
esttab est1, ///
stats(b year province robust r2 N, label("Year Fixed Effects" "Province Fixed Effects" "Robust SE" "R-squared")) ///
replace booktabs drop(*.rep78) se label nobaselevels star(* 0.10 ** 0.05 *** 0.01) cell((b(fmt(%9.2f)) sd(fmt(%9.2f))))

Обратите внимание на воспроизводимый пример в общем наборе данных.

...