课程表

SAS 基础

SAS 数据集操作

SAS 数据展示

SAS 基本统计程序

工具箱
速查手册

SAS数据集排序

当前位置:免费教程 » 大数据/云 » SAS

SAS中的数据集可以对其中存在的任何变量进行排序。 这有助于在数据分析和执行其他选项,如合并等。排序可以发生在任何单个变量以及多个变量。 用于在SAS数据集中执行排序的SAS过程被称为PROC SORT。 排序后的结果存储在新数据集中,原始数据集保持不变。

语法

SAS中数据集中排序操作的基本语法是:

  1. PROC SORT DATA=original dataset OUT=Sorted dataset;
  2. BY variable name;

以下是使用的参数的描述:

  • 变量名是排序发生的列名。
  • 原始数据集是要排序的数据集名称。
  • 排序的数据集是排序后的数据集名称。

让我们考虑包含组织的员工详细信息的以下SAS数据集。 我们可以使用以下代码对工资数据集进行排序。

  1. DATA Employee;
  2. INPUT empid name $ salary DEPT $ ;
  3. DATALINES;
  4. 1 Rick 623.3 IT
  5. 2 Dan 515.2 OPS
  6. 3 Mike 611.5 IT
  7. 4 Ryan 729.1 HR
  8. 5 Gary 843.25 FIN
  9. 6 Tusar 578.6 IT
  10. 7 Pranab 632.8 OPS
  11. 8 Rasmi 722.5 FIN
  12. ;
  13. RUN;
  14.  
  15. PROC SORT DATA=Employee OUT=Sorted_sal ;
  16. BY salary;
  17. RUN ;
  18. PROC PRINT DATA=Sorted_sal;
  19. RUN ;

当执行上面的代码,我们可以得到下面的输出。

反向排序

默认排序选项按升序排列,这意味着观察值按排序变量的较低值到较高值排列。 但我们也可能希望排序以升序发生。

在下面的代码中,通过使用DESCENDING语句实现反向排序。

  1. DATA Employee;
  2. INPUT empid name $ salary DEPT $ ;
  3. DATALINES;
  4. 1 Rick 623.3 IT
  5. 2 Dan 515.2 OPS
  6. 3 Mike 611.5 IT
  7. 4 Ryan 729.1 HR
  8. 5 Gary 843.25 FIN
  9. 6 Tusar 578.6 IT
  10. 7 Pranab 632.8 OPS
  11. 8 Rasmi 722.5 FIN
  12. ;
  13. RUN;
  14.  
  15. PROC SORT DATA=Employee OUT=Sorted_sal_reverse ;
  16. BY DESCENDING salary;
  17. RUN ;
  18. PROC PRINT DATA=Sorted_sal_reverse;
  19. RUN ;

当执行上面的代码,我们可以得到下面的输出。

排序多个变量

通过在BY语句中使用它们,可以对多个变量应用排序。 变量以从左到右的优先级排序。

在下面的代码中,数据集首先在变量名称上排序,然后在变量名称salary上排序。

  1. DATA Employee;
  2. INPUT empid name $ salary DEPT $ ;
  3. DATALINES;
  4. 1 Rick 623.3 IT
  5. 2 Dan 515.2 OPS
  6. 3 Mike 611.5 IT
  7. 4 Ryan 729.1 HR
  8. 5 Gary 843.25 FIN
  9. 6 Tusar 578.6 IT
  10. 7 Pranab 632.8 OPS
  11. 8 Rasmi 722.5 FIN
  12. ;
  13. RUN;
  14.  
  15. PROC SORT DATA=Employee OUT=Sorted_dept_sal ;
  16. BY salary DEPT;
  17. RUN ;
  18. PROC PRINT DATA=Sorted_dept_sal;
  19. RUN ;

当执行上面的代码,我们可以得到下面的输出。

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号