【发布时间】:2017-10-30 03:33:15
【问题描述】:
基于下面的简化数据集,我想创建一个新变量 X3,如果最后一个观察值 by 变量 id 具有默认值 = 1 并且如果 X1 = X2,else X3 = 0.
data example;
input id default X1 X2;
cards;
1 0 0 1
1 0 0 1
1 0 1 1
1 0 0 1
1 1 0 1
2 0 0 1
2 0 1 1
2 0 0 1
2 0 0 1
2 1 0 1
3 0 0 1
3 0 1 1
;
run;
新数据集应如下所示:
id default X1 X2 X3;
1 0 0 1 0
1 0 0 1 0
1 0 1 1 1
1 0 0 1 0
1 1 0 1 0
2 0 0 1 0
2 0 1 1 1
2 0 0 1 0
2 0 0 1 0
2 1 0 1 0
3 0 0 1 0
3 0 0 1 0
我尝试了很多方法,但找不到任何解决方案。任何建议将不胜感激!
【问题讨论】:
-
你有控制顺序的变量吗?如果我们可以颠倒顺序,这样您就可以使用 BY 组的第一个而不是最后一个值,这将是最简单的。另外,请根据 StackOverflow 规则发布您迄今为止尝试过的内容。我会编辑您的问题以格式化您的数据,但您以后应该这样做。
-
要在 SAS 中为 SO 自动格式化代码,突出显示代码并点击 TAB。它会自动缩进,因此当您将其粘贴到此处时,它的格式正确。
标签: sas survival-analysis