楼主: 拂去尘缘
830 8

[数据管理求助] 时间变量设定问题 [推广有奖]

  • 0关注
  • 3粉丝

副教授

65%

还不是VIP/贵宾

-

威望
0
论坛币
8031 个
通用积分
77.9384
学术水平
1 点
热心指数
2 点
信用等级
1 点
经验
14147 点
帖子
387
精华
0
在线时间
1204 小时
注册时间
2016-4-16
最后登录
2024-4-3

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
怎么把时间这样的字符串设置成时间变量,数据如下:

  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float timeid str10 time double time1
  4. 1 "2010.06.17" -1.8934272e+12
  5. 2 "2010.06.18" -1.8934272e+12
  6. 3 "2010.06.20" -1.8934272e+12
  7. 4 "2010.06.21" -1.8934272e+12
  8. 5 "2010.06.22" -1.8934272e+12
  9. 6 "2010.06.23" -1.8934272e+12
  10. 7 "2010.06.24" -1.8934272e+12
  11. 8 "2010.06.25" -1.8934272e+12
  12. 9 "2010.06.27" -1.8934272e+12
  13. 10 "2010.06.28" -1.8934272e+12
  14. end
  15. format %tchh:MM time1

  16. 这是使用dataex展示出来的数据,附件的图片是数据在stata中的情况。
  17. 我是想将两个时间合并在一起之后,再设置成时间变量
  18. 使用egen newtime=concat(time time1)之后新的变量就变成了如下这种情况
  19. [CODE]
  20. * Example generated by -dataex-. To install: ssc install dataex
  21. clear
  22. input float timeid str10 time double time1 str19 newtime
  23. 1 "2010.06.17" -1.8934272e+12 "2010.06.17-1.89e+12"
  24. 2 "2010.06.18" -1.8934272e+12 "2010.06.18-1.89e+12"
  25. 3 "2010.06.20" -1.8934272e+12 "2010.06.20-1.89e+12"
  26. 4 "2010.06.21" -1.8934272e+12 "2010.06.21-1.89e+12"
  27. 5 "2010.06.22" -1.8934272e+12 "2010.06.22-1.89e+12"
  28. 6 "2010.06.23" -1.8934272e+12 "2010.06.23-1.89e+12"
  29. 7 "2010.06.24" -1.8934272e+12 "2010.06.24-1.89e+12"
  30. 8 "2010.06.25" -1.8934272e+12 "2010.06.25-1.89e+12"
  31. 9 "2010.06.27" -1.8934272e+12 "2010.06.27-1.89e+12"
  32. 10 "2010.06.28" -1.8934272e+12 "2010.06.28-1.89e+12"
  33. end
  34. format %tchh:MM time1
复制代码


请问这种情况应该怎么办?

二维码

扫码加我 拉你入群

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

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


1500792531.png (5.48 KB)

1500792531.png

沙发
拂去尘缘 发表于 2017-7-23 15:24:07 |只看作者 |坛友微信交流群
就是首先把图片上的数据合并在一起,设置成格式为:2010.06.17 8:00这样的时间格式,求助,谢谢

使用道具

藤椅
黃河泉 在职认证  发表于 2017-7-23 17:51:50 |只看作者 |坛友微信交流群
拂去尘缘 发表于 2017-7-23 15:24
就是首先把图片上的数据合并在一起,设置成格式为:2010.06.17 8:00这样的时间格式,求助,谢谢
我帮你把问题 post 到美国 Stata 论坛,希望明天会有消息!

使用道具

板凳
蓝色 发表于 2017-7-23 17:59:00 |只看作者 |坛友微信交流群
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float timeid str10 time double time1
  4. 1 "2010.06.17" -1.8934272e+12
  5. 2 "2010.06.18" -1.8934272e+12
  6. 3 "2010.06.20" -1.8934272e+12
  7. 4 "2010.06.21" -1.8934272e+12
  8. 5 "2010.06.22" -1.8934272e+12
  9. 6 "2010.06.23" -1.8934272e+12
  10. 7 "2010.06.24" -1.8934272e+12
  11. 8 "2010.06.25" -1.8934272e+12
  12. 9 "2010.06.27" -1.8934272e+12
  13. 10 "2010.06.28" -1.8934272e+12
  14. end

  15. format %tchh:MM time1
  16. tostring time1,replace u force

  17. gen time0=" "
  18. egen newtime=concat(time time0 time1)
  19. gen double timehour=clock(newtime, "YMD hm")

  20. format timehour %tcDDmonCCYY_HH:MM
  21. list
  22. format timehour %tcCCYY.NN.DD_HH:MM
  23. list
复制代码


已有 1 人评分学术水平 热心指数 信用等级 收起 理由
黃河泉 + 5 + 5 + 5 精彩帖子

总评分: 学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

使用道具

报纸
蓝色 发表于 2017-7-23 17:59:34 |只看作者 |坛友微信交流群
[url=]代码[/url]
  1. . * Example generated by -dataex-. To install: ssc install dataex
  2. . clear

  3. . input float timeid str10 time double time1

  4.         timeid        time       time1
  5.   1.  1 "2010.06.17" -1.8934272e+12
  6.   2.  2 "2010.06.18" -1.8934272e+12
  7.   3.  3 "2010.06.20" -1.8934272e+12
  8.   4.  4 "2010.06.21" -1.8934272e+12
  9.   5.  5 "2010.06.22" -1.8934272e+12
  10.   6.  6 "2010.06.23" -1.8934272e+12
  11.   7.  7 "2010.06.24" -1.8934272e+12
  12.   8.  8 "2010.06.25" -1.8934272e+12
  13.   9.  9 "2010.06.27" -1.8934272e+12
  14. 10. 10 "2010.06.28" -1.8934272e+12
  15. 11. end

  16. .
  17. . format %tchh:MM time1

  18. . tostring time1,replace u force
  19. time1 was double now str4
  20. time1 was forced to string; some loss of information

  21. .
  22. . gen time0=" "

  23. . egen newtime=concat(time time0 time1)

  24. . gen double timehour=clock(newtime, "YMD hm")

  25. .
  26. . format timehour %tcDDmonCCYY_HH:MM

  27. . list

  28.      +-------------------------------------------------------------------------+
  29.      | timeid         time   time1   time0           newtime          timehour |
  30.      |-------------------------------------------------------------------------|
  31.   1. |      1   2010.06.17    8:00           2010.06.17 8:00   17jun2010 08:00 |
  32.   2. |      2   2010.06.18    8:00           2010.06.18 8:00   18jun2010 08:00 |
  33.   3. |      3   2010.06.20    8:00           2010.06.20 8:00   20jun2010 08:00 |
  34.   4. |      4   2010.06.21    8:00           2010.06.21 8:00   21jun2010 08:00 |
  35.   5. |      5   2010.06.22    8:00           2010.06.22 8:00   22jun2010 08:00 |
  36.      |-------------------------------------------------------------------------|
  37.   6. |      6   2010.06.23    8:00           2010.06.23 8:00   23jun2010 08:00 |
  38.   7. |      7   2010.06.24    8:00           2010.06.24 8:00   24jun2010 08:00 |
  39.   8. |      8   2010.06.25    8:00           2010.06.25 8:00   25jun2010 08:00 |
  40.   9. |      9   2010.06.27    8:00           2010.06.27 8:00   27jun2010 08:00 |
  41. 10. |     10   2010.06.28    8:00           2010.06.28 8:00   28jun2010 08:00 |
  42.      +-------------------------------------------------------------------------+

  43. . format timehour %tcCCYY.NN.DD_HH:MM

  44. . list

  45.      +--------------------------------------------------------------------------+
  46.      | timeid         time   time1   time0           newtime           timehour |
  47.      |--------------------------------------------------------------------------|
  48.   1. |      1   2010.06.17    8:00           2010.06.17 8:00   2010.06.17 08:00 |
  49.   2. |      2   2010.06.18    8:00           2010.06.18 8:00   2010.06.18 08:00 |
  50.   3. |      3   2010.06.20    8:00           2010.06.20 8:00   2010.06.20 08:00 |
  51.   4. |      4   2010.06.21    8:00           2010.06.21 8:00   2010.06.21 08:00 |
  52.   5. |      5   2010.06.22    8:00           2010.06.22 8:00   2010.06.22 08:00 |
  53.      |--------------------------------------------------------------------------|
  54.   6. |      6   2010.06.23    8:00           2010.06.23 8:00   2010.06.23 08:00 |
  55.   7. |      7   2010.06.24    8:00           2010.06.24 8:00   2010.06.24 08:00 |
  56.   8. |      8   2010.06.25    8:00           2010.06.25 8:00   2010.06.25 08:00 |
  57.   9. |      9   2010.06.27    8:00           2010.06.27 8:00   2010.06.27 08:00 |
  58. 10. |     10   2010.06.28    8:00           2010.06.28 8:00   2010.06.28 08:00 |
  59.      +--------------------------------------------------------------------------+
复制代码


已有 1 人评分学术水平 热心指数 信用等级 收起 理由
txje + 2 + 2 + 2 精彩帖子

总评分: 学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

使用道具

地板
黃河泉 在职认证  发表于 2017-7-24 08:52:55 |只看作者 |坛友微信交流群
拂去尘缘 发表于 2017-7-23 15:24
就是首先把图片上的数据合并在一起,设置成格式为:2010.06.17 8:00这样的时间格式,求助,谢谢
William Lisowski 建議:
  1. generate double dt = dhms(date(time,"YMD"),hh(time1),mm(time1),ss(time1))
  2. format dt %tcCCYY.NN.DD_HH:MM
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
txje + 2 + 2 + 2 精彩帖子

总评分: 学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

使用道具

7
拂去尘缘 发表于 2017-7-24 09:09:55 |只看作者 |坛友微信交流群
黃河泉 发表于 2017-7-23 17:51
我帮你把问题 post 到美国 Stata 论坛,希望明天会有消息!
非常感谢您,在论坛经常看到您对别人的答疑,我也向您学习了不少,再次感谢

使用道具

8
拂去尘缘 发表于 2017-7-24 09:10:33 |只看作者 |坛友微信交流群
蓝色 发表于 2017-7-23 17:59
非常赞,非常感谢

使用道具

9
拂去尘缘 发表于 2017-7-24 09:11:25 |只看作者 |坛友微信交流群
黃河泉 发表于 2017-7-24 08:52
William Lisowski 建議:
多谢,多谢,您两位的建议我都试试

使用道具

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

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

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

GMT+8, 2024-4-27 03:17