simple

crossTab

Descripción

La acción `crossTab` del conjunto de acciones `simple` se utiliza para realizar tabulaciones cruzadas, también conocidas como tablas de contingencia. Permite analizar la relación entre dos o más variables categóricas, mostrando la frecuencia de cada combinación de valores. Es fundamental para el análisis exploratorio de datos, permitiendo identificar patrones, asociaciones y dependencias entre variables. La acción puede generar tablas de una o dos vías y calcular diversas estadísticas como chi-cuadrado y medidas de asociación para evaluar la independencia de las variables.

simple.crossTab <result=results> <status=rc> / acrossBy=TRUE | FALSE, aggregator="CSS" | "CV" | "KURTOSIS" | "MAX" | "MEAN" | "MIN" | "N" | "NMISS" | "PROBT" | "SKEWNESS" | "STD" | "STDERR" | "SUM" | "TSTAT" | "USS" | "VAR", association=TRUE | FALSE, chiSq=TRUE | FALSE, col="variable-name", colFormat="string", colNBins=integer, descending=TRUE | FALSE, fullTable=TRUE | FALSE, groupByLimit=64-bit-integer, includeMissing=TRUE | FALSE, niceBinning=TRUE | FALSE, orderByGbyRaw=TRUE | FALSE, * row="variable-name", rowFormat="string", rowNBins=integer, * table={castable}, weight="variable-name";
Parámetros
ParámetroDescripción
acrossByCuando se establece en True, los niveles de las variables de fila y columna son los mismos a través de las variables de agrupación (group-by).
aggregatorEspecifica el agregador para el cual los valores de la variable de ponderación se resumen en una puntuación de orden de rango si se especifica una variable de ponderación.
associationCuando se establece en True, se calculan medidas de asociación entre la variable de fila y la de columna de la tabulación cruzada.
chiSqCuando se establece en True, se calculan estadísticas de chi-cuadrado para la prueba de independencia de las variables de fila y columna y sus valores p asintóticos.
colEspecifica la variable de columna.
colFormatEspecifica un formato para la variable de columna.
colNBinsEspecifica el número de contenedores (bins) a utilizar en la discretización de la variable de columna.
descendingCuando se establece en True, los niveles formateados de las variables se organizan en orden descendente.
fullTableCuando se establece en True, se realiza un escaneo completo de la tabla.
groupByLimitEspecifica el número máximo de niveles en un conjunto de agrupación (group-by). Cuando el servidor alcanza este número de niveles, se detiene y no devuelve un resultado. Especifique este parámetro si desea evitar la creación de conjuntos de resultados muy grandes en operaciones de agrupación.
includeMissingCuando se establece en True, los valores perdidos (missing) se incluyen en la tabulación cruzada.
niceBinningCuando se establece en True, se utiliza el algoritmo de 'nice binning' (discretización agradable) para crear intervalos con límites legibles.
orderByGbyRawCuando se establece en True, la ordenación de las variables de agrupación (group-by) se basa en los valores brutos de las variables, no en los valores formateados.
rowEspecifica la variable de fila.
rowFormatEspecifica un formato para la variable de fila.
rowNBinsEspecifica el número de contenedores (bins) a utilizar en la discretización de la variable de fila.
tableEspecifica la tabla de entrada que contiene los datos a analizar.
weightEspecifica la variable de ponderación numérica utilizada para calcular las estadísticas en la celda de la tabla y en los márgenes de la misma.
Creación de Datos de Ejemplo

Cargamos la tabla 'CARS' de la librería 'SASHELP' en una tabla en memoria de CAS llamada 'CARS_TABLE' para utilizarla en los ejemplos. Esta tabla contiene información sobre diferentes modelos de coches.

¡Copiado!
1 
2PROC CASUTIL;
3load
4DATA=sashelp.cars outcaslib="casuser" casout="cars_table" promote;
5 
6RUN;
7 

Ejemplos

Este ejemplo realiza una tabulación de frecuencia simple para la variable 'Type' en la tabla 'CARS_TABLE'. Esto cuenta el número de coches para cada tipo (Sedan, SUV, etc.).

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3SIMPLE.crossTab / TABLE={name="cars_table"}, row="Type";
4 
5RUN;
6 
Resultado :
La salida es una tabla que muestra cada valor único de la variable 'Type' y el número de veces que aparece en el conjunto de datos (frecuencia).

Este ejemplo crea una tabla de contingencia de dos vías para analizar la relación entre el 'Origin' (origen) y el 'Type' (tipo) de los vehículos.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3SIMPLE.crossTab / TABLE={name="cars_table"}, row="Origin", col="Type";
4 
5RUN;
6 
Resultado :
Una tabla de contingencia que muestra la frecuencia de cada combinación de 'Origin' y 'Type'. Por ejemplo, cuántos SUVs son de Asia, Europa o USA.

Este ejemplo realiza una tabulación cruzada de dos vías entre 'Origin' y 'Type'. Utiliza 'MSRP' como ponderación ('weight') para calcular la suma de los precios de venta para cada combinación. También solicita estadísticas de chi-cuadrado ('chiSq') y medidas de asociación ('association') para analizar la relación entre las variables.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3SIMPLE.crossTab / TABLE={name="cars_table"}, row="Origin", col="Type", weight="MSRP", aggregator="SUM", chiSq=true, association=true;
4 
5RUN;
6 
Resultado :
La salida incluye una tabla de contingencia que muestra la suma de 'MSRP' para cada cruce de 'Origin' y 'Type'. Además, se generan tablas separadas con los resultados de la prueba de chi-cuadrado y diversas medidas de asociación (como Gamma, Tau-b de Kendall, etc.) para evaluar la fuerza y la significancia de la relación.

Este ejemplo muestra cómo agrupar una variable numérica ('Horsepower') en 5 contenedores (bins) y cruzarla con la variable 'Type'. Esto permite tratar una variable continua como si fuera categórica para el análisis de tabulación.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3SIMPLE.crossTab / TABLE={name="cars_table"}, row="Horsepower", rowNBins=5, col="Type";
4 
5RUN;
6 
Resultado :
Una tabla de contingencia donde las filas representan 5 rangos de la variable 'Horsepower' y las columnas representan los diferentes 'Type' de vehículos, mostrando la frecuencia en cada celda.

FAQ

¿Qué es la acción crossTab?
¿Para qué se utiliza el parámetro 'row'?
¿Puedo especificar una variable para las columnas? Si es así, ¿cómo?
¿Cómo puedo ponderar los datos en la tabulación cruzada?
¿Es posible calcular estadísticas de chi-cuadrado?
¿Qué hace el parámetro 'association'?
¿Cómo se manejan los valores perdidos por defecto y cómo puedo incluirlos?
¿Puedo agrupar los resultados por una o más variables?
¿Qué hace el parámetro 'aggregator' cuando se usa con una variable 'weight'?