I have the following for loop:
Code:
set more off
local recall "dummy_1 dummy_2 dummy_3 dummy_4"
foreach rec of local recall {
local aggr "product firm atc2"
local expl "sales stdunits price"
foreach agg of local aggr {
foreach k of local expl {
use "/Users/federiconutarelli/Dropbox/Federico/store_DB_analyses/DB_`agg'_`rec'_`k'_nomiss.dta", clear
estimates restore `agg'_`rec'_`k' // serve per attivare le regressioni
predict av_t, res
replace av_t = round(av_t, .111)
predict stdres, stdr
predict stdyhat, stdp
predict stdyj, stdf
gen var_avt = stdyj - stdyhat
replace var_avt = stdyhat
su ritiri, meanonly
forval j = 1/`r(max)'{
gen av_t`j' = av_t
gen var_avt`j' = var_avt
}
save "/Users/federiconutarelli/Dropbox/Federico/store_DB_analyses/grafici_e_DB/demeaned_`agg'_`rec'_`k'.dta", replace
merge 1:1 _n using "/Users/federiconutarelli/Dropbox/Federico/store_DB_analyses/DB_`agg'_`rec'_`k'_nomiss.dta"
save "/Users/federiconutarelli/Dropbox/Federico/store_DB_analyses/grafici_e_DB/demeaned_`agg'_`rec'_`k'.dta", replace
local avt
su ritiri, meanonly
forval j = 1/`r(max)'{
local avt `avt' av_t`j' var_avt`j' rescaled`j'
}
if "`agg'"~="product" & "`rec'"~= "dummy_1"{
stack `avt', into(mean_avt var_avt rescaled) clear
}
save "/Users/federiconutarelli/Dropbox/Federico/store_DB_analyses/grafici_e_DB/stacked_mean_`agg'_`rec'_`k'.dta", replace
clear
}
}
}Code:
local avt su ritiri, meanonly
The real problem is actually that stack accepts only earliest and the Database product-dummy_1 has only one av_t.
Is there a way to do so? I was thinking about defining "stack" as a local...
Thank you,
Federico
0 Response to Activate and deactivate commands in a loop
Post a Comment