cd $temp
forval j =2000(10)2010{
use area_educ`j'.dta, clear
gen id = _n
expand 10 //expand n: 将原始数据复制n-1份,即n倍的原始数据量
bys id : gen year1 = `j'- 1 + _n //既然此处的"_n"在"bys id"手下,那么也受它限制,"_n"指的是在同一个id下的第几行。
drop year id
rename year1 year
replace educ=. if year!=`j'
save "area_educ_`j'expand.dta",replace
}
以下是不用“gen id = _n”的简写方式:
cd $temp
forval j =2000(10)2010{
use area_educ`j'.dta, clear
expand 10 //expand n: 将原始数据复制n-1份,即n倍的原始数据量
bys area : gen year1 = `j'- 1 + _n //既然此处的"_n"在"bys id"手下,那么也受它限制,"_n"指的是在同一个id下的第几行。
drop year
rename year1 year
replace educ=. if year!=`j'
save "area_educ_`j'expand.dta",replace
}