Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, is already up and running.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: Lagged variables query

From   "Mirnezami, Oliver" <>
To   "" <>
Subject   st: Lagged variables query
Date   Tue, 9 Apr 2013 12:29:52 +0000


I'm investigating the effect of job loss on health in a panel dataset. I have an OLS model with individual fixed effects, year effects and a set of explanatory variables with health as the dependent variable. The main independent variable of interest is a treatment indicator variable that = 1 for the treatment group (individuals that have experienced job loss in the current wave) and = 0 for the control group (individuals that are employed in the current wave). 

My query is regarding the logic for analysing the lagged effect of job loss. 

I've used the following code to generate lags in what I would consider to be the 'normal way' in that everything is just shifted one period:

forvalues i = 1/8 {
qui gen treatlag`i' = .
qui by id: replace treatlag`i' = treat [_n-`i']

The issue is that then the zeros (control groups) are no longer just assigned to the periods in which an individual is necessarily employed and so I am not sure whether it makes any sense to investigate this in this manner? This is exacerbated by the fact that my dataset is an unbalanced panel and since it is a health and retirement survey, there are a relatively large number of periods in which individuals are not in the labour force. I'm concerned that by shifting the zeros in this way, my control group is changing and so includes individuals who are not employed but may be retired for example and so the comparison isn't as 'clean' as the original unlagged treatment effect where I distinguish between employed individuals and those that have reported job loss in the current wave. 

The other idea I had was to essentially keep the control group for the lagged variables the same as for the main unlagged treatment variable (i.e. keep the position of the 0s as they were) and just shift the treatment values (i.e. just move the 1s): 

forvalues i = 1/8 {
qui gen treatlagg`i' = .
qui by id: replace treatlagg`i' = 0 if (treat ==0)
qui by id: replace treatlagg`i' = 1 if (treat[_n-`i']) ==1

I've had limited experience in dealing with lagged variables but have a feeling this is less of a conventional case so any advice on which approach (if any) makes sense would be much appreciated.  

Kind regards


*   For searches and help try:

© Copyright 1996–2016 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index