数据是1978年-2013年(year)中国各省(id),想求按id分组的每隔3年的均值:
比如:id year var001 var001_mean
1 1978 1
1 1979 2
1 1980 3 (1+2+3)/3
1 1981 4
1 1982 5
1 1983 6 (4+5+6)/3
1 1984 7
1 1985 8
1 1986 9 (7+8+9)/3
在stata中怎么实现呢?求大神帮忙
2017/03/17 10:01
建议你用以下命令试试
gen v=year-1977 //按年生成一个计算变量
gen v1=int(v/3.01) //生成一个分类变量,每隔3年分一类
bysort v1: egen var001_mean= mean(var001) if id==1 //求id为1的每3年均值
对不同的id,重复最后一行即可。
可以解决的,但是我有32个样本,求一个变量的3年平均就得写32行,要是求多个变量的3年平均,就得写很多行的代码
可以把最后一行放入一forvalue循环里面,把i从1到面32跑一遍即可。