【发布时间】:2016-06-24 18:29:02
【问题描述】:
我在 SAS 中有以下数据。变量 strdat 显示一些值,例如 99979797 用于相同 id 的二阶或更高阶观察值。我想使用来自先前观察 + 7 天的变量 enddat 替换这些观察。例如,对于 id=2,第二个观察 strdat 必须更改为 20050808。
原始数据
data data_b;
input id obs strdat enddat
;
datalines;
1 1 20061130 20081215
2 2 99979797 20070905
2 1 20010215 20050801
3 3 20100115 20101231
3 2 20060203 20070601
3 1 20041115 20050202
4 3 99979797 20101231
4 2 20060101 20060205
4 1 20050810 20051010
5 1 20041201 20050614
5 2 20060105 20060301
5 3 20061015 20090606
run;
期望的输出
1 1 20061130 20081215
2 2 20050808 20070905
2 1 20010215 20050801
3 3 20100115 20101231
3 2 20060203 20070601
3 1 20041115 20050202
4 3 20060212 20101231
4 2 20060101 20060205
4 1 20050810 20051010
5 1 20041201 20050614
5 2 20060105 20060301
5 3 20061015 20090606
【问题讨论】:
-
请发布您尝试过的内容以及您的预期输出。如果您有与您的问题无关的无关变量,也请删除它们。
标签: sas