SAS數(shù)據(jù)集排序

2018-12-14 17:28 更新

SAS中的數(shù)據(jù)集可以對(duì)其中存在的任何變量進(jìn)行排序。 這有助于在數(shù)據(jù)分析和執(zhí)行其他選項(xiàng),如合并等。排序可以發(fā)生在任何單個(gè)變量以及多個(gè)變量。 用于在SAS數(shù)據(jù)集中執(zhí)行排序的SAS過(guò)程被稱(chēng)為PROC SORT。 排序后的結(jié)果存儲(chǔ)在新數(shù)據(jù)集中,原始數(shù)據(jù)集保持不變。

語(yǔ)法

SAS中數(shù)據(jù)集中排序操作的基本語(yǔ)法是:

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

以下是使用的參數(shù)的描述:

  • 變量名是排序發(fā)生的列名。
  • 原始數(shù)據(jù)集是要排序的數(shù)據(jù)集名稱(chēng)。
  • 排序的數(shù)據(jù)集是排序后的數(shù)據(jù)集名稱(chēng)。

讓我們考慮包含組織的員工詳細(xì)信息的以下SAS數(shù)據(jù)集。 我們可以使用以下代碼對(duì)工資數(shù)據(jù)集進(jìn)行排序。

DATA Employee; 
  INPUT empid name $ salary DEPT $ ; 
DATALINES; 
1 Rick 623.3	IT 		 
2 Dan 515.2 	OPS	
3 Mike 611.5 	IT 	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   IT 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN 
;
RUN;

PROC SORT DATA=Employee OUT=Sorted_sal ;
  BY salary;
RUN ;
 
PROC PRINT DATA=Sorted_sal;
RUN ; 

當(dāng)執(zhí)行上面的代碼,我們可以得到下面的輸出。

反向排序

默認(rèn)排序選項(xiàng)按升序排列,這意味著觀察值按排序變量的較低值到較高值排列。 但我們也可能希望排序以升序發(fā)生。

在下面的代碼中,通過(guò)使用DESCENDING語(yǔ)句實(shí)現(xiàn)反向排序。

DATA Employee; 
  INPUT empid name $ salary DEPT $ ; 
DATALINES; 
1 Rick 623.3	IT 		 
2 Dan 515.2 	OPS	
3 Mike 611.5 	IT 	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   IT 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN 
;
RUN;

PROC SORT DATA=Employee OUT=Sorted_sal_reverse ;
  BY DESCENDING salary;
RUN ;
 
PROC PRINT DATA=Sorted_sal_reverse;
RUN ; 

當(dāng)執(zhí)行上面的代碼,我們可以得到下面的輸出。

排序多個(gè)變量

通過(guò)在BY語(yǔ)句中使用它們,可以對(duì)多個(gè)變量應(yīng)用排序。 變量以從左到右的優(yōu)先級(jí)排序。

在下面的代碼中,數(shù)據(jù)集首先在變量名稱(chēng)上排序,然后在變量名稱(chēng)salary上排序。

DATA Employee; 
  INPUT empid name $ salary DEPT $ ; 
DATALINES; 
1 Rick 623.3	IT 		 
2 Dan 515.2 	OPS	
3 Mike 611.5 	IT 	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   IT 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN 
;
RUN;

PROC SORT DATA=Employee OUT=Sorted_dept_sal ;
  BY salary DEPT;
RUN ;
 
PROC PRINT DATA=Sorted_dept_sal;
RUN ; 

當(dāng)執(zhí)行上面的代碼,我們可以得到下面的輸出。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)