sungmoo提供的程序如下,希望对大家有帮助,但是我的数据有超过50K,按照原命令,得执行超过50k次。
use sheet1,clear
keep in 1/382
*替换缺失值
sort id year month
loc n=_N
forv i=1/`n'{
egen n=count(mv)
if n==_N {
continue,break
}
by id: replace mv=mv[_n+1] if mv==.&mv[_n+1]<.
drop n
}
drop n group
*确定组号
append using sheet2
sort mv group year
g x=(group[_n]+1==group[_n+1]&group<.)
replace group=sum(x)-x+1
drop x
drop if id==.
sort id year month
*调整一下:只对sheet1中1981年各公司的mv按sheet2标记group号。不知是否符合想法?
use sheet1,clear
keep in 1/382
*替换缺失值
sort id year month
loc n=_N
forv i=1/`n'{
egen n=count(mv)
if n==_N {
continue,break
}
by id: replace mv=mv[_n+1] if mv==.&mv[_n+1]<.
drop n
}
drop n
ren group gr
*确定组号
append using sheet2
sort year mv id month group
g x=(group[_n]+1==group[_n+1]&group<.) if year==1981
replace gr=sum(x)-x+1 if year==1981
drop x group
drop if id==.
ren gr group
sort id year month