首页 > 解决方案 > 根据 SAS 中的第一次观察标记 ID

问题描述

我有一个变量,如果 ID 发生变化,则显示 0,并且 . 如果它从未改变。我按 ID 升序排列数据集,并按变量降序排列。例如:

在此处输入图像描述

我想标记发生变化的 ID。所以我需要一个看起来像这样的表:

在此处输入图像描述

我尝试通过使用 first.ID 到 last.ID 来使用 do until 语句,但它不起作用。

标签: sas

解决方案


只需使用 RETAIN 和 FIRST。加工。

data want;
  set have;
  by id descending change ;
  if first.id then do;
     if change=0 then flag='Y';
     else flag='N';
  end;
  retain flag;
run;

推荐阅读