Calcula tablas de frecuencia de una vía y tablas cruzadas (crosstabulations) de múltiples vías en SAS Viya. Esta acción es fundamental para el análisis descriptivo de datos categóricos, permitiendo examinar la distribución de valores, identificar niveles con pocas observaciones, gestionar valores faltantes y resumir relaciones entre variables mediante conteos y porcentajes.
| Parámetro | Descripción |
|---|---|
| table | Especifica la tabla de entrada en memoria (CAS table). Incluye sub-parámetros como 'name' (obligatorio), 'caslib' y 'where' para filtrar datos. |
| tabulate | Define las tablas de frecuencia a generar. Use 'vars' para las variables de análisis y 'cross' para definir cruces de variables (tablas de contingencia). |
| weight | Especifica una variable numérica que contiene los pesos o ponderaciones para cada observación en el análisis. |
| includeMissing | Si se establece en TRUE, los valores faltantes se tratan como un nivel válido en las variables de análisis y se incluyen en los cálculos. |
| order | Define el orden de clasificación de los niveles de las variables. 'FREQ' ordena por frecuencia descendente, 'FORMATTED' por valor formateado, e 'INTERNAL' por valor sin formato. |
| outputTables | Lista los nombres de las tablas de resultados que se guardarán como tablas CAS en el servidor, útil para post-procesamiento. |
| tabDisplay | Controla el formato de visualización. 'CROSSLIST' genera una tabla por estrato, mientras que 'LIST' presenta toda la tabulación cruzada en una lista plana. |
Crea una tabla en memoria llamada 'VENTAS' con datos categóricos de región, producto y una variable numérica de cantidad.
| 1 | PROC CAS; |
| 2 | dataStep.runCode RESULT=r / single='yes' code=" |
| 3 | data casuser.ventas; |
| 4 | length Region $ 10 Producto $ 10; |
| 5 | input Region $ Producto $ Cantidad; |
| 6 | datalines; |
| 7 | Norte Silla 10 |
| 8 | Norte Mesa 20 |
| 9 | Norte Silla 15 |
| 10 | Sur Mesa 25 |
| 11 | Sur Silla 10 |
| 12 | Sur . 5 |
| 13 | Est Mesa 30 |
| 14 | Est Silla 12 |
| 15 | ; |
| 16 | run; |
| 17 | "; |
| 18 | RUN; |
Genera una tabla de frecuencia simple para la variable 'Region', mostrando conteos y porcentajes.
| 1 | PROC CAS; |
| 2 | freqTab.freqTab / |
| 3 | TABLE={name="ventas", caslib="casuser"} |
| 4 | tabulate={vars={"Region"}}; |
| 5 | RUN; |
Realiza un cruce de 'Region' por 'Producto'. Incluye valores faltantes, ordena los resultados por frecuencia descendente (los más comunes primero) y guarda el resultado en una tabla CAS llamada 'resultado_cruce'.
| 1 | PROC CAS; |
| 2 | freqTab.freqTab / |
| 3 | TABLE={name="ventas", caslib="casuser"} |
| 4 | includeMissing=TRUE |
| 5 | order="FREQ" |
| 6 | tabDisplay={FORMAT="CROSSLIST"} |
| 7 | tabulate={{vars={"Producto"}, cross={"Region"}}} |
| 8 | outputTables={names={"resultado_cruce"}}; |
| 9 | RUN; |