全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1834 2
2012-03-14
数据如以下格式
V1V2V3
A

2000

5

A

2001

3

A

2002

6

A

2003

2

A

2004

9

B

2001

7

B

2002

8

B

2003

5

我需要用stata实现下面运算,生产一个V4,使得V4的值等于相应的V1中前面所有V3值的平均。比如V4第一个值是5,第二个值是4(5和3的平均值),第三个是4.66(5、3、6的平均值)……
V1V2V3V4
A

2000

5

5

A

2001

3

4

A

2002

6

4.66

A

2003

2

4

A

2004

9

5

B

2001

7

7

B

2002

8

7.5

B

2003

5

6.66

谢谢~


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-3-14 14:38:30
*试一下:
bys v1: g v4=sum(v3)/sum(v3<.)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-3-14 15:25:30
sungmoo 发表于 2012-3-14 14:38
bys v1: g v4=sum(v3)/_n
非常感谢,这个解决方法很好。但是如果V3里面有缺失值,用. 表示的时候,这样做就直接把缺失值看做0了。这样做出来的结果就不对了。还请您看看有没有解决方法?
v1        v2             v3    v4        v5
A        2000                        0
A        2001        3        3        1.5
A        2002        6        4.5        3
A        2003        2        3.66        2.75
A        2004        9        5        4
B        2001        7        7        7
B        2002        8        7.5        7.5
B        2003        5        6.66        6.6666667

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群