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.