全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2237 5
2012-08-10
如图,我想生成一个虚拟变量。只要year1,month1,day1超过year,month,day在半年以内就生成一个虚拟变量1.比如year,month是08年1月,只要year1,month1在08年7月之前那么对应生成一个虚拟变量;一个月内,day1大于day就行了。但是如果是超过了半年或者比year,month小则为0.我现在遇到最大的问题是:跨年的时候不知道怎么样处理? 1.png 附件无法上传dta,我改了名字上传的。
1.dta改名.txt
大小:(57.75 KB)

 马上下载


谢谢,期待高手的支招!
二维码

扫码加我 拉你入群

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

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

全部回复
2012-8-10 11:46:08
好像图片不是很清楚,第一行变量名分别是:year,month,day,stkcd,JC,year1,month1,day1
二维码

扫码加我 拉你入群

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

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

2012-8-10 12:55:29
把时间转换成按月计算的。然后两个时间相减,如果大于6,令虚拟变量等于1;如果等于6,再比较day1和day,符合条件的等于1;让剩下的都等于0就行了。

如果你对半年的要求不是很严格(比如183天),可以将两个时期都转换成按天计算的时间,连个日期相减大于等于183即可。
二维码

扫码加我 拉你入群

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

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

2012-8-10 12:58:01
老树皮 发表于 2012-8-10 12:55
把时间转换成按月计算的。然后两个时间相减,如果大于6,令虚拟变量等于1;如果等于6,再比较day1和day,符 ...
谢谢,能提示下把时间转换成月或者日的stata命令么?
二维码

扫码加我 拉你入群

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

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

2012-8-10 13:03:26
1身1世 发表于 2012-8-10 12:58
谢谢,能提示下把时间转换成月或者日的stata命令么?
使用date() 和  monthly()这两个日期 function。

使用前先要对数据做一些转换。
二维码

扫码加我 拉你入群

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

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

2012-8-10 13:15:10
老树皮 发表于 2012-8-10 13:03
使用date() 和  monthly()这两个日期 function。

使用前先要对数据做一些转换。
好的,想起来了。谢谢啦!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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