Sas:如何将 proc sort 与 keep 语句一起使用
您可以将PROC SORT与 SAS 中的KEEP语句结合使用,对数据集中的行进行排序,并在排序后仅保留特定列。
为此,您可以使用以下基本语法:
proc sort data=my_data out =sorted_data ( keep =var1 var2);
by var2;
run ;
此特定示例根据var2列中的值对数据集中的行进行排序,然后排序后仅保留var1和var2列。
以下示例展示了如何在实践中使用此语法。
示例:在 SAS 中使用 PROC SORT 和 KEEP 语句
假设我们在 SAS 中有以下数据集,其中包含有关各个篮球队的信息:
/*create dataset*/
data my_data;
input team $points assists;
datalines ;
Mavs 113 22
Pacers 95 19
Cavs 100 34
Lakers 114 20
Heat 123 39
Kings 100 22
Raptors 105 11
Hawks 95 25
Magic 103 26
Spurs 119 29
;
run ;
/*view dataset*/
proc print data =my_data;
我们可以使用以下语法根据点列中的值对数据集的行进行排序:
/*sort rows in dataset based on values in points column*/
proc sort data =my_data out =sorted_data;
by points;
run ;
/*view sorted dataset*/
proc print data =sorted_data;
请注意,行现在根据点列中的值按升序排序。
默认情况下,SAS 在排序后保留数据集中的所有列。
但是,您可以使用KEEP语句来指定排序后保留哪些列。
例如,我们可以使用以下语法根据点列中的值对数据集中的行进行排序,然后仅保留团队和点列:
/*sort rows in dataset based on values in points column and only keep team and points*/
proc sort data=my_data out =sorted_data ( keep =team points);
by points;
run ;
/*view sorted dataset*/
proc print data =sorted_data;
同样,行根据点数列值按升序排序,但这次我们使用KEEP语句在排序后仅保留球队和点数列。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: