Hello! I have a quick and simple question about a fixed effects panel regression from Dell, Jones and Olken (2012) I replicate.

A short excerpt of main variables in the data set looks as follows:

Code:
* Example generated by -dataex-. To install: ssc install dataex
clear
input int year float wtem str24 country int cc_num float g byte initxtilegdp1 float(wtem_initxtilegdp1 RY1XMENA) long rynum int parent_num
1950  26.04735 "United Arab Emirates" 1 . 0 0 1 109 1
1951  27.07283 "United Arab Emirates" 1 . 0 0 0 110 1
1952  27.22607 "United Arab Emirates" 1 . 0 0 0 111 1
1953  27.33655 "United Arab Emirates" 1 . 0 0 0 112 1
1954  27.31217 "United Arab Emirates" 1 . 0 0 0 113 1
1955 26.776577 "United Arab Emirates" 1 . 0 0 0 114 1
1956 26.919197 "United Arab Emirates" 1 . 0 0 0 115 1
1957 26.809404 "United Arab Emirates" 1 . 0 0 0 116 1
1958 27.213095 "United Arab Emirates" 1 . 0 0 0 117 1
1959 26.464613 "United Arab Emirates" 1 . 0 0 0 118 1
end
label values cc_num cc_num
label def cc_num 1 "AE", modify
label values rynum rynum
label def rynum 109 "_MENA1950", modify
label def rynum 110 "_MENA1951", modify
label def rynum 111 "_MENA1952", modify
label def rynum 112 "_MENA1953", modify
label def rynum 113 "_MENA1954", modify
label def rynum 114 "_MENA1955", modify
label def rynum 115 "_MENA1956", modify
label def rynum 116 "_MENA1957", modify
label def rynum 117 "_MENA1958", modify
label def rynum 118 "_MENA1959", modify
label values parent_num parent_num
label def parent_num 1 "AE", modify
- cc_num (indicates country) and year and the indicators for tsset
- g is the dependent variable (growth rate of GDP)
- wtem is the explanatory variable (yearly average temperature)
- initxtilegdp1 is a dummy indicating poor countries (defined as being below median GDP in the first year of the sample) - that means it should be time-invariant
- wtem_initxtilegdp1 is the interaction of temperature and "poor country" dummy
- RY1XMENA is one of many dummies for fixed effects (model uses country-FE, region-year FE and poor-year FE)
- parent_num and rynum are used for clustering of the error term on country and region-year level


Regression command and output (I cut off the rest of all the FE and constant):

Code:
. cgmreg g wtem wtem_initxtilegdp1 RY* i.cc_num, cluster(parent_num rynum)

Note: +/- means the corresponding matrix is added/subtracted

Calculating cov part for variables:  parent_num (+)
Calculating cov part for variables:  parent_num rynum (-)
Calculating cov part for variables:  rynum (+)

                                                 Number of obs     =    4924
                                                 Num clusvars      =    2
                                                 Num combinations  =    3

                                                 G(parent_num)     =    126
                                                 G(rynum)          =    324

------------------------------------------------------------------------------------
                 g |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
-------------------+----------------------------------------------------------------
              wtem |   .2609434   .3121942     0.84   0.403    -.3509461    .8728329
wtem_initxtilegdp1 |  -1.655145   .4853579    -3.41   0.001    -2.606429   -.7038606
          RY1XMENA |          0  (omitted)
          RY1XSSAF |          0  (omitted)
This is all original code from the replication package of the paper's authors. The results match with the paper.

As far as I understand, a time-invariant variable like the "poor country" dummy added to the model gets omitted because the country-FE already cover its effect - but when I add the dummy initxtilegdp1 to the model by running the regression with factor notation I get this output:



Code:
cgmreg g c.wtem##i.initxtilegdp1 RY* i.cc_num, cluster(parent_num rynum)

Note: +/- means the corresponding matrix is added/subtracted

Calculating cov part for variables:  parent_num (+)
Calculating cov part for variables:  parent_num rynum (-)
Calculating cov part for variables:  rynum (+)

                                                 Number of obs     =    4924
                                                 Num clusvars      =    2
                                                 Num combinations  =    3

                                                 G(parent_num)     =    126
                                                 G(rynum)          =    324

--------------------------------------------------------------------------------------
                   g |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
---------------------+----------------------------------------------------------------
                wtem |   .2609434   .3126006     0.83   0.404    -.3517424    .8736292
     1.initxtilegdp1 |   36.10915   11.21715     3.22   0.001     14.12394    58.09436
                     |
initxtilegdp1#c.wtem |
                  1  |  -1.655145   .4863585    -3.40   0.001     -2.60839   -.7018994
                     |
            RY1XMENA |          0  (omitted)
            RY1XSSAF |          0  (omitted)


It's a super basic question, but why is the dummy not omitted? Running the exact same two commands (once with dummy, once without) with different data (for example aggregated 5-year periods instead of years) also gives me slightly changed standard errors for the estimates. Which one is correct? And where does the deviation come from?

Thanks for any help!


source:

Dell, Melissa, Benjamin F. Jones, and Benjamin A. Olken. 2012. "Temperature Shocks and Economic Growth: Evidence from the Last Half Century." American Economic Journal: Macroeconomics, 4 (3): 66-95.