z**********i 发帖数: 88 | 1 data x;
input
id date x ;
cards;
1 1 10
1 2 11
1 3 12
2 1 23
2 2 24
2 3 2
2 4 5
3 1 232
3 2 343
;run;
how to get the difference of x compared to x on first day?
for example, id=1, at day=2, the difference is 11-10=1;
id=1, at day=3, the difference is 12-10=2;
thanks!!! |
z**********i 发帖数: 88 | |
o****o 发帖数: 8077 | 3 data diff;
merge x(where=(date=1) rename=(x=x0))
x(where=(date^=1) in=_2)
;
by id;
retain x0;
diff=x-x0;
if _2;
run;
not tested
【在 z**********i 的大作中提到】 : data x; : input : id date x ; : cards; : 1 1 10 : 1 2 11 : 1 3 12 : 2 1 23 : 2 2 24 : 2 3 2
|
a****m 发帖数: 693 | |
w*****e 发帖数: 806 | 5 really good sas code..
拜牛人。。
【在 o****o 的大作中提到】 : data diff; : merge x(where=(date=1) rename=(x=x0)) : x(where=(date^=1) in=_2) : ; : by id; : retain x0; : diff=x-x0; : if _2; : run; : not tested
|
l******n 发帖数: 45 | 6 牛人阿。。为什么我自己就想不到呢。看完又恍然。。。
【在 o****o 的大作中提到】 : data diff; : merge x(where=(date=1) rename=(x=x0)) : x(where=(date^=1) in=_2) : ; : by id; : retain x0; : diff=x-x0; : if _2; : run; : not tested
|