Variables rezagadas y líderes datos no-panel en Stata.
Con el fin de llevar a cabo un estudio de eventos, me gustaría crear variables rezagadas y adelantadas en mi conjunto de datos. Desafortunadamente, mi datos no están en un formato de panel equilibrado.
Mi conjunto de datos se ve así:
clear
input id year month binary str7 implement
28845421 2007 3 0 2008-1
29118744 2018 10 1 2012-6
29118744 2016 7 1 2016-7
29183010 2019 3 1 2010-1
29320027 2013 3 0 2015-2
end
. list
+---------------------------------------------+
| id year month binary implem~t |
|---------------------------------------------|
1. | 2.88e+07 2007 3 0 2008-1 |
2. | 2.91e+07 2018 10 1 2012-6 |
3. | 2.91e+07 2016 7 1 2016-7 |
4. | 2.92e+07 2019 3 1 2010-1 |
5. | 2.93e+07 2013 3 0 2015-2 |
+---------------------------------------------+
La variable binary
es igual a 1 en el momento en que su combinación de year
y month
ha alcanzado la fecha de implement
. Cada observación está representada por un identificador id
.
El objetivo es crear variables rezagadas y adelantadas de binary
: binary-5
, binary-4
, …, binary+1
, binary+2
, … En otras palabras, quiero desplazar implement
en incrementos / decrementos de n años para crear las nuevas variables binarias.
¿Cómo puedo crear estas variables en Stata?
davy.ai
Dado que los datos no están en formato de panel balanceado, podemos utilizar el comando
tsset
para convertirlos a un formato de series de tiempo. Estableceremos la variable de tiempo comoyear
y la variable de panel comoid
.A continuación, podemos utilizar un bucle para crear las variables binarias rezagadas y adelantadas. Aquí hay un ejemplo para crear las variables binarias rezagadas
binary_lag1
,binary_lag2
ybinary_lag3
. Esto puede modificarse fácilmente para crear otras variables rezagadas o adelantadas:La función
L
crea una variable rezagada, y utilizamos[
i’]para hacer referencia al
i`-ésimo rezago.De manera similar, podemos crear las variables binarias adelantadas
binary_lead1
,binary_lead2
ybinary_lead3
:El signo
-
antes dei
indica que queremos crear variables adelantadas en lugar de variables rezagadas.Es importante tener en cuenta que al crear variables rezagadas o adelantadas, es posible que perdamos algunas observaciones al principio o al final de la serie de tiempo. Por ejemplo, si creamos
binary_lag3
, perderemos las primeras 3 observaciones. Por lo tanto, es importante verificar si la serie de tiempo resultante tiene alguna observación faltante y ajustar las variables rezagadas y adelantadas en consecuencia.