全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2619 7
2017-07-27
悬赏 20 个论坛币 已解决
stata非平衡面板数据怎样计算某一变量随时间的累积值,生成一个新变量。例如:


javascript:;
微信截图_20170727225444.png

原图尺寸 32.84 KB

微信截图_20170727225444.png

最佳答案

黃河泉 查看完整内容

可以的,请将 id(year) 分开:
二维码

扫码加我 拉你入群

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

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

全部回复
2017-7-27 22:59:09
sunkege 发表于 2017-7-28 10:15
bysort那个也不可以,出来

. bysort id(year): gen v_acc = sum(volume)
可以的,请将 id(year) 分开:
复制代码
二维码

扫码加我 拉你入群

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

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

2017-7-28 08:32:45
建議用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。
复制代码
二维码

扫码加我 拉你入群

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

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

2017-7-28 08:37:03
请试试
复制代码
二维码

扫码加我 拉你入群

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

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

2017-7-28 10:15:40
黃河泉 发表于 2017-7-28 08:37
请试试
复制代码
bysort那个也不可以,出来

. bysort id(year): gen v_acc = sum(volume)
factor variables and time-series operators not allowed
r(101);

二维码

扫码加我 拉你入群

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

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

2017-7-28 10:50:22
黃河泉 发表于 2017-7-28 08:37
请试试
可以用简单的方法:先把volume为0的年份也补上,然后再
xtset id year
gen v_acc = .
replace v_acc = volume if year == 2008
replace v_acc = volume + volume[_n-1] if year == 2009
replace v_acc = volume + volume[_n-1] + volume[_n-2] if year == 2010
replace v_acc = volume + volume[_n-1] + volume[_n-2] + volume[_n-3] if year == 2011
但是如果年份比较多,一句一句写太麻烦,怎样用循环语句做到呢?
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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