如何在 sas 中使用 proc sort(附示例)


您可以使用 SAS 中的过程排序根据一个或多个变量对数据集中的观测值进行排序。

以下示例展示了如何将此过程用于 SAS 中的以下数据集:

 /*create dataset*/
data original_data;
    input team $pointsrebounds;
    datalines ;
At 12 8
At 12 7
At 14 5
At 23 9
At 20 12
At 11 7
At 14 7
B 20 2
B 20 5
B 29 4
B 14 7
B 19 8
B 17 9
B 30 9
;
run ;

/*view dataset*/
proc print data = original_data;

示例 1:按升序对观测值进行排序

我们可以使用proc sort根据列中的值按升序(从小到大)对数据集中的观测值进行排序:

 /*sort by points ascending*/
proc sort data =original_data out =data2;
    by points;
run ;

/*view sorted dataset*/
proc print data =data2; 

按升序对 SAS 过程进行排序

请注意,观测值根据列中的值按升序排序。

示例 2:按降序对观测值进行排序

我们可以使用proc sort递减语句,根据列中的值按降序(从大到小)对数据集中的观测值进行排序:

 /*sort by points descending*/
proc sort data =original_data out =data3;
    by descending points;
run ;

/*view sorted dataset*/
proc print data =data3; 

按 SAS 过程降序排序

请注意,观测值根据列中的值按升序排序。

示例 3:按多列对观测值进行排序

我们可以使用proc sortby语句中列出的多个变量来按多个变量对数据集中的观测值进行排序。

以下代码显示如何按点列中的值按升序对数据集中的观测值进行排序,然后按弹跳列中的值按升序对数据集中的观测值进行排序:

 /*sort by points ascending, then by rebounds ascending*/
proc sort data =original_data out =data4;
    by points rebounds;
run ;

/*view sorted dataset*/
proc print data =data4; 

请注意,观测值按列中的值按升序排序,然后按反弹列中的值按升序排序。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

如何在 SAS 中使用 Proc Append
如何在 SAS 中使用 Proc Tabulate
如何在 SAS 中使用 Proc 排序规则

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注