wyux 发表于 2019-11-2 09:47 
我把数据加上了,麻烦您看一下!谢谢
use 数据.dta,clear
sort Age
recode Age (0/34=1 "<35") (35/49=2 "35-50") (50/64=3 "50-65") (65/120=4 ">=65") (.=5 "missing"),gen(agegroup)
bys agegroup:egen fina_all=sum(fina)
global varlist "Bond Estate Depo Share Fund Perfin Deriva Metal Exch Cash Borrow Other"
foreach var of global varlist{
gen num_`var'=100 if `var'<.&`var'>0
replace num_`var'=0 if num_`var'!=100
gen ratio_`var'=`var'/fina_all*100
}
preserve
collapse (mean) num_*,by(agegroup)
foreach var of global varlist{
replace num_`var'=round(num_`var',0.01)
}
tostring num_*,replace force
foreach var of global varlist{
replace num_`var'=num_`var'+"%"
}
export excel using summary.xlsx,first(var) sheet("participant",replace) keepcellfmt
restore
preserve
collapse (sum) ratio_*,by(agegroup)
foreach var of global varlist{
replace ratio_`var'=round(ratio_`var',0.01)
}
tostring ratio_*,replace force
foreach var of global varlist{
replace ratio_`var'=ratio_`var'+"%"
}
export excel using summary.xlsx,first(var) sheet("ratio",replace) keepcellfmt
restore
shellout summary.xlsx