liuxb 发表于 2011-8-31 17:15 
1. invalid syntax 是因为你的数据sid不是数值型变量;
2. 我编的程序是根据每组有250观察,需要循环126次 ...
我把程序改成下面的:
capture drop sd
.
. qui gen sd=.
.
. local nloop=242-121+1
.
.
.
. qui sum sid
.
. local nsid=r(max)
.
.
.
. forvalue k=1(1)`nsid'{
2.
. local istart=(`k'-1)*242+1
3.
. local iend=(`k'-1)*242+`nloop'
4.
.
.
. forvalue i=`istart'(1)`iend' {
5.
. qui sum rpercent if _n>=`i' & _n<=121+(`i'-1)
6.
. qui replace sd=r(sd) if _n==`i'
7.
. }
8.
. }
每组都是242个观测值,sid已经转成了int型,在11.2SE上跑,没显示错误,但是一直运行不出结果。。。。已经快半小时了。 麻烦你再帮我看看吧,必须是250个观测值?不胜感激!!!