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;
未经测试,因为没有数据。
推荐阅读
- wordpress - 如何为在 docker 容器中运行的 wordpress 站点配置 Ngix?
- javascript - 基于多个字段值 Js 排序
- javascript - 对于打印中的声明缺少字母
- node.js - 如何删除节点js中的cookie
- sql - 使用游标和子查询 pl/sql 更新员工的工资
- c# - 从 C# 获取 Google Play 项目的购买/消费状态
- javascript - 在 React Native 中使用样式化组件捕获 Pressable press
- c# - 'CoinEffect' 是一种类型,在给定的上下文中无效
- wordpress - 在 Wordpress 中获取所有帖子
- sql - How to use LIMIT in PostgreSQL correctly to only query one row per ID