what is the code to export stata data into different files with the file name from the label of two variables.
-
Login or Register
- Log in with
local dists WB BR UP MP KR UR
foreach d of local dists {
forvalues p = 1/6 {
local pp: display %02.0f `p'
preserve
keep if dist == "`d'" & psu == "`pp'"
if _N > 0 {
save `d'_`pp', replace
}
restore, preserve
}
}
* Example generated by -dataex-. To install: ssc install dataex clear input int dist byte psu int age byte sex 101 1 25 3 101 1 . . 303 3 45 1 303 3 40 2 303 3 20 2 101 1 70 1 101 1 60 2 204 2 55 1 204 2 40 2 204 2 66 1 705 1 58 1 705 1 45 2 409 9 67 2 409 9 65 1 409 9 43 1 409 9 30 2 409 9 27 1 409 9 19 2 409 9 20 1 409 9 18 2 409 9 2 2 705 4 25 2 705 4 25 1 409 1 42 1 409 1 36 2 409 1 20 1 409 1 15 2 409 1 39 2 409 1 45 1 409 1 25 1 409 1 20 2 409 1 20 1 409 1 32 1 409 1 26 2 409 1 6 1 409 1 2 1 409 1 45 1 409 1 43 2 409 1 22 1 409 1 20 1 409 1 16 1 409 1 63 2 409 1 69 1 409 1 41 1 409 1 39 2 409 1 76 1 409 1 20 1 409 1 17 1 409 1 10 2 409 1 57 1 409 1 52 2 409 1 20 2 409 1 66 1 409 1 63 1 409 1 57 2 409 1 32 1 409 1 18 2 409 1 55 1 409 1 49 2 409 1 25 1 409 1 21 2 409 1 2 2 409 1 57 1 409 1 52 2 409 1 10 2 409 1 76 2 409 1 50 1 409 1 67 1 409 1 65 2 409 1 97 2 409 2 33 2 409 2 37 1 409 2 60 2 409 2 16 1 409 2 14 1 409 2 7 2 409 2 53 1 409 2 50 2 409 2 25 1 409 2 22 2 409 2 80 2 409 2 84 1 409 2 21 1 409 2 48 2 409 2 49 1 409 2 20 1 409 2 14 1 409 2 56 2 409 2 21 2 409 2 82 2 409 2 46 1 409 2 49 2 409 2 27 2 409 2 22 2 409 2 5 1 409 2 31 2 409 2 15 1 409 2 11 1 409 2 7 1 409 2 56 2 end label values dist dist label def dist 101 "WB", modify label def dist 204 "UP", modify label def dist 303 "RS", modify label def dist 409 "SH", modify label def dist 705 "MP", modify label values sex sex label def sex 1 "Male", modify label def sex 2 "Female", modify label def sex 3 "LGBT", modify
capture program drop one_file
program define one_file
local dist = dist[1]
local dist: label (dist) `dist'
local psu = psu[1]
local psu: display %02.0f `psu'
save `dist'_`psu', replace
exit
end
runby one_file, by(dist psu) status
egen group= group(dist psu)
save data, replace
qui sum group
forval i=1/`r(max)'{
use data, clear
levelsof dist if group==`i', local(d)
local d: label (dist) `d'
levelsof psu if group==`i', local(p)
local p: display %02.0f `p'
keep if group==`i'
drop group
save `d'_`p', replace
}
Comment