m***a 发帖数: 1175 | 1 原始数据
id visit A B
1 1 . 9
1 2 20 10
1 3 22 11
1 4 24 13
2 1 20 8
2 3 . 9
2 4 22 9
2 5 24 11
3 1 . .
3 2 . 9
3 3 22 10
想要得到,A 第一次有数据的情况下(不是第一次visit),B也有数据,不管之后的情
况,之后数据照样列出。
id visit A B
1 2 20 10
1 3 22 11
1 4 24 13
2 1 20 8
2 3 . 9
2 4 22 9
2 5 24 11
3 3 22 10
谢谢啦 |
m***a 发帖数: 1175 | 2 我用了巨复杂的过程,我觉得应该有特别简单的code可以实现,求指点 |
I*****a 发帖数: 5425 | |
y****n 发帖数: 46 | 4 data temp;
input id visit A B;
cards;
1 1 . 9
1 2 20 10
1 3 22 11
1 4 24 13
2 1 20 8
2 3 . 9
2 4 22 9
2 5 24 11
3 1 . .
3 2 . 9
3 3 22 10
;
run;
proc sort data=temp;
by id visit;
run;
data temp1;
retain xx;
set temp;
by id visit;
if first.id then xx=0;
if a>0 and b>0 then xx=1;
if xx>0;
drop xx;
run; |
m***a 发帖数: 1175 | 5 太感谢了, 吃包子
【在 y****n 的大作中提到】 : data temp; : input id visit A B; : cards; : 1 1 . 9 : 1 2 20 10 : 1 3 22 11 : 1 4 24 13 : 2 1 20 8 : 2 3 . 9 : 2 4 22 9
|