首页 > 解决方案 > 跨时间识别列中的模式

问题描述

这是我的数据。

在此处输入图像描述

每个记录/行记录患者所处的位置以及文档日期和时间。因此,除了一天中的第一条记录,我们可以计算出该位置自上次记录以来的保持时间。目标是标记表明患者在同一天至少处于以下位置之一的记录:“右”、“后”、“左”。红色是应该标记的行。为此,我认为我需要创建一个列,其中包含上次记录不同职位的时间。

标签: sas

解决方案


使用该NOTSORTED选项可以更轻松地完成此操作。假设数据按日期和时间正确排序,这就是您可能需要的。

data want;
set have; 
by ID position NOTSORTED;
retain start_time;

if first.position then start_time = observation_time;
duration = observation_time - start_time;
if duration > 2*60*60 then flag=1; *time is stored in seconds, so 2 hours * 60minutes * 60 seconds per hour;

run;

未经测试,因为没有数据。


推荐阅读