有如下格式数据:
ID Date Var1
AA 1980/01/02
B 1980/01/31
C 1982/02/16
D 1982/03/18
AA 1982/03/21
AA 1982/03/21
B 1982/03/22
AA 1983/06/30
E 1985/11/22
AA 1985/12/31
G 1987/01/01
D 1991/02/27
.
AA 1999/03/16
.
Z 2010/12/31
may not be the best way, try this
*generate year
gen year=year(date(date,"YMD"))
sort id year
by id : gen y=_n
su y
local max=r(max)
gen var1 = .
replace var1 = 0 if y>1
forv i=`max'(-1)2 {
local j1=`i'-1
local j2=max(`i'-5,1)
local jj=0
forv j=`j1'(-1)`j2' {
local jj=`jj'+1
replace var1=var1+1/(year-year[_n-`jj']) if y==`i' & year-year[_n-`jj'] != 0
}
}