Variables 具有相同id的sas变量差异
我非常感谢你们,尤其是当我在使用Variables 具有相同id的sas变量差异,variables,sas,difference,replicate,Variables,Sas,Difference,Replicate,我非常感谢你们,尤其是当我在使用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 10009
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;
使用proc sql的一个优点是,您的数据不需要排序就可以工作。OP正在查找每个id的最大分数差。您的解决方案可以使用示例数据,但这只是因为每个id的最低分数为0。您需要将计算改为
max(分数)-min(分数)