2079 2

[问答] 如何collapse数据集 [推广有奖]

  • 0关注
  • 0粉丝

本科生

68%

还不是VIP/贵宾

-

威望
0
论坛币
528 个
通用积分
0
学术水平
3 点
热心指数
0 点
信用等级
0 点
经验
4464 点
帖子
46
精华
0
在线时间
148 小时
注册时间
2011-4-2
最后登录
2017-12-10

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请看我附件里的图,左边的数据有一个time变量和一个duration变量,我想根据以下规则来压缩这个数据变成右边的格式:

例如,第一个观测time=1,duration=2,1+2=3,正好等于第二个观测的time(=3),也就是说这是一个连续的过程,我想做的就是把所有连续的过程合并为一个观测。

在左侧的数据中,所有可以被看做是连续的观测我给highlight出来了。例如,第三个观测开始时间是7,持续2,结束时是7+2=9,而第四个观测的开始时间是11,所以这就出现了一个gap,这种情况下不连续,就不会collapse到一起。

请教各位大牛们应该如何用SAS code实现这个过程?

二维码

扫码加我 拉你入群

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

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

关键词:Collapse lapse APS PSE 数据集 如何

dataset.jpg (49.89 KB)

dataset.jpg

沙发
yongyitian 发表于 2014-8-1 08:31:01 |只看作者 |坛友微信交流群
  1. data have;
  2.    input time duration;
  3. datalines;
  4. 1 2
  5. 3 4
  6. 7 2
  7. 11 1
  8. 12 4
  9. 19 2
  10. 21 2
  11. 23 4
  12. 27 1
  13. 30 2
  14. ; run;
  15. data want;
  16.    set have end=last;
  17.    retain start_time end_time;
  18.    if _n_ = 1 then do;
  19.       start_time = time;
  20.         end_time = time;
  21.    end;

  22.    if time ^= end_time then do;
  23.        output;
  24.      start_time = time;
  25.        end_time = Start_time + duration;
  26.    end;  
  27.    else end_time = end_time+duration;

  28.    if last then output;
  29.    keep start_time End_time;
  30. run;
复制代码


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

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

使用道具

yongyitian 发表于 2014-8-1 08:31
先膜拜一下!非常感谢,研究一下!

使用道具

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

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

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

GMT+8, 2024-4-25 17:20