2
많은 분들께 감사드립니다. 특히 SAS
으로 변조하는 데 문제가있을 때 감사드립니다.동일한 id와의 sas 변수 차이
다음과 같은 데이터 세트가 있습니다.
ID key score
10002817 200207826243 0
10002817 200207826271 0
10002817 200208532180 0
10002976 200301583978 0
10003685 200302311690 0
10006588 200401613047 0
10006588 200502882618 0
10009377 201007510866 1
10009377 201111777969 0
10011044 200801328219 2
10011044 200803290654 3
10011044 200803290728 1
10011044 200803290905 1
10011044 200803291161 0
는 때때로
id
데이터 여부 반복된다. ID에 따라 점수 차이가 가장 큽니다. 즉, 다음과 같은 형식입니다.
ID key score diff_score
10002817 200207826243 0 0
10002817 200207826271 0 0
10002817 200208532180 0 0
10002976 200301583978 0 0
10003685 200302311690 0 0
10006588 200401613047 0 0
10006588 200502882618 0 0
10009377 201007510866 1 1
10009377 201111777969 0 1
10011044 200801328219 2 3
10011044 200803290654 3 3
10011044 200803290728 1 3
10011044 200803290905 1 3
10011044 200803291161 0 3
어떻게 SAS로 만들 수 있습니까?
나를 도와 주시면 도움이 될 것입니다. 감사합니다. 이 작업을 위해 데이터를 정렬 할 필요가 없습니다되는 시저의 SQL을 사용의 장점
proc sql;
create table want as
select ID, key, score, max(score)-min(score) as diff_score
from have
group by ID;
quit;
하나 :
OP는 ID 당 최대 점수 차이를 찾고 있습니다. 솔루션은 예제 데이터와 함께 작동하지만 각 ID에 대해 최소 점수가 0이기 때문입니다. 계산을 'max (score) - min (score)'로 바꿔야합니다. – Longfish
그 자리를 가져 주셔서 감사합니다. 제 대답을 편집했습니다. –