全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1822 6
2021-01-31

目标:创建新变量sumx,取值为从某id出现的一年开始的x值的累加,之后年份如果没有x新增值,则新增一行该年份该id数据,sumx顺延上一年的结果,直到最晚年份。

数据截取如下:

clear

input id year x

1 2000 2

1 2001 1

1 2002 6

1 2003 4

2 2002 5

2 2003 2

3 2000 1

3 2001 2

3 2003 4

4 2001 3

4 2003 1

end

例如 id22002年开始出现 ,则id2sumx 2002年为52003年为7,2004无新增x值,则新增一行2004年id2数据,sumx顺延2003年的值7。

id4从2001年出现,则2001id4sum为3 新增2002 ǐd4sum为3 2003为4,新增2004也为4

希望各位老师同学能给予一点帮助。

二维码

扫码加我 拉你入群

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

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

全部回复
2021-2-1 18:57:06
这个是你要的吗?
复制代码
二维码

扫码加我 拉你入群

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

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

2021-3-23 20:36:24
黃河泉 发表于 2021-2-1 18:57
这个是你要的吗?
黄老师你好!很抱歉这么晚才回复。这个代码我用起来最近发现一个问题,就是如果某个id在2003年没有样本的话,tsfill就没办法直接扩到2003年了,后面的也没办法弄了
二维码

扫码加我 拉你入群

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

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

2021-3-23 20:46:42
黃河泉 发表于 2021-2-1 18:57
这个是你要的吗?
或者说,我可以不可以先新增每个id2004年的空白数据,再使用tsfill填充,如果想这忙操作的话用什么指令比较好呢?
二维码

扫码加我 拉你入群

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

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

2021-3-23 21:22:13
黃河泉 发表于 2021-2-1 18:57
这个是你要的吗?
我好像找到方法了。那就不劳烦黄老师了,祝黄老师生活顺心工作顺利!
二维码

扫码加我 拉你入群

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

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

2022-2-12 22:39:14
我用的是平衡的面板数据,只用了黄老师写的这三行代码就已经产生了我想要的累计的新变量,
xtset id year
tsfill
bys id (year): gen sumx = sum(x)
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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