全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
5382 29
2009-08-08
我有两个文档,一个是panel data,一个是cross sectional data
sheet 1是cross sectional data,有id和event month两个变量,也就是sample的研究起始时间,sheet 2是panel data,有id, year, month, time和cr(收益率)。
我想做个在sheet 2生成一个时间序列变量,从1开始,1对应的是sheet 1对应event month的后一个月
比如当id=6855时,sheet1中event month 是198106,新生成一个变量在sheet2中,当id=6855, event month=198107是,值为1
先在此谢过
附件列表

问题.xlsx

大小:48.73 KB

 马上下载

二维码

扫码加我 拉你入群

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

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

全部回复
2009-8-8 21:43:02
*结合你数据的特点,你试一下(sheet1与sheet2都在默认目录中)
use sheet1,clear
ren eventmonth time
append using sheet2
sort id time year
recode year (.=9999), g(z)
by id time: egen y=max(z)
replace z=(y<9999)
by id: g m=sum(z)
drop y z
keep if year<.
二维码

扫码加我 拉你入群

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

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

2009-8-9 00:26:04
请参见:http://dss.princeton.edu/usingdata/stata/analysis/eventstudy.html。其中有一段程序能满足你的要求。
二维码

扫码加我 拉你入群

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

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

2009-8-9 10:52:57
2# sungmoo
谢谢,问题能解决了
二维码

扫码加我 拉你入群

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

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

2009-8-9 10:55:02
3# voodoo
我看了一下,好像没有发现和我问题一样的程序
还是多谢,你的链接挺实用的
二维码

扫码加我 拉你入群

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

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

2009-8-9 19:58:51
vincent829 发表于 2009-8-9 10:55
3# voodoo
我看了一下,好像没有发现和我问题一样的程序
还是多谢,你的链接挺实用的
你再试试,肯定可行的。

用merge id using sheet1,sheet2将就每一id生成eventmonth变量(来自sheet1),然后用gen deltat = time - eventmonth即可。前提是必须将time和eventmonth转化为Stata认得的%tm格式。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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