首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于SAS中的第一个观察值标记ID

问基于SAS中的第一个观察值标记ID
EN

Stack Overflow用户
提问于 2021-10-30 19:24:00
回答 2查看 37关注 0票数 3

我有一个变量,如果ID发生了变化,它会显示0,和。如果它从未改变的话。我按照ID以升序排列数据集,并根据更改后的变量以降序排列。例如:

​

​

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

​

​

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

EN

回答 2

Stack Overflow用户

发布于 2021-10-31 04:08:36

只需使用RETAIN和FIRST。正在处理中。

代码语言:javascript
复制
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;
票数 1
EN

Stack Overflow用户

发布于 2021-10-30 20:26:04

代码语言:javascript
复制
** Select all IDs with any change. Keep only one record per ID (the NODUPKEY option). **;
proc sort data=have (where=(change=0)) out=ids_with_change (keep=id) nodupkey; by id;

** Assign FLAG = Y if any change, else N **;
data want;
  merge have (in=in1)
        ids_with_change (in=in2)
        ;
  by id;
  
  select (in2);
    when (0) flag = 'N';
    when (1) flag = 'Y';
  end;

run;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69781446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档