freqTab

freqTab

Descripción

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ámetros
ParámetroDescripción
tableEspecifica la tabla de entrada en memoria (CAS table). Incluye sub-parámetros como 'name' (obligatorio), 'caslib' y 'where' para filtrar datos.
tabulateDefine las tablas de frecuencia a generar. Use 'vars' para las variables de análisis y 'cross' para definir cruces de variables (tablas de contingencia).
weightEspecifica una variable numérica que contiene los pesos o ponderaciones para cada observación en el análisis.
includeMissingSi 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.
orderDefine 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.
outputTablesLista los nombres de las tablas de resultados que se guardarán como tablas CAS en el servidor, útil para post-procesamiento.
tabDisplayControla el formato de visualización. 'CROSSLIST' genera una tabla por estrato, mientras que 'LIST' presenta toda la tabulación cruzada en una lista plana.
Creación de datos de muestra de Ventas

Crea una tabla en memoria llamada 'VENTAS' con datos categóricos de región, producto y una variable numérica de cantidad.

¡Copiado!
1PROC 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 ";
18RUN;

Ejemplos

Genera una tabla de frecuencia simple para la variable 'Region', mostrando conteos y porcentajes.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2 freqTab.freqTab /
3 TABLE={name="ventas", caslib="casuser"}
4 tabulate={vars={"Region"}};
5RUN;
Resultado :
Muestra una tabla con los niveles de 'Region' (Norte, Sur, Est), su frecuencia absoluta y su porcentaje relativo.

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'.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC 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"}};
9RUN;
Resultado :
Genera una tabla cruzada detallada en formato lista. Los niveles con más ocurrencias aparecen primero. Se incluyen las filas donde 'Producto' es faltante. Además, se crea la tabla en memoria 'resultado_cruce'.

FAQ

¿Cuál es el propósito principal de la acción freqTab?
¿Cómo puedo generar una tabla de tabulación cruzada de dos vías?
¿Cómo se incluyen los valores faltantes como niveles válidos en el análisis?
¿Qué opciones tengo para ordenar los niveles de las variables?
¿Cómo puedo guardar los resultados del análisis en una tabla CAS?
¿Es posible ponderar las observaciones en el análisis?
¿Cómo puedo controlar el formato de visualización de las tablas cruzadas?