最近看陈老师2001年在《上海统计》上发表的《基尼系数的测算与分解》一文,发现在stata12上 使用文章提供的分项收入分解程序运行出错。
命令行如下:
#delimit;
use "D:\test\stata\sour2001.dta",clear;
egen ttax=sum(tax);
gen mi=tax/gdp;
sort mi;
egen tgdp=sum(gdp);
gen pi=gdp/tgdp;
save temp,replace;
program drop _all;
program define gini;
egen zsr=sum($sr);
gen u$sr=zsr/tgdp;
gen wi=$sr/zsr
gen w$sr = zsr/ttax;
gen qi=sum(wi);
egen gini1=pi*(2*qi-wi);
egen gini2=sum(gini1);
gen C$sr=1-gini2;
gen C$srw$sr=C$sr*w$sr;
drop zsr wi qi gini1 gini2;
save temp,replace;
end;
use temp,clear;
global sr"zy";
gini;
global sr"sd";
gini;
global sr"lz";
gini;
global sr"ziy";
gini;
global sr"xw";
gini;
gen G=CzyWzy+CsdWsd+ClzWlz+CziyWziy+CxwWxw;
gen shGzy=CzyWzy/G;
gen shGsd=CsdWsd/G;
gen shGlz=ClzWlz/G;
gen shGziy=CziyWziy/G;
gen shGxw=CxwWxw/G;
list u* W* sh* in 1;
运行时提示:invalid 'gen' ,指的是“gen w$sr = zsr/ttax;”这一句。求教高手原因,谢谢