SAS - Classificar conjuntos de dados

Os conjuntos de dados no SAS podem ser classificados em qualquer uma das variáveis ​​presentes neles. Isso ajuda na análise de dados e na execução de outras opções, como mesclagem, etc. A classificação pode acontecer em qualquer variável única, bem como em várias variáveis. O procedimento SAS usado para realizar a classificação no conjunto de dados SAS é denominadoPROC SORT. O resultado após a classificação é armazenado em um novo conjunto de dados e o conjunto de dados original permanece inalterado.

Sintaxe

A sintaxe básica para a operação de classificação no conjunto de dados no SAS é -

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

A seguir está a descrição dos parâmetros usados ​​-

  • variable name é o nome da coluna na qual a classificação acontece.

  • Original dataset é o nome do conjunto de dados a ser classificado.

  • Sorted dataset é o nome do conjunto de dados depois de classificado.

Exemplo

Vamos considerar o seguinte conjunto de dados SAS contendo os detalhes dos funcionários de uma organização. Podemos classificar o conjunto de dados sobre o salário usando o código fornecido a seguir.

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 ;

Quando o código acima é executado, obtemos a seguinte saída.

Classificação Inversa

A opção de classificação padrão está em ordem crescente, o que significa que as observações são organizadas de acordo com o valor inferior para o superior da variável classificada. Mas também podemos querer que a classificação aconteça em ordem crescente.

Exemplo

No código a seguir, a classificação reversa é obtida usando a instrução 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 ;

Quando o código acima é executado, obtemos a seguinte saída.

Classificação de múltiplas variáveis

A classificação pode ser aplicada a várias variáveis ​​usando-as com a instrução BY. As variáveis ​​são classificadas com uma prioridade da esquerda para a direita.

Exemplo

No código a seguir, o conjunto de dados é classificado primeiro no nome do departamento da variável e, em seguida, no nome da variável salário.

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 ;

Quando o código acima é executado, obtemos a seguinte saída.