全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
16077 10
2015-11-26
各位学友,真诚请教一个关于STATA命令的问题。我的数据结构如下:
firm_id year     value
001     2001    120
002     2000     110
002     2001     100
003     2000     540
004     2001     600
004     2002     300

我想得到每个公司后一年value减去前一年value的值,我使用的命令是:
gen dvalue=value-value[_n-1]

但是,有问题,结果显示不是锁定同一家公司,只是用后面的一个value减去前面一个value,我必须要锁定在同一个公司才行。我想要的结构应该是

firm_id year     value    dvalue
001     2001    120        .
002     2000     110       .
002     2001     100      -10  
003     2000     540       .
004     2001     600       .
004     2002     300       -300

但是我使用的命令无法实现在同一公司名下,或同一组别。
所以想请教各位,出手相救,谢谢!

二维码

扫码加我 拉你入群

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

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

全部回复
2015-11-26 16:35:16
xtset id year
gen value_lag=L.value
gen dvalue=value-L.value
二维码

扫码加我 拉你入群

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

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

2015-11-26 16:37:35
或者直接

xtset id year  (当然如果不是面板,可以直接tsset date,这样的话date是唯一的,意思就是一个code的时间序列;你这里是面板,所以还是xtset)
gen dvalue=D.value
二维码

扫码加我 拉你入群

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

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

2015-11-26 17:02:15
楼上命令好棒
二维码

扫码加我 拉你入群

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

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

2015-11-27 14:28:18
风向我吹 发表于 2015-11-26 16:35
xtset id year
gen value_lag=L.value
gen dvalue=value-L.value
非常感谢你的回复,我用了,非常正确,谢谢!
二维码

扫码加我 拉你入群

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

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

2019-3-11 00:41:31
风向我吹 发表于 2015-11-26 16:37
或者直接

xtset id year  (当然如果不是面板,可以直接tsset date,这样的话date是唯一的,意思就是一个c ...
厉害!!!
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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