楼主: 1身1世
2259 5

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

版主

已卖:4018份资源

讲师

99%

还不是VIP/贵宾

-

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

楼主
1身1世 在职认证  发表于 2012-8-10 11:44:25 |AI写论文

+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
拉您入交流群
GMT+8, 2025-12-5 22:52