Un operador en SAS es un símbolo que se usa en una expresión matemática, lógica o de comparación. Estos símbolos están integrados en el lenguaje SAS y muchas declaraciones se pueden combinar en una sola expresión para producir un resultado final.
A continuación se muestra una lista de operadores de categoría SAS.
Veremos cada uno de ellos por turno. Los operadores siempre se utilizan con variables que forman parte de los datos analizados por el programa SAS.
La siguiente tabla detalla los operadores aritméticos. Suponga dos variables de datos V1 y V2con valores 8 y cuatro respectivamente.
Operador | Descripción | Ejemplo |
---|---|---|
+ | Añadiendo | V1 + V2 = 12 |
– | Sustracción | V1-V2 = 4 |
* | Multiplicación | V1 * V2 = 32 |
/ | Separación | V1 / V2 = 2 |
** | Exponenciación | V1 ** V2 = 4096 |
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.
La siguiente tabla detalla los operadores lógicos. Estos operadores evalúan el verdadero valor de la expresión. Por tanto, el resultado de los operadores lógicos es siempre 1 o 0. Suponga dos variables de datos V1 y V2con valores 8 y cuatro respectivamente.
Operador | Descripción | Ejemplo |
---|---|---|
Y | Y operador. 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. |
| | 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 igual a 1. |
~ | El operador NOT. El resultado de un operador NOT en forma de expresión cuyo valor es FALSE o el valor faltante es 1; de lo contrario, es 0. | NO (V1> 3) es igual a 1. |
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, obtendremos el siguiente resultado.
La siguiente tabla detalla los operadores de comparación. Estos operadores comparan los valores de las variables y el resultado es el valor de verdad representado por 1 para VERDADERO y 0 para Falso. Suponga dos variables de datos V1 y V2con valores 8 y cuatro respectivamente.
Operador | Descripción | Ejemplo |
---|---|---|
= | Operador EQUAL. Si ambos valores de datos son iguales, el resultado es 1; de lo contrario, 0. | (V1 = 8) da 1. |
^ = | Operador NO IGUAL. Si ambos valores de datos no son iguales, el resultado es 1; de lo contrario, 0. | (V1 ^ = V2) da 1. |
< | MENOS QUE EL OPERADOR. | (V2 |
<= | Operador MENOS o IGUAL. | (V2 <= 4) da 1. |
> | MÁS QUE UN OPERADOR. | (V2> V1) da 1. |
> = | OPERADOR MÁS QUE O IGUAL. | (V2> = V1) da 0. |
EN | Operador IN. Si el valor de la variable es igual a cualquiera de los valores en la lista de valores dada, entonces devuelve 1; de lo contrario, devuelve 0. | V1 en (5,7,9,8) da 1. |
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.
La siguiente tabla detalla los operadores mínimo / máximo. Estos operadores comparan los valores de las variables en una cadena y devuelven el valor mínimo o máximo de una lista de valores en las cadenas.
Operador | Descripción | Ejemplo |
---|---|---|
MIN | Operador MIN. Devuelve el valor mínimo de una lista de valores en una cadena. | MIN (45,2,11,6,15,41) da 11,6 |
MÁXIMO | Operador MAX. Devuelve el valor máximo de una lista de valores en una cadena. | MAX (45.2,11,6,15,41) da 45.2 |
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.
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 |
---|---|---|
|| | Operador de concatenación. Devuelve la concatenación de dos o más valores. | «Hola» || World ‘da Hello World |
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.
La precedencia de operadores especifica el orden en el que se evalúan varios operadores en una expresión compleja. La siguiente tabla describe el orden de precedencia en el grupo de operadores.
Grupo | Orden | Simbolos |
---|---|---|
Grupo I | De derecha a izquierda | ** + – NO MIN MAX |
II grupo | De izquierda a derecha | * / |
III grupo | De izquierda a derecha | + – |
Grupo IV | De izquierda a derecha | || |
Grupo V | De izquierda a derecha | <<= => => |
🚫