Учебники

SAS — сортировать наборы данных

Наборы данных в SAS могут быть отсортированы по любой из переменных, присутствующих в них. Это помогает как в анализе данных, так и в выполнении других опций, таких как объединение и т. Д. Сортировка может происходить как по любой отдельной переменной, так и по нескольким переменным. Процедура SAS, используемая для выполнения сортировки в наборе данных SAS, называется PROC SORT . Результат после сортировки сохраняется в новом наборе данных, а исходный набор данных остается неизменным.

Синтаксис

Основной синтаксис для операции сортировки в наборе данных в SAS —

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

Ниже приведено описание используемых параметров:

  • имя переменной — это имя столбца, по которому происходит сортировка.

  • Исходный набор данных — это имя набора данных для сортировки.

  • Сортированный набор данных — это имя набора данных после его сортировки.

имя переменной — это имя столбца, по которому происходит сортировка.

Исходный набор данных — это имя набора данных для сортировки.

Сортированный набор данных — это имя набора данных после его сортировки.

пример

Давайте рассмотрим следующий набор данных SAS, содержащий сведения о сотрудниках организации. Мы можем отсортировать данные о зарплате, используя код, приведенный ниже.

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 ; 

Когда приведенный выше код выполняется, мы получаем следующий вывод.

sort1

Обратная сортировка

Параметр сортировки по умолчанию расположен в порядке возрастания, что означает, что наблюдения располагаются в соответствии с более низким значением сортируемой переменной. Но мы также можем захотеть, чтобы сортировка происходила в порядке возрастания.

пример

В приведенном ниже коде обратная сортировка достигается с помощью оператора 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 ; 

Когда приведенный выше код выполняется, мы получаем следующий вывод.

sort2

Сортировка нескольких переменных

Сортировка может быть применена к нескольким переменным, используя их с оператором BY. Переменные сортируются с приоритетом слева направо.

пример

В приведенном ниже коде набор данных сортируется сначала по имени отдела переменных, а затем по окладу имени переменной.

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 ; 

Когда приведенный выше код выполняется, мы получаем следующий вывод.