Sas:如何将 proc sort 与 nodupkey 结合使用
您可以将 SAS 中的PROC SORT与NODUPKEY结合使用,按一个或多个变量对数据集中的观测值进行排序并删除任何重复项。
以下示例显示如何将此过程用于 SAS 中的以下数据集:
/*create dataset*/
data original_data;
input team $pointsrebounds;
datalines ;
At 12 8
At 12 8
At 12 8
At 23 9
At 20 12
At 14 7
At 14 7
B 20 2
B 20 5
B 29 4
B 14 7
B 20 2
B 20 2
B 20 5
;
run ;
/*view dataset*/
proc print data = original_data;
示例:在 SAS 中使用 PROC SORT 和 NODUPKEY
假设我们只是使用proc sort根据点列中的值按升序(从小到大)对数据集中的观测值进行排序:
/*sort by points ascending*/
proc sort data =original_data out =data2;
by points;
run ;
/*view sorted dataset*/
proc print data =data2;
请注意,观测值根据点列中的值按升序排序。
然而,一些观察结果是重复的。
要根据点列中的值对观测值进行排序并删除所有重复项,我们可以在proc sort语句后添加nodupkey :
/*sort by points ascending and remove duplicates*/
proc sort data =original_data out =data3 nodupkey ;
by points;
run ;
/*view sorted dataset*/
proc print data =data3;
现在,观测值根据点列中的值按升序排序,并且所有重复的观测值均已删除。
请注意,我们还可以添加降序参数,以根据点列中的值按降序对观测值进行排序,并删除所有重复项:
/*sort by points descending and removing duplicates*/
proc sort data =original_data out =data4 nodupkey ;
by descending points;
run ;
/*view sorted dataset*/
proc print data =data4;
现在,观测值根据点列中的值按降序排序,并且所有重复的观测值均已删除。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务:
如何在 SAS 中使用 Proc Append
如何在 SAS 中使用 Proc Tabulate
如何在 SAS 中使用 Proc 排序规则