raiderqi 发表于 2015-8-27 22:52 
用by这个命令分组生成新变量,
bysort group: gen growth=cond(_n==1,1,(x[_n]-x[_n-1])/x[_n-1])
至于你 ...
bysort group: gen growth=cond(_n==1,1,(x[_n]-x[_n-1])/x[_n-1])
这里有点问题,不好意思问题没表述清楚,生成的值应该是1-(x组内最大值-x[_n-1])/x组内最大值),应该怎么写呢?
后来写出来了,多加了一步:
bysort year: egen maxtotal=max(total)
   bysort year: gen pctotal=cond(total>=maxtotal,1,1-(maxtotal-total)/maxtotal)
谢谢前辈提的建议,但是怎么识别进步大的变量还是一个问题,跪求各位大神帮忙!