2149 7

急!!如何用SAS成生时间段变量 [推广有奖]

  • 0关注
  • 0粉丝

大专生

20%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
1.4570
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1449 点
帖子
18
精华
0
在线时间
64 小时
注册时间
2013-10-27
最后登录
2024-4-11

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位大神,帮帮忙,不胜感谢!!!!
DATA.xlsx (9.81 KB) 我有如下数据:
a.JPG
如何用SAS 程序生成时间段的变量,将上述数据变成如下格式:
b.JPG
具体形式见EXCEL文件“DATA”.
会的大神帮帮忙啊~~~

二维码

扫码加我 拉你入群

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

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

关键词:时间段变量 如何用 时间段 EXCEL exce 时间段 EXCEL 如何 程序

沙发
糖.甜到哀傷 发表于 2014-11-22 13:34:11 |只看作者 |坛友微信交流群
木有人会吗…………

使用道具

藤椅
糖.甜到哀傷 发表于 2014-11-22 23:23:35 |只看作者 |坛友微信交流群
顶一下,哪位大神帮帮忙

使用道具

板凳
teqel 发表于 2014-11-23 00:33:10 来自手机 |只看作者 |坛友微信交流群
用24个变量再用if

使用道具

报纸
yongyitian 发表于 2014-11-23 21:55:50 |只看作者 |坛友微信交流群
  1. /* 变量名要以字符a-z 或 _ 开头,不能用数字。*/

  2. data have;
  3. input ID$  TIME time5.;
  4.   format time time5.;
  5. datalines;
  6. 001        9:45
  7. 002        6:45
  8. 003        4:30
  9. 004        21:56
  10. 005        12:09
  11. 006        23:40
  12. 007        14:00
  13. 008        13:09
  14. 009        16:39
  15. 010        19:04
  16. 011        20:01
  17. 012        0:03
  18. 013        23:01
  19. 014        17:45
  20. ; run;

  21. data want;
  22.     set have;
  23.     array TP{24} ;
  24.     format TP1-Tp24 time5.;
  25.        label TP1 = "0:00~~0:59"
  26.              TP2 = "1:00~~1:59"
  27.              TP3 = "2:00~~2:59"
  28.              TP4 = "3:00~~3:59";
  29.      TP[hour(time)+1] = time;
  30. run;
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
Tigflanker + 5 + 3 + 3 + 3 简洁

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

使用道具

地板
Tigflanker 发表于 2014-11-23 22:14:41 |只看作者 |坛友微信交流群
  1. data one;
  2. input ID TIME $;
  3. TIMEN = input(TIME,time5.);
  4. cards;
  5. 001        9:45
  6. 002        6:45
  7. 003        4:30
  8. 004        21:56
  9. 005        12:09
  10. 006        23:40
  11. 007        14:00
  12. 008        13:09
  13. 009        16:39
  14. 010        19:04
  15. 011        20:01
  16. 012        0:03
  17. 013        23:01
  18. 014        17:45
  19. ;run;

  20. data two;
  21.   if 0 then set one;
  22.   if _n_ = 1 then do time1 = 0 to 23 by 1;
  23.     output;
  24.   end;

  25.   set one;

  26.   do time1 = 0 to 23 by 1;
  27.     if input(cats(time1,':00'),time5.) <= timen < input(cats(time1 + 1,':00'),time5.) then output;
  28.   end;
  29. run;

  30. proc transpose data = two out = three(drop = _NAME_) prefix = TIME;
  31.   by id;
  32.   id time1;
  33. run;

  34. data three;
  35.   set three;
  36.   where id;
  37.   format TIME0 - TIME23 time5.;
  38. run;
复制代码

下次直接贴数据喔,下载附件是要花银子的,虽然俺是温饱。

使用道具

7
teqel 发表于 2014-11-24 00:54:17 |只看作者 |坛友微信交流群
yongyitian 发表于 2014-11-23 21:55
TP[hour(time)+1] = time; 这句好

使用道具

8
糖.甜到哀傷 发表于 2014-11-24 21:23:55 |只看作者 |坛友微信交流群
Tigflanker 发表于 2014-11-23 22:14
下次直接贴数据喔,下载附件是要花银子的,虽然俺是温饱。
下附件还要币的啊……我都不知道…………
谢谢大神~~大神V5~~

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

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

GMT+8, 2024-4-24 21:57