SAS - Sortowanie zbiorów danych

Zbiory danych w SAS mogą być sortowane według dowolnych zmiennych w nich obecnych. Pomaga to zarówno w analizie danych, jak i wykonywaniu innych opcji, takich jak scalanie itp. Sortowanie może odbywać się zarówno na jednej zmiennej, jak i na wielu zmiennych. Została nazwana procedura SAS używana do sortowania w zestawie danych SASPROC SORT. Wynik po sortowaniu jest przechowywany w nowym zestawie danych, a oryginalny zestaw danych pozostaje niezmieniony.

Składnia

Podstawowa składnia operacji sortowania w zestawie danych w SAS to -

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

Poniżej znajduje się opis użytych parametrów -

  • variable name to nazwa kolumny, w której odbywa się sortowanie.

  • Original dataset to nazwa zbioru danych do posortowania.

  • Sorted dataset to nazwa zbioru danych po jego posortowaniu.

Przykład

Rozważmy następujący zestaw danych SAS zawierający szczegóły pracowników organizacji. Możemy posortować zestaw danych o wynagrodzeniach za pomocą kodu podanego poniżej.

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 ;

Po wykonaniu powyższego kodu otrzymujemy następujące dane wyjściowe.

Sortowanie odwrotne

Domyślna opcja sortowania jest w porządku rosnącym, co oznacza, że ​​obserwacje są uporządkowane według wartości od dolnej do wyższej sortowanej zmiennej. Ale możemy również chcieć, aby sortowanie odbyło się w porządku rosnącym.

Przykład

W poniższym kodzie sortowanie odwrotne uzyskuje się za pomocą instrukcji DESCENDING.

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 ;

Po wykonaniu powyższego kodu otrzymujemy następujące dane wyjściowe.

Sortowanie wielu zmiennych

Sortowanie można zastosować do wielu zmiennych, używając ich z instrukcją BY. Zmienne są sortowane z priorytetem od lewej do prawej.

Przykład

W poniższym kodzie zestaw danych jest sortowany najpierw według nazwy działu zmiennej, a następnie według nazwy zmiennej wynagrodzenie.

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 ;

Po wykonaniu powyższego kodu otrzymujemy następujące dane wyjściowe.