楼主: csm20cms
1065 2

[问答] 求助一个计算两个时间段是否重合和先后顺序,以及观测所属id数的程序 [推广有奖]

  • 0关注
  • 0粉丝

高中生

2%

还不是VIP/贵宾

-

威望
0
论坛币
18 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
242 点
帖子
7
精华
0
在线时间
30 小时
注册时间
2019-4-1
最后登录
2021-7-28

楼主
csm20cms 发表于 2020-3-21 14:04:49 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教:我的数据是这样的:包括变量id,  两件事情的start 和 end 数据举例如下:
id                            start1              end1                   start2             end2
M001                    20170601       20190806            20170601       20190806
M001                    20170601       20190806            20170601      
M001                    20170601       20190806            20170601       20190806
M001                    20170601        20190806           20150601       20190806

M002                    20170904        20180309           20130601       20140806
M002                    20170904        20180309           20130601       20190806
M002                    20170904        20180309           20170904       20180309

M003                    20171214        20180420          20110601       20120806
M003                    20171214        20180420          20130601       20180420

M004                    20190913        20190925          20170601       20190806
M004                    20190913        20190925          20170601       20180806

M005                    20100321        20130321          20170601      
M005                    20100321        20130321          20170601       20190806
M005                    20100321        20130321          20170601       20190806

M006                    20110915        20190915          20170601       20190806
..........................................
现在需要统计,前后两个时间段的关系然后计数,希望能够输出以下数据;
后一个时间段的开始时间比前一个时间段开始时间要早的观测有0条的id数,本例为2(M006,M005)
后一个时间段的开始时间比前一个时间段开始时间要早的观测有1条的id数,本例为1(M001)
后一个时间段的开始时间比前一个时间段开始时间要早的观测有2条的id数,本例为3(M002,M003,M004)
后一个时间段的开始时间比前一个时间段开始时间要早的观测有3+条的id数,本例为0
后一个时间段和前一个时间段有重合0条观测的id数,本例为2(M005,M004)
后一个时间段和前一个时间段有重合1条观测的id数,本例为2(M006,M003)
后一个时间段和前一个时间段有重合2+条观测的id数,本例为2(M002,M001)


括号中的不用输出


可能语言组织不是那么清楚,谢谢大家帮忙了啊!!!
二维码

扫码加我 拉你入群

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

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

关键词:时间段 Start STAR ART TAR SAS

沙发
csm20cms 发表于 2020-3-22 11:02:01
顶一个啊!

藤椅
qinly10 发表于 2020-3-27 17:09:08
懒得写全了,你自己改改用吧
data test;
input id s1 e1 s2 e2;
if s2 < s1 then s2_s1 = 1;
else s2_s1 = 0;
cards;
1 1 2 0 1
1 1 2 0 1
1 1 2 0 1
1 1 2 2 3
2 3 5 2 8
2 3 5 2 8
2 3 5 6 8
3 3 5 9 8
;
proc sql;
select sum(s2_s1) as n, id
from test
group by id;
quit;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-27 05:48