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でこれを行うにはどうすればよいですか?
私を助けてくれると助かります。 ありがとうございます。これが機能するためにあなたのデータをソートする必要はありませんされたのproc 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
その場にありがとう、ちょうど私の答えを編集しました。 –