Hello, I am having some trouble writing a loop and would greatly appreciate any help.
I would like to create a loop where g takes the values from yexp2: 2014, 2015, 2016, 2017, 2019, 3000. And t is a year indicator where 2008<=t<=2019.
*****
For each pair of (g, t), I would like to do the following:
sum dins if year == (t-1) & treated==0 & yexp2=g
loc dins0_g_(t-1) = r(mean)
sum dins if year == t & treated==0 & yexp2=g
loc dins_0_g_t = r(mean)
sum dins if year == (t-1) & treated == 1 & yexp2=g
loc dins_1_g_(t-1) = r(mean)
sum dins if year == t & treated == 1 & yexp2=g
loc dins_1_g_t = r(mean)
loc att_g_t = (`dins_1_g_t' - `dins_1_g_(t-1)') - (`dins_0_g_t' - `dins_0_g_(t-1)')
disp "ATT(g, t): `att_g_t'"
******
I have the following but Stata won't produce anything:
local t_start 2008
local t_end 2019
foreach g of local yexp2 {
forval t = `t_start'/`t_end' {
sum dins if year == (`t'-1) & treated == 0 & yexp2 == `g'
loc dins0`g'`t-1' = r(mean)
sum dins if year == `t' & treated == 0 & yexp2 == `g'
loc dins0`g'`t' = r(mean)
sum dins if year == (`t'-1) & treated == 1 & yexp2 == `g'
loc dins1`g'`t-1' = r(mean)
sum dins if year == `t' & treated == 1 & yexp2 == `g'
loc dins1`g'`t' = r(mean)
loc att_g_t = (dins1`g'`t' - dins1`g'`t-1') - (dins0`g'`t' - dins0`g'`t-1')
di "ATT(g, t): `att_g_t'"
}
}
I would like to create a loop where g takes the values from yexp2: 2014, 2015, 2016, 2017, 2019, 3000. And t is a year indicator where 2008<=t<=2019.
*****
For each pair of (g, t), I would like to do the following:
sum dins if year == (t-1) & treated==0 & yexp2=g
loc dins0_g_(t-1) = r(mean)
sum dins if year == t & treated==0 & yexp2=g
loc dins_0_g_t = r(mean)
sum dins if year == (t-1) & treated == 1 & yexp2=g
loc dins_1_g_(t-1) = r(mean)
sum dins if year == t & treated == 1 & yexp2=g
loc dins_1_g_t = r(mean)
loc att_g_t = (`dins_1_g_t' - `dins_1_g_(t-1)') - (`dins_0_g_t' - `dins_0_g_(t-1)')
disp "ATT(g, t): `att_g_t'"
******
I have the following but Stata won't produce anything:
local t_start 2008
local t_end 2019
foreach g of local yexp2 {
forval t = `t_start'/`t_end' {
sum dins if year == (`t'-1) & treated == 0 & yexp2 == `g'
loc dins0`g'`t-1' = r(mean)
sum dins if year == `t' & treated == 0 & yexp2 == `g'
loc dins0`g'`t' = r(mean)
sum dins if year == (`t'-1) & treated == 1 & yexp2 == `g'
loc dins1`g'`t-1' = r(mean)
sum dins if year == `t' & treated == 1 & yexp2 == `g'
loc dins1`g'`t' = r(mean)
loc att_g_t = (dins1`g'`t' - dins1`g'`t-1') - (dins0`g'`t' - dins0`g'`t-1')
di "ATT(g, t): `att_g_t'"
}
}