Skip to contents

Idea

Fixed effects regression is one of those things that we don’t necessarily need another package to do. We could do it ourselves with the standard linear model tools, either in R or Stata. Hence, we should set the bar pretty high for a package that we use for fixed effect regression package. It should contribute a lot to our productivity, otherwise why bother learning it?

Rolling it ourselves

Remember from class that doing the “within” fixed effects estimator is the same as running OLS with dummy variables for each group id. So we can definitely do that ourselves.

The data that I’ll use for this example is the wage panel data from your problem set. I’ll filter out a couple years.

library(tidyverse)
library(haven)
data <-
    read_dta(system.file("wagepan.dta", package = "metrics.in.r")) %>%
    filter(year < 1983)

The group id is the variable nr and the year ID is year. Let’s estimate the two-way fixed effects model

\[ lwage_{it} = \beta_1 + \beta_2 union_{it} + \delta_i + \delta_t + u_{it} \]

In other words, we care about the returns to union membership in percentage terms, controlling for unobserved heterogeneity across years and individuals.

Categorical variables in R are called “factors.” If we put them in the regression formula, then R will create dummy variables for the actual regression. Hence, let’s convert year and nr to factors in our formula and estimate this model via OLS:

(model <- lm(lwage ~ union + as_factor(nr) + as_factor(year), data = data))
## 
## Call:
## lm(formula = lwage ~ union + as_factor(nr) + as_factor(year), 
##     data = data)
## 
## Coefficients:
##         (Intercept)                union      as_factor(nr)17  
##           1.3266008            0.1181125            0.1588673  
##     as_factor(nr)18      as_factor(nr)45     as_factor(nr)110  
##           0.2020454            0.1085325            0.4930897  
##    as_factor(nr)120     as_factor(nr)126     as_factor(nr)150  
##          -0.4121125            0.5466180           -0.2345779  
##    as_factor(nr)162     as_factor(nr)166     as_factor(nr)189  
##          -0.5460605           -0.4402726           -0.2809320  
##    as_factor(nr)193     as_factor(nr)209     as_factor(nr)212  
##           0.5350933            0.1282157            0.5110860  
##    as_factor(nr)218     as_factor(nr)243     as_factor(nr)259  
##           0.6580525            0.2204271            0.5358792  
##    as_factor(nr)260     as_factor(nr)309     as_factor(nr)351  
##           0.2863690            0.6847195            0.0749453  
##    as_factor(nr)353     as_factor(nr)383     as_factor(nr)408  
##           0.3106510            0.0982151            0.2486188  
##    as_factor(nr)424     as_factor(nr)464     as_factor(nr)483  
##           0.8659802           -0.4005279            0.2741420  
##    as_factor(nr)556     as_factor(nr)560     as_factor(nr)569  
##           0.6477222            0.0687833           -0.5581998  
##    as_factor(nr)583     as_factor(nr)647     as_factor(nr)658  
##           0.2845939           -0.0685340            0.2440167  
##    as_factor(nr)684     as_factor(nr)711     as_factor(nr)729  
##           1.0114142            0.0040234            0.8119867  
##    as_factor(nr)731     as_factor(nr)732     as_factor(nr)793  
##          -0.0497423            0.1089600            0.1494168  
##    as_factor(nr)797     as_factor(nr)800     as_factor(nr)813  
##           0.1684761            0.0246981           -0.5291300  
##    as_factor(nr)823     as_factor(nr)827     as_factor(nr)847  
##          -1.0594719           -0.2008313            0.1615324  
##    as_factor(nr)851     as_factor(nr)863     as_factor(nr)873  
##           0.4742646            0.1418878           -0.7443141  
##    as_factor(nr)891     as_factor(nr)908     as_factor(nr)910  
##           0.6617605           -0.9901529            0.2545301  
##    as_factor(nr)916     as_factor(nr)919     as_factor(nr)922  
##          -0.0247005           -0.0563176            0.5330584  
##    as_factor(nr)924     as_factor(nr)925     as_factor(nr)944  
##          -0.5603942            0.7388367           -0.4893991  
##    as_factor(nr)945     as_factor(nr)947     as_factor(nr)955  
##          -0.2056538            0.7894674            0.4688771  
##    as_factor(nr)965     as_factor(nr)996    as_factor(nr)1007  
##           0.0011922            0.0024493            0.1569972  
##   as_factor(nr)1054    as_factor(nr)1064    as_factor(nr)1081  
##          -0.1986985            0.5142225           -0.1308018  
##   as_factor(nr)1085    as_factor(nr)1091    as_factor(nr)1094  
##           0.1031126           -0.3927281            0.0006299  
##   as_factor(nr)1096    as_factor(nr)1098    as_factor(nr)1102  
##          -0.2450096            0.7203420            0.1591198  
##   as_factor(nr)1107    as_factor(nr)1142    as_factor(nr)1156  
##           0.1643931            0.2420108           -0.1146136  
##   as_factor(nr)1180    as_factor(nr)1190    as_factor(nr)1204  
##           0.2527814           -0.0646183            0.2655009  
##   as_factor(nr)1249    as_factor(nr)1272    as_factor(nr)1311  
##           0.0844531            0.3144074           -0.1595409  
##   as_factor(nr)1316    as_factor(nr)1318    as_factor(nr)1345  
##           0.2778284           -0.1365694           -0.4484422  
##   as_factor(nr)1397    as_factor(nr)1434    as_factor(nr)1492  
##           0.0959715           -0.6605361            0.0934701  
##   as_factor(nr)1496    as_factor(nr)1506    as_factor(nr)1515  
##          -0.7466057            0.0725290           -0.2513917  
##   as_factor(nr)1520    as_factor(nr)1528    as_factor(nr)1554  
##          -0.1445889           -0.3049101           -0.1505543  
##   as_factor(nr)1575    as_factor(nr)1576    as_factor(nr)1628  
##           0.2733155           -0.0141681           -0.1800837  
##   as_factor(nr)1641    as_factor(nr)1644    as_factor(nr)1653  
##           0.7133776           -0.2519397           -0.3808045  
##   as_factor(nr)1654    as_factor(nr)1721    as_factor(nr)1742  
##           0.1314616            0.4504153            0.1680601  
##   as_factor(nr)1744    as_factor(nr)1763    as_factor(nr)1777  
##           0.1545325           -0.5249411           -0.2199798  
##   as_factor(nr)1843    as_factor(nr)1891    as_factor(nr)1895  
##           0.9471332           -0.4396996            0.1992381  
##   as_factor(nr)1899    as_factor(nr)1925    as_factor(nr)1930  
##          -0.0689627           -0.0209432           -0.3039736  
##   as_factor(nr)1961    as_factor(nr)1963    as_factor(nr)1979  
##           0.2004823            0.2175404            0.4192028  
##   as_factor(nr)1988    as_factor(nr)2000    as_factor(nr)2014  
##          -0.3547352            0.3390797            0.4306733  
##   as_factor(nr)2025    as_factor(nr)2038    as_factor(nr)2075  
##          -0.0088173           -0.3322481            0.3358691  
##   as_factor(nr)2101    as_factor(nr)2106    as_factor(nr)2107  
##           0.7448600            0.1274726           -0.0777436  
##   as_factor(nr)2108    as_factor(nr)2147    as_factor(nr)2157  
##           0.3293251           -1.4220602           -0.3080365  
##   as_factor(nr)2163    as_factor(nr)2173    as_factor(nr)2180  
##           0.6401244           -0.1349283           -0.1263657  
##   as_factor(nr)2183    as_factor(nr)2216    as_factor(nr)2220  
##          -0.0503839            0.1857614            0.3705435  
##   as_factor(nr)2227    as_factor(nr)2264    as_factor(nr)2306  
##          -0.1358223           -0.3091959           -0.6756233  
##   as_factor(nr)2312    as_factor(nr)2314    as_factor(nr)2329  
##           0.3355878            0.5290060            0.3244606  
##   as_factor(nr)2335    as_factor(nr)2341    as_factor(nr)2351  
##           0.0383447           -0.3232691           -0.3374433  
##   as_factor(nr)2386    as_factor(nr)2401    as_factor(nr)2413  
##          -0.7008390           -0.1342346            0.6445750  
##   as_factor(nr)2421    as_factor(nr)2445    as_factor(nr)2451  
##          -0.1786544           -0.0166565            0.2330834  
##   as_factor(nr)2494    as_factor(nr)2508    as_factor(nr)2535  
##          -0.7329064            0.4873586            0.1781931  
##   as_factor(nr)2540    as_factor(nr)2685    as_factor(nr)2711  
##          -0.3678554            0.4867136           -0.3197433  
##   as_factor(nr)2718    as_factor(nr)2721    as_factor(nr)2733  
##           0.6427425            0.0711279           -0.5114629  
##   as_factor(nr)2741    as_factor(nr)2745    as_factor(nr)2751  
##          -0.0656126            0.3165448            0.1089606  
##   as_factor(nr)2774    as_factor(nr)2801    as_factor(nr)2813  
##           0.7161539           -0.2499014           -0.2545656  
##   as_factor(nr)2833    as_factor(nr)2839    as_factor(nr)2842  
##           0.4127922            0.2038677            0.2398360  
##   as_factor(nr)2866    as_factor(nr)2868    as_factor(nr)2874  
##           0.1589736            0.4256432           -0.6921180  
##   as_factor(nr)2916    as_factor(nr)2951    as_factor(nr)2980  
##           0.1074157           -0.2764584            0.0331924  
##   as_factor(nr)2994    as_factor(nr)2997    as_factor(nr)3017  
##           0.0254400            0.2189687            0.1251911  
##   as_factor(nr)3037    as_factor(nr)3059    as_factor(nr)3062  
##           0.5988740            0.2389050            0.7489376  
##   as_factor(nr)3100    as_factor(nr)3102    as_factor(nr)3127  
##          -0.0332785           -0.7166815           -1.0250521  
##   as_factor(nr)3136    as_factor(nr)3137    as_factor(nr)3138  
##           0.2869289            0.4581664            0.2596971  
##   as_factor(nr)3140    as_factor(nr)3193    as_factor(nr)3196  
##           0.4143431            0.0051748            0.3669188  
##   as_factor(nr)3200    as_factor(nr)3202    as_factor(nr)3207  
##           0.1586095            0.2291555            0.1892850  
##   as_factor(nr)3208    as_factor(nr)3210    as_factor(nr)3215  
##           0.3125633            0.1541200           -0.0896639  
##   as_factor(nr)3219    as_factor(nr)3226    as_factor(nr)3235  
##          -0.3633334           -0.3335658           -0.1901436  
##   as_factor(nr)3239    as_factor(nr)3271    as_factor(nr)3275  
##          -0.6941492           -0.0585147           -0.1518026  
##   as_factor(nr)3282    as_factor(nr)3289    as_factor(nr)3290  
##           0.0018243           -0.1431946           -0.0725325  
##   as_factor(nr)3307    as_factor(nr)3333    as_factor(nr)3353  
##           0.7359895           -0.8625462           -0.4078738  
##   as_factor(nr)3380    as_factor(nr)3381    as_factor(nr)3389  
##           0.0537697            0.0717494            0.1657350  
##   as_factor(nr)3394    as_factor(nr)3401    as_factor(nr)3414  
##           0.5586050           -0.2521901            0.4222398  
##   as_factor(nr)3420    as_factor(nr)3440    as_factor(nr)3461  
##           0.0271526           -1.2838070            0.2180308  
##   as_factor(nr)3468    as_factor(nr)3482    as_factor(nr)3495  
##           0.0166458            0.6722500            0.0808619  
##   as_factor(nr)3503    as_factor(nr)3525    as_factor(nr)3526  
##           0.5833753            0.0781587            0.2117918  
##   as_factor(nr)3538    as_factor(nr)3563    as_factor(nr)3575  
##           0.5578160            0.1964154            0.5930825  
##   as_factor(nr)3580    as_factor(nr)3581    as_factor(nr)3589  
##           0.0787277           -0.2308375           -0.4741645  
##   as_factor(nr)3591    as_factor(nr)3598    as_factor(nr)3602  
##           0.1519407            0.4057427            0.6102853  
##   as_factor(nr)3607    as_factor(nr)3621    as_factor(nr)3628  
##          -1.0411348            0.1111698            0.5311493  
##   as_factor(nr)3653    as_factor(nr)3706    as_factor(nr)3707  
##           0.4608529            0.2360062           -0.5906132  
##   as_factor(nr)3708    as_factor(nr)3743    as_factor(nr)3777  
##           0.2191805            0.1389024            0.4747418  
##   as_factor(nr)3831    as_factor(nr)3844    as_factor(nr)3847  
##          -0.1015208            0.0416051            0.7525291  
##   as_factor(nr)3848    as_factor(nr)3882    as_factor(nr)3937  
##           0.4888822           -0.7672207           -0.0710730  
##   as_factor(nr)4000    as_factor(nr)4004    as_factor(nr)4025  
##           0.2527725            0.6296114           -0.2607890  
##   as_factor(nr)4032    as_factor(nr)4046    as_factor(nr)4088  
##          -0.3283376            0.0409790            0.8845383  
##   as_factor(nr)4091    as_factor(nr)4122    as_factor(nr)4127  
##           1.0121476            0.4747729           -0.0337868  
##   as_factor(nr)4128    as_factor(nr)4159    as_factor(nr)4204  
##          -0.4703832            0.4559191           -0.0946723  
##   as_factor(nr)4229    as_factor(nr)4258    as_factor(nr)4261  
##           0.0579366            0.5815351            0.4183856  
##   as_factor(nr)4264    as_factor(nr)4278    as_factor(nr)4297  
##          -0.2256458            0.3754312            0.4935033  
##   as_factor(nr)4302    as_factor(nr)4321    as_factor(nr)4328  
##          -0.3179859            0.1724987            0.0384778  
##   as_factor(nr)4332    as_factor(nr)4335    as_factor(nr)4357  
##          -0.9461914            0.1431209            0.3664675  
##   as_factor(nr)4365    as_factor(nr)4380    as_factor(nr)4394  
##          -0.9217202            0.3694399            0.4465017  
##   as_factor(nr)4510    as_factor(nr)4559    as_factor(nr)4563  
##           0.0640553           -0.0683127           -0.4918190  
##   as_factor(nr)4569    as_factor(nr)4603    as_factor(nr)4607  
##           0.6114778            0.4868630           -0.4827456  
##   as_factor(nr)4633    as_factor(nr)4676    as_factor(nr)4701  
##           0.1175835           -0.5715178            0.3091466  
##   as_factor(nr)4716    as_factor(nr)4720    as_factor(nr)4759  
##          -0.3159763            0.7021370            0.1199122  
##   as_factor(nr)4791    as_factor(nr)4811    as_factor(nr)4828  
##           0.2497200           -0.6078364           -0.0345333  
##   as_factor(nr)4857    as_factor(nr)4858    as_factor(nr)4859  
##          -0.4686019            0.2787164           -0.2965494  
##   as_factor(nr)4866    as_factor(nr)4881    as_factor(nr)4884  
##           0.2704070           -0.0484928            0.1306036  
##   as_factor(nr)4888    as_factor(nr)4901    as_factor(nr)4917  
##          -0.0729494           -0.4033223           -0.3886961  
##   as_factor(nr)4926    as_factor(nr)4982    as_factor(nr)5017  
##           0.0838707           -0.3130062            0.6689182  
##   as_factor(nr)5033    as_factor(nr)5048    as_factor(nr)5122  
##           0.7467193           -0.4758237            0.1132699  
##   as_factor(nr)5141    as_factor(nr)5147    as_factor(nr)5158  
##           0.5984766            0.6499833            0.3148903  
##   as_factor(nr)5221    as_factor(nr)5223    as_factor(nr)5227  
##           0.0061269            0.3485008            0.1359778  
##   as_factor(nr)5248    as_factor(nr)5252    as_factor(nr)5263  
##          -0.0064682           -0.3008864            0.2013024  
##   as_factor(nr)5274    as_factor(nr)5335    as_factor(nr)5345  
##           0.6845062            0.2477231           -0.2279034  
##   as_factor(nr)5359    as_factor(nr)5368    as_factor(nr)5377  
##          -0.6833245           -0.3685628            0.1730136  
##   as_factor(nr)5390    as_factor(nr)5419    as_factor(nr)5435  
##           0.0543443           -0.6859831           -0.2344141  
##   as_factor(nr)5437    as_factor(nr)5497    as_factor(nr)5525  
##           0.0170750            0.0234595           -0.1783761  
##   as_factor(nr)5529    as_factor(nr)5531    as_factor(nr)5579  
##           0.0172448            0.1457726           -0.0699605  
##   as_factor(nr)5588    as_factor(nr)5599    as_factor(nr)5650  
##           0.2630069            0.3407023           -0.1208191  
##   as_factor(nr)5660    as_factor(nr)5665    as_factor(nr)5666  
##           0.4535081            0.0107198            0.1969140  
##   as_factor(nr)5698    as_factor(nr)5699    as_factor(nr)5731  
##           0.1984593            0.4502924           -0.2856565  
##   as_factor(nr)5750    as_factor(nr)5755    as_factor(nr)5772  
##          -0.1740283           -0.1905782           -0.8609714  
##   as_factor(nr)5816    as_factor(nr)5823    as_factor(nr)5851  
##          -0.0187679           -0.3477545           -0.9044465  
##   as_factor(nr)5857    as_factor(nr)5859    as_factor(nr)6016  
##          -0.0862892            0.3791638            0.4305080  
##   as_factor(nr)6020    as_factor(nr)6025    as_factor(nr)6056  
##          -0.9549249           -0.7689466           -0.4011752  
##   as_factor(nr)6094    as_factor(nr)6186    as_factor(nr)6395  
##           0.2459698            0.1857773            0.1365430  
##   as_factor(nr)6430    as_factor(nr)6446    as_factor(nr)6463  
##          -0.2188987            0.0968964           -0.2284774  
##   as_factor(nr)6558    as_factor(nr)6559    as_factor(nr)6561  
##           0.5599927            0.0003910            0.5342971  
##   as_factor(nr)6574    as_factor(nr)6648    as_factor(nr)6813  
##          -0.2562681            0.6453238           -0.0793298  
##   as_factor(nr)6824    as_factor(nr)6888    as_factor(nr)6942  
##          -0.1461823           -0.5690177            0.0183179  
##   as_factor(nr)6954    as_factor(nr)6955    as_factor(nr)6964  
##           0.5417778            0.4500903           -0.0043564  
##   as_factor(nr)6987    as_factor(nr)7025    as_factor(nr)7043  
##           1.2720637            0.3481714            0.1488308  
##   as_factor(nr)7060    as_factor(nr)7087    as_factor(nr)7238  
##           0.2119258           -0.5611468           -0.0607624  
##   as_factor(nr)7279    as_factor(nr)7342    as_factor(nr)7343  
##          -0.1919030           -0.0237805           -0.0089601  
##   as_factor(nr)7411    as_factor(nr)7424    as_factor(nr)7429  
##          -0.3824880           -0.0101679            0.0906558  
##   as_factor(nr)7454    as_factor(nr)7472    as_factor(nr)7474  
##           0.1976527           -0.0748980           -0.0093243  
##   as_factor(nr)7509    as_factor(nr)7539    as_factor(nr)7769  
##           0.0067496           -0.3042770            0.3479501  
##   as_factor(nr)7783    as_factor(nr)7784    as_factor(nr)7801  
##          -0.0634716            1.3091200           -0.4832790  
##   as_factor(nr)7824    as_factor(nr)7874    as_factor(nr)7887  
##           0.1444155            0.7831218            0.0800170  
##   as_factor(nr)7923    as_factor(nr)7926    as_factor(nr)8021  
##           0.7046102            0.2593901            0.2063953  
##   as_factor(nr)8087    as_factor(nr)8089    as_factor(nr)8090  
##           0.6271278            0.2188360            0.1581329  
##   as_factor(nr)8096    as_factor(nr)8106    as_factor(nr)8107  
##           0.1673140            0.0974152           -0.1696652  
##   as_factor(nr)8142    as_factor(nr)8168    as_factor(nr)8173  
##          -0.0643015            0.2804680            0.0359172  
##   as_factor(nr)8203    as_factor(nr)8211    as_factor(nr)8224  
##           0.7694466           -0.3648051            0.5093971  
##   as_factor(nr)8272    as_factor(nr)8300    as_factor(nr)8304  
##           0.5386226            0.0924080            0.2796535  
##   as_factor(nr)8364    as_factor(nr)8370    as_factor(nr)8381  
##           0.2509439            0.5182665           -0.3088516  
##   as_factor(nr)8388    as_factor(nr)8406    as_factor(nr)8415  
##           0.0164486           -0.0082910           -0.4285644  
##   as_factor(nr)8496    as_factor(nr)8501    as_factor(nr)8518  
##          -0.3625736           -0.5540992            0.6107016  
##   as_factor(nr)8520    as_factor(nr)8524    as_factor(nr)8548  
##          -0.4697766           -0.0468748           -0.2537187  
##   as_factor(nr)8556    as_factor(nr)8564    as_factor(nr)8581  
##           0.2608849           -0.2831687           -0.3909871  
##   as_factor(nr)8586    as_factor(nr)8587    as_factor(nr)8597  
##          -0.5064964           -0.5115870           -0.0733811  
##   as_factor(nr)8656    as_factor(nr)8722    as_factor(nr)8743  
##          -0.0526669            0.2179461            0.3876560  
##   as_factor(nr)8749    as_factor(nr)8758    as_factor(nr)8796  
##           0.0933591           -0.0441302            0.2133917  
##   as_factor(nr)8838    as_factor(nr)8842    as_factor(nr)8846  
##           0.0575352           -0.3392368           -0.2420697  
##   as_factor(nr)8860    as_factor(nr)8862    as_factor(nr)8880  
##          -0.2235111           -0.0359877            0.7517817  
##   as_factor(nr)8886    as_factor(nr)8903    as_factor(nr)8908  
##           0.0580455           -0.7769109           -0.1923077  
##   as_factor(nr)8911    as_factor(nr)8917    as_factor(nr)8991  
##          -0.4266092            0.2885122            0.4478844  
##   as_factor(nr)8997    as_factor(nr)9014    as_factor(nr)9015  
##           0.4059819            0.1657148           -0.0351953  
##   as_factor(nr)9027    as_factor(nr)9066    as_factor(nr)9082  
##           0.4343381           -0.8601727           -0.4743540  
##   as_factor(nr)9131    as_factor(nr)9132    as_factor(nr)9154  
##          -0.2932697           -0.0933988            0.8779975  
##   as_factor(nr)9158    as_factor(nr)9184    as_factor(nr)9230  
##          -0.1045911           -0.1610132           -0.4958800  
##   as_factor(nr)9265    as_factor(nr)9367    as_factor(nr)9390  
##          -0.1977154           -0.4128657           -0.4844774  
##   as_factor(nr)9391    as_factor(nr)9418    as_factor(nr)9424  
##          -0.0299420            0.7904038            0.4243795  
##   as_factor(nr)9447    as_factor(nr)9449    as_factor(nr)9453  
##          -0.3077446           -0.1947209            0.4245348  
##   as_factor(nr)9468    as_factor(nr)9502    as_factor(nr)9505  
##          -0.0323229            0.5159878           -0.3885785  
##   as_factor(nr)9603    as_factor(nr)9643    as_factor(nr)9667  
##          -0.2619756            0.2020463            0.3369007  
##   as_factor(nr)9683    as_factor(nr)9694    as_factor(nr)9710  
##          -0.3717678            0.4631701            0.1230740  
##   as_factor(nr)9718    as_factor(nr)9725    as_factor(nr)9744  
##           0.2802833           -0.0752875            0.3284672  
##   as_factor(nr)9752    as_factor(nr)9776    as_factor(nr)9786  
##           0.7241654            0.6713395            0.2011286  
##   as_factor(nr)9791    as_factor(nr)9794    as_factor(nr)9810  
##          -0.5056260            0.1197105           -0.3605671  
##   as_factor(nr)9846    as_factor(nr)9859    as_factor(nr)9868  
##           0.7610772           -0.0458501           -0.2164203  
##   as_factor(nr)9876    as_factor(nr)9883    as_factor(nr)9889  
##           0.3713277           -0.1840586            0.4380360  
##   as_factor(nr)9901    as_factor(nr)9936    as_factor(nr)9964  
##           0.2413978            0.0352408           -0.2767415  
##  as_factor(nr)10043   as_factor(nr)10067   as_factor(nr)10091  
##          -0.7534264            0.1029372            0.3028379  
##  as_factor(nr)10120   as_factor(nr)10121   as_factor(nr)10167  
##          -1.3373992           -0.0363318           -0.0088156  
##  as_factor(nr)10209   as_factor(nr)10230   as_factor(nr)10265  
##          -0.3294991            0.2384233            0.5701620  
##  as_factor(nr)10274   as_factor(nr)10311   as_factor(nr)10392  
##          -0.2657193            0.2424737           -0.6170507  
##  as_factor(nr)10425   as_factor(nr)10441   as_factor(nr)10457  
##           0.7000110           -0.0350489           -0.2657116  
##  as_factor(nr)10469   as_factor(nr)10524   as_factor(nr)10552  
##           0.3475650           -0.3469673           -0.3800088  
##  as_factor(nr)10553   as_factor(nr)10570   as_factor(nr)10593  
##           0.0645696           -1.7692078           -0.2509685  
##  as_factor(nr)10666   as_factor(nr)11275   as_factor(nr)11328  
##          -0.4183513           -0.2120244           -0.0550100  
##  as_factor(nr)11750   as_factor(nr)11821   as_factor(nr)11857  
##          -0.0403358            0.2613495            0.5374261  
##  as_factor(nr)11887   as_factor(nr)11890   as_factor(nr)11892  
##           0.3225502            0.1174285            0.6613401  
##  as_factor(nr)11924   as_factor(nr)11925   as_factor(nr)11957  
##           0.0799755           -0.0187697           -0.8699528  
##  as_factor(nr)11973   as_factor(nr)11990   as_factor(nr)12012  
##           0.2197511            0.5290434           -0.1820652  
##  as_factor(nr)12013   as_factor(nr)12045   as_factor(nr)12055  
##           0.1499400           -0.2690730            0.2934351  
##  as_factor(nr)12084   as_factor(nr)12088   as_factor(nr)12122  
##          -0.5128255           -0.4764069           -0.4007184  
##  as_factor(nr)12179   as_factor(nr)12182   as_factor(nr)12220  
##          -0.1753613            0.1061416            0.3412228  
##  as_factor(nr)12221   as_factor(nr)12245   as_factor(nr)12276  
##          -0.9974771           -0.5254311            0.1087125  
##  as_factor(nr)12385   as_factor(nr)12410   as_factor(nr)12420  
##           0.3013288           -0.6276005            0.1479143  
##  as_factor(nr)12433   as_factor(nr)12451   as_factor(nr)12477  
##           0.2379909            0.1411634            0.6686839  
##  as_factor(nr)12500   as_factor(nr)12534   as_factor(nr)12548  
##          -0.3389846            0.6202036           -0.3341063  
## as_factor(year)1981  as_factor(year)1982  
##           0.1196069            0.1775399

That’s a lot of output! As you can see, R reports a coefficient estimate for every dummy variable. You’ll probably want to filter the results to the variables that you care about, and I’ll do that below.

In terms of computing standard errors, we almost always cluster standard errors at the individual level. Remember, the assumption was that there is some unobservable component unique to each person that determines wage. If that assumption is true, then residuals will necessarily be correlated within individuals, so we must compute standard errors that are robust to this clustered correlation.

We do that in R using the vcovCL function from sandwich:

library(sandwich)
V <- vcovCL(model, ~nr)

Now we can report our coefficients using coeftest as we have done in the past. I’ll use the broom package to filter out all the fixed effect estimates.

library(broom)
library(lmtest)

coeftest(model, V) %>%
    tidy() %>%
    filter(term == "union")
## # A tibble: 1 × 5
##   term  estimate std.error statistic p.value
##   <chr>    <dbl>     <dbl>     <dbl>   <dbl>
## 1 union    0.118    0.0492      2.40  0.0164

Using someone else’s code

There’s two main libraries that you will probably use for panel data: plm and fixest. The former has been around longer and is endorsed by the Intro to Econometrics with R authors. The latter has been endorsed by… me, and there are other people that I know are switching to fixest. I’ll refer you to Section 10.3 of Intro to Metrics with R if you’re interested in plm and talk about fixest here.

The thing that I like about fixest is its sensible treatment of standard errors and its functions for exporting regression tables. In order to fit a fixed effect model, you just need to use a vertical bar in your formula:

library(fixest)
(model <- feols(lwage ~ union | nr + year, data = data))
## OLS estimation, Dep. Var.: lwage
## Observations: 1,635 
## Fixed-effects: nr: 545,  year: 3
## Standard-errors: Clustered (nr) 
##       Estimate Std. Error t value  Pr(>|t|)    
## union 0.118113   0.040125 2.94364 0.0033823 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## RMSE: 0.305418     Adj. R2: 0.507916
##                  Within R2: 0.009123

Two things that are nice: It doesn’t print all of the fixed effect values like in lm. You can get them by running fixef(model), but it’s not printed in regression output by default.

Also, you can see that it clusters standard errors at the level of the first fixed effect by default. That is the correct default to use, and you can use other type of standard errors if you like. There is extensive documentation on the author’s website talking about standard errors, which is an exception for software packages.

The export features are the last thing that I like about fixest. You’ll care a lot more about this when you’re writing papers, but it’s nice to just have one function that has good defaults (it looks good in LaTeX).

setFixest_dict(
    lwage = "log(wage)",
    nr = "Individual",
    year = "Year",
    union = "In union (0 or 1)"
)
etable(model)
##                               model
## Dependent Var.:           log(wage)
##                                    
## In union (0 or 1) 0.1181** (0.0401)
## Fixed-Effects:    -----------------
## Individual                      Yes
## Year                            Yes
## _________________ _________________
## S.E.: Clustered      by: Individual
## Observations                  1,635
## R2                          0.67265
## Within R2                   0.00912
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Conclusion

As you go on, there will be more things that you could do yourself, but maybe it’s easier to learn to use a package that already does it. It’s a fixed cost to learn, and a constraint that you can only do what the package has implemented. That’s not to discourage you from using extra packages, but rather encouragement to take on the challenge and do it yourself sometimes. You learn more that way.


Happy Coding!