全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
3194 3
2014-10-02
初学stata,遇到一个问题,具体数据参见下面的表格。第一列是员工姓名,第二列是奖金的时间,第三列是奖金数额。
现在要计算每个员工每一年的总奖金,也就是表中的第四列。
举例:对于alice,1995年的总奖金是上下半年奖金的和,也就是1+3=4.
同样对于alice,1996年的总奖金也是上下半年的和,也就是5+2=7.
想问一下,如果要实现上面的结果,该如何编写程序啊?


姓名

季度

奖金

总奖金

alice

1995年上半年

1


alice

1995年下半年

3

4

alice

1996年上半年

5


alice

1996年下半年

2

7

david

1995年上半年

8


david

1995年下半年

3

11

david

1996年上半年

6


david

1996年下半年

8

14

tom

1995年上半年

3


tom

1995年下半年

10

13

tom

1996年上半年

5


tom

1996年下半年

12

17



问题补充:如果是要算任何两个季度的奖金/奖金的标准差,应该怎么计算呢?是不是要用rolling或者move来计算呢?希望高手能提供一个程序.
表中,4=3+1; 8=5+3; 7=2+5

姓名

季度

奖金

两个季度的奖金

alice

1

1

alice

2

3

4

alice

3

5

8

alice

4

2

7

david

1

8

david

2

3

11

david

3

6

9

david

4

8

14

tom

1

3

tom

2

10

13

tom

3

5

15

tom

4

12

17




二维码

扫码加我 拉你入群

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

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

全部回复
2014-10-2 23:35:17
其实用egen语句就可以,将第二列变成【1995,1995,1996,1996,1995,1995,1996,1996,1995,1995,1996,1996】的列向量,然后  bysort name quarter :egen totalbonus=sum(bonus)就行了。bonus就是奖金那一列,。bonus就是奖金那一列。
二维码

扫码加我 拉你入群

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

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

2014-10-3 00:24:55
盖世xiong 发表于 2014-10-2 23:35
其实用egen语句就可以,将第二列变成【1995,1995,1996,1996,1995,1995,1996,1996,1995,1995,1996,1996 ...
是可以的,非常感谢。
还有一个问题,如下表,如果是要算任何两个连续季度的总奖金,应该怎么算呢?是不是用rolling或者move啊?具体应该怎么写程序呢?
如下面,第三列的数据是第二列的连续两个数据的和。比如,4=3+1;8=5+3;7=2+5

谢谢啦

姓名        季度        奖金        两个季度的奖金
alice        1        1       
alice        2        3        4
alice        3        5        8
alice        4        2        7
david        1        8       
david        2        3        11
david        3        6        9
david        4        8        14
tom        1        3       
tom        2        10        13
tom        3        5        15
tom        4        12        17
二维码

扫码加我 拉你入群

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

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

2014-10-4 15:31:16
自己顶,有没有大牛可以解答一下啊?
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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