楼主: 1身1世
2035 5

[其他] 求助,怎么样根据时间差生成虚拟变量?题目说不清,见图和附件。 [推广有奖]

版主

讲师

98%

还不是VIP/贵宾

-

威望
0
论坛币
-48924 个
通用积分
157.3962
学术水平
31 点
热心指数
30 点
信用等级
29 点
经验
43229 点
帖子
396
精华
0
在线时间
783 小时
注册时间
2011-11-30
最后登录
2024-2-19

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如图,我想生成一个虚拟变量。只要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)
谢谢,期待高手的支招!
二维码

扫码加我 拉你入群

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

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

关键词:虚拟变量 怎么样 时间差 month mont 时间差 最大的

沙发
1身1世 在职认证  发表于 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即可。

使用道具

板凳
1身1世 在职认证  发表于 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。

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

使用道具

地板
1身1世 在职认证  发表于 2012-8-10 13:15:10 |只看作者 |坛友微信交流群
老树皮 发表于 2012-8-10 13:03
使用date() 和  monthly()这两个日期 function。

使用前先要对数据做一些转换。
好的,想起来了。谢谢啦!
愿你出走半生,归来仍是少年!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-11 16:03