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.