全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2868 1
2019-08-08
悬赏 10 个论坛币 未解决
现在我有两个数据表格(附在后面):1.只有一行数据,institutionID(机构编码), id(员工编码), pre的时间区间(pre_min到pre_max)和post的时间区间(post_min到post_max)   2.大概有六十万条数据, 包括institutionID, id,报告时间(Rptdt2)。

现在我想在第二个数据里面生成一个标记变量x,让x=1如果观测值的Rptdt2处于pre或post时间区间之内,并且属于同一个InstitutionID,并且不属于同一个id。

本来想自己定义宏来做,我的思路是打开第二个表格,preserve,打开第一个表格 local 四个时间截点和两个id, restore, 让Rptdt2 和两个id 与生成的宏进行比对,生成x。但是写的命令失败了,请教一下大家了!
这是我写的错误代码:
use 2.dta
preserve
use 1.dta
local win1 `r(pre_min)
local win2 `(pre_max)
local win3 `(post_min)
local win4 `(post_max)
local institu InstitutionID
local idd id
restore
gen x=1 if InstitutionID== `institu' & Rptdt2> `win1' & Rptdt2< `win2' & id!=`idd'
replaca x=1 if InstitutionID== `institu' & Rptdt2> `win3' & Rptdt2< `win4'  & id!=`idd'
这里是数据:
复制代码

复制代码




二维码

扫码加我 拉你入群

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

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

全部回复
2019-8-8 17:02:07
解决了,,生成宏的时候加个等号就行了。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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