stata 面板数据按个体分段求均值

961604573 |浏览17116次
2017/03/05 11:27

数据是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,重复最后一行即可。


追问:2017/03/05 20:58

可以解决的,但是我有32个样本,求一个变量的3年平均就得写32行,要是求多个变量的3年平均,就得写很多行的代码

回答:2017/03/06 20:55

可以把最后一行放入一forvalue循环里面,把i从1到面32跑一遍即可。

statax

其他回答(0)    我来补答
1人关注该问题
+1
 加载中...