SAS - Operadores

Um operador no SAS é um símbolo que é usado em uma expressão matemática, lógica ou de comparação. Esses símbolos são integrados à linguagem SAS e muitos operadores podem ser combinados em uma única expressão para fornecer uma saída final.

Abaixo está uma lista de categorias de operadoras SAS.

  • Operadores aritméticos
  • Operadores lógicos
  • Operadores de comparação
  • Operadores mínimos / máximos
  • Operador de concatenação

Veremos cada um um por um. Os operadores são sempre usados ​​com variáveis ​​que fazem parte dos dados que estão sendo analisados ​​pelo programa SAS.

Operadores aritméticos

A tabela abaixo descreve os detalhes dos operadores aritméticos. Vamos supor duas variáveis ​​de dadosV1 e V2com valores 8 e 4 respectivamente.

Operador Descrição Exemplo
+ Adição V1 + V2 = 12
- Subtração V1-V2 = 4
* Multiplicação V1 * V2 = 32
/ Divisão V1 / V2 = 2
** Exponenciação V1 ** V2 = 4096

Exemplo

DATA MYDATA1;
input @1 COL1 4.2	@7 COL2 3.1; 
Add_result = COL1+COL2;
Sub_result = COL1-COL2;
Mult_result = COL1*COL2;
Div_result = COL1/COL2;
Expo_result = COL1**COL2;
datalines;
11.21 5.3
3.11  11
;
PROC PRINT DATA = MYDATA1;
RUN;

Ao executar o código acima, obtemos a seguinte saída.

Operadores lógicos

A tabela abaixo descreve os detalhes dos operadores lógicos. Esses operadores avaliam o valor Truth de uma expressão. Portanto, o resultado dos operadores lógicos é sempre 1 ou 0. Vamos assumir duas variáveis ​​de dadosV1 e V2com valores 8 e 4 respectivamente.

Operador Descrição Exemplo
E O operador AND. Se ambos os valores de dados forem avaliados como verdadeiros, o resultado será 1, caso contrário, será 0. (V1> 2 e V2> 3) dá 0.
| O operador OR. Se qualquer um dos valores de dados for avaliado como verdadeiro, o resultado será 1, caso contrário, será 0. (V1> 9 e V2> 3) é 1.
~ O operador NOT. O resultado do operador NOT na forma de uma expressão cujo valor é FALSE ou um valor ausente é 1, caso contrário, é 0. NÃO (V1> 3) é 1.

Exemplo

DATA MYDATA1;
input @1 COL1 5.2	@7 COL2 4.1; 
and_=(COL1 > 10 & COL2 > 5 );
or_ = (COL1 > 12 | COL2 > 15 );
not_ = ~( COL2 > 7 );
datalines;
11.21 5.3
3.11  11.4
;
PROC PRINT DATA = MYDATA1;
RUN;

Ao executar o código acima, obtemos a seguinte saída.

Operadores de comparação

A tabela abaixo descreve os detalhes dos operadores de comparação. Esses operadores comparam os valores das variáveis ​​e o resultado é um valor verdade apresentado por 1 para TRUE e 0 para False. Vamos supor duas variáveis ​​de dadosV1 e V2com valores 8 e 4 respectivamente.

Operador Descrição Exemplo
= O operador EQUAL. Se ambos os valores dos dados forem iguais, o resultado será 1, caso contrário, será 0. (V1 = 8) dá 1.
^ = O operador NOT EQUAL. Se ambos os valores de dados forem desiguais, o resultado será 1, caso contrário, será 0. (V1 ^ = V2) dá 1.
< O MENOS QUE O operador. (V2 <V2) dá 1.
<= MENOS OU IGUAL AO Operador. (V2 <= 4) dá 1.
> O MAIOR DO QUE O operador. (V2> V1) dá 1.
> = O MAIOR DO QUE OU IGUAL AO Operador. (V2> = V1) dá 0.
DENTRO O operador IN. Se o valor da variável for igual a qualquer um dos valores em uma determinada lista de valores, ela retorna 1, caso contrário, retorna 0. V1 em (5,7,9,8) dá 1.

Exemplo

DATA MYDATA1;
input @1 COL1 5.2	@7 COL2 4.1; 
EQ_ = (COL1 = 11.21);
NEQ_= (COL1 ^= 11.21);
GT_ = (COL2 => 8);
LT_ = (COL2 <= 12);
IN_ = COL2 in( 6.2,5.3,12 );
datalines;
11.21 5.3
3.11  11.4
;
PROC PRINT DATA = MYDATA1;
RUN;

Ao executar o código acima, obtemos a seguinte saída.

Operadores mínimos / máximos

A tabela abaixo descreve os detalhes dos operadores Mínimo / Máximo. Esses operadores comparam os valores das variáveis ​​em uma linha e o valor mínimo ou máximo da lista de valores nas linhas é retornado.

Operador Descrição Exemplo
MIN O operador MIN. Ele retorna o valor mínimo da lista de valores na linha. MIN (45,2,11,6,15,41) dá 11,6
MAX O operador MAX. Ele retorna o valor máximo da lista de valores na linha. MAX (45,2,11,6,15,41) dá 45,2

Exemplo

DATA MYDATA1;
input @1 COL1 5.2	@7 COL2 4.1 @12 COL3 6.3; 
min_ = MIN(COL1 , COL2 , COL3);
max_ = MAX( COL1, COl2 , COL3);
datalines;
11.21 5.3 29.012
3.11  11.4 18.512
;
PROC PRINT DATA = MYDATA1;
RUN;

Ao executar o código acima, obtemos a seguinte saída.

Operador de concatenação

A tabela abaixo descreve os detalhes do operador Concatenação. Este operador concatena dois ou mais valores de string. Um único valor de caractere é retornado.

Operador Descrição Exemplo
|| O operador concatenar. Ele retorna a concatenação de dois ou mais valores. 'Olá' || ' World 'dá Hello World

Exemplo

DATA MYDATA1;
input  COL1 $	COL2 $  COL3 $; 
concat_ = (COL1 || COL2 || COL3);
datalines;
Tutorial s point
simple easy learning
;
PROC PRINT DATA = MYDATA1;
RUN;

Ao executar o código acima, obtemos a seguinte saída.

Precedência de operadores

A precedência do operador indica a ordem de avaliação dos vários operadores presentes na expressão complexa. A tabela abaixo descreve a ordem de precedência em um grupo de operadores.

Grupo Ordem Símbolos
Grupo I Direita para esquerda ** + - NÃO MIN MÁX
Grupo II Da esquerda para direita * /
Grupo III Da esquerda para direita + -
Grupo IV Da esquerda para direita ||
Grupo V Da esquerda para direita <<= => =>