SAS - Operadores
Un operador en SAS es un símbolo que se utiliza en una expresión matemática, lógica o de comparación. Estos símbolos están integrados en el lenguaje SAS y muchos operadores se pueden combinar en una sola expresión para dar un resultado final.
A continuación se muestra una lista de la categoría de operadores SAS.
- Operadores aritméticos
- Operadores logicos
- Operadores de comparación
- Operadores mínimos / máximos
- Operador de concatenación
Veremos cada uno de los uno por uno. Los operadores siempre se utilizan con variables que forman parte de los datos que está siendo analizado por el programa SAS.
Operadores aritméticos
La siguiente tabla describe los detalles de los operadores aritméticos. Supongamos dos variables de datosV1 y V2con valores 8 y 4 respectivamente.
Operador | Descripción | Ejemplo |
---|---|---|
+ | Adición | V1 + V2 = 12 |
- | Sustracción | V1-V2 = 4 |
* | Multiplicación | V1 * V2 = 32 |
/ | División | V1 / V2 = 2 |
** | Exponenciación | V1 ** V2 = 4096 |
Ejemplo
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;
Al ejecutar el código anterior, obtenemos el siguiente resultado.
Operadores logicos
La siguiente tabla describe los detalles de los operadores lógicos. Estos operadores evalúan el valor de Verdad de una expresión. Entonces, el resultado de los operadores lógicos es siempre un 1 o un 0. Supongamos dos variables de datosV1 y V2con valores 8 y 4 respectivamente.
Operador | Descripción | Ejemplo |
---|---|---|
Y | El operador AND. Si ambos valores de datos se evalúan como verdaderos, el resultado es 1; de lo contrario, es 0. | (V1> 2 y V2> 3) da 0. |
| | El operador OR. Si alguno de los valores de los datos se evalúa como verdadero, el resultado es 1; de lo contrario, es 0. | (V1> 9 y V2> 3) es 1. |
~ | El operador NOT. El resultado del operador NOT en forma de expresión cuyo valor es FALSO o un valor faltante es 1; de lo contrario, es 0. | NOT (V1> 3) es 1. |
Ejemplo
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;
Al ejecutar el código anterior, obtenemos el siguiente resultado.
Operadores de comparación
La siguiente tabla describe los detalles de los operadores de comparación. Estos operadores comparan los valores de las variables y el resultado es un valor de verdad presentado por 1 para VERDADERO y 0 para Falso. Supongamos dos variables de datosV1 y V2con valores 8 y 4 respectivamente.
Operador | Descripción | Ejemplo |
---|---|---|
= | El operador EQUAL. Si ambos valores de datos son iguales, el resultado es 1; de lo contrario, es 0. | (V1 = 8) da 1. |
^ = | El operador NO IGUAL. Si ambos valores de datos son desiguales, el resultado es 1; de lo contrario, es 0. | (V1 ^ = V2) da 1. |
< | El MENOS QUE operador. | (V2 <V2) da 1. |
<= | El operador MENOR o IGUAL A. | (V2 <= 4) da 1. |
> | El MAYOR que el operador. | (V2> V1) da 1. |
> = | El operador MAYOR o IGUAL A. | (V2> = V1) da 0. |
EN | El operador IN. Si el valor de la variable es igual a cualquiera de los valores en una lista de valores dada, entonces devuelve 1; de lo contrario, devuelve 0. | V1 en (5,7,9,8) da 1. |
Ejemplo
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;
Al ejecutar el código anterior, obtenemos el siguiente resultado.
Operadores mínimos / máximos
La siguiente tabla describe los detalles de los operadores Mínimo / Máximo. Estos operadores comparan los valores de las variables en una fila y se devuelve el valor mínimo o máximo de la lista de valores en las filas.
Operador | Descripción | Ejemplo |
---|---|---|
MIN | El operador MIN. Devuelve el valor mínimo de la lista de valores en la fila. | MIN (45.2,11.6,15.41) da 11.6 |
MAX | El operador MAX. Devuelve el valor máximo de la lista de valores en la fila. | MAX (45.2,11.6,15.41) da 45.2 |
Ejemplo
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;
Al ejecutar el código anterior, obtenemos el siguiente resultado.
Operador de concatenación
La siguiente tabla describe los detalles del operador de concatenación. Este operador concatena dos o más valores de cadena. Se devuelve un valor de un solo carácter.
Operador | Descripción | Ejemplo |
---|---|---|
|| | El operador de concatenar. Devuelve la concatenación de dos o más valores. | 'Hola' || ' World 'da Hello World |
Ejemplo
DATA MYDATA1;
input COL1 $ COL2 $ COL3 $;
concat_ = (COL1 || COL2 || COL3);
datalines;
Tutorial s point
simple easy learning
;
PROC PRINT DATA = MYDATA1;
RUN;
Al ejecutar el código anterior, obtenemos el siguiente resultado.
Precedencia de operadores
La precedencia de los operadores indica el orden de evaluación de los múltiples operadores presentes en una expresión compleja. La siguiente tabla describe el orden de precedencia con en un grupo de operadores.
Grupo | Orden | Simbolos |
---|---|---|
Grupo I | De derecha a izquierda | ** + - NO MIN MAX |
Grupo II | De izquierda a derecha | * / |
Grupo III | De izquierda a derecha | + - |
Grupo IV | De izquierda a derecha | || |
Grupo V | De izquierda a derecha | <<= => => |