cap program drop weight_pctl<br>
program weight_pctl , sortpreserve rclass <br>
version 16<br>
syntax varlist(max=1) , weight( varname ) /* <br>
*/ p( numlist integer &gt;0 &lt;100 sort )
tempvar cum_weight stand_weight sum_weight<br>
egen `sum_weight'=total( `weight' ) if `varlist'~=.<br>
gen `stand_weight'=`weight'/`sum_weight' if `varlist'~=.<br>
sort `varlist'<br>
gen `cum_weight'=`stand_weight' if _n==1<br>
replace `cum_weight'=`cum_weight'[_n-1]+/* <br>
*/`stand_weight'[_n] if _n&gt;1<br>
tempname N i<br>
local `N'=_N<br>
local `i'=0<br>
foreach n of numlist `p'{<br>
while `++`i'' &lt;= ``N''{<br>
if `cum_weight'[``i'']&gt;=(`n'/100){<br>
return scalar p `n'=`varlist'[``i'']<br>
continue , break<br>
}<br>
}<br>
}<br>
end
use "F:\计量stata\stata15\cfps2014famecon_201906.dta",clear<br>
weight_pctl fincome1,weight(familysize) p(25 33 50 67 75)<br>
di r(p25 ) "--" r(p33 ) "--" r(p50 ) "--" r(p67 ) "--" r(p75 )<br>
su fincome1[fweight=familysize] , de<br>
错误代码
. weight_pctl fincome1,weight(familysize) p(25 33 50 67 75)<br>
(1245 missing values generated)<br>
(1,245 missing values generated)<br>
(13,945 missing values generated)<br>
(12,700 real changes made)<br>
varlist not allowed出错原因


雷达卡




京公网安备 11010802022788号







