Analizar variables categóricas es una tarea esencial en ciencia de datos. Ya sea para clasificar clientes, segmentar productos o interpretar respuestas de encuestas, los datos categóricos sostienen muchos flujos de trabajo analíticos. Una operación habitual es generar tablas de frecuencia para conocer cuántas veces aparece cada categoría. En este artículo explico cómo R maneja variables categóricas, un breve recorrido histórico, la evolución de las funciones para tablas de frecuencia y ejemplos prácticos para transformar variables categóricas en data frames listos para procesamiento posterior.

Origen y evolución del análisis de datos categóricos en R: El análisis categórico nace de la estadística clásica mediante tablas de contingencia y cruzamientos. Con la aparición de R en 1993 como implementación abierta del lenguaje S, estos métodos se hicieron programables y accesibles. En R las variables categóricas se representan como factors y desde temprano se incorporaron funciones base como table para recuentos. Con el crecimiento de los volúmenes de datos surgieron paquetes como Hmisc para funciones como cut2 y plyr con count que ofrecen alternativas más eficientes y orientadas a producir data frames limpios.

Qué son las variables categóricas: Son datos que toman un conjunto limitado y predefinido de valores, generalmente etiquetas o identificadores de grupo. Se distinguen dos tipos principales: nominal sin orden inherente como tipo de producto, género o país; y ordinal con orden natural como tallas small medium large o niveles de satisfacción del 1 al 5. Analistas a menudo convierten variables numéricas a categóricas para facilitar interpretación y segmentación, por ejemplo edad en ninos adultos mayores o ingresos en bajo medio alto.

Generar categorías en R: R ofrece varias formas de convertir variables continuas en categorías. Usando el dataset iris podemos agrupar Sepal.Length. Ejemplo con cut: lista1 = split(x, cut(x$Sepal.Length, 3)) esto crea tres grupos por rangos numéricos iguales. Ejemplo con cut2 del paquete Hmisc: lista2 = split(x, cut2(x$Sepal.Length, g=3)) cut2 intenta equilibrar el número de observaciones por grupo. La diferencia entre rangos iguales y tamaños de grupo iguales es importante en segmentación de clientes u otros casos reales.

Añadir categorías al dataset: En lugar de dividir en listas puedes asignar la categoría como nueva variable: x$class <- cut(x$Sepal.Length, 3) x$class2 <- cut2(x$Sepal.Length, 3) Si prefieres etiquetas numéricas: x$class <- as.numeric(x$class)

Crear tablas de frecuencia en R: La función table es la forma más simple para contar frecuencias: class_length = table(x$class) table devuelve un objeto table no un data frame, por lo que hay que convertir: class_length_df = as.data.frame(class_length) y ajustar nombres de columna como sea necesario. Esto puede ser engorroso cuando manejas muchas variables porque los nombres resultantes suelen ser genéricos.

Uso de count del paquete plyr: count es una alternativa más elegante y práctica: class_length2 = count(x, 'class') Ventajas de count: devuelve automáticamente un data frame, mantiene nombres de variables originales, elimina combinaciones con frecuencia cero y es más rápido en tablas multiway o con grandes volúmenes de datos. Para muchas variables categóricas simultáneas count facilita obtener un dataset limpio y listo para análisis o modelado.

Comparativa y tablas multiway: Para tablas bivariantes puedes usar table y convertir a data frame: two_way = as.data.frame(table(x$class, x$class2)) o usar count: two_way_count = count(x, c('class', 'class2')) count produce una salida más limpia al eliminar combinaciones sin observaciones. Para tablas de tres o más variables xtabs puede generar resultados pero la interpretación se complica porque genera subtables. En escenarios N-way count se muestra superior al entregar un único data frame ordenado y eficiente.

Transformar tablas a data frames y buenas prácticas: Después de generar recuentos conviene mantener un formato tidy con columnas para cada variable categórica y una columna de frecuencia. Así facilitas uniones, visualizaciones y modelos. Siempre verifica niveles de factors para evitar combinaciones vacías y considera ordenar por frecuencia o por importancia del negocio.

Aplicaciones reales: Las tablas de frecuencia son útiles en retail para identificar productos más vendidos y patrones de compra por segmento; en salud para clasificar enfermedades y segmentar edades; en marketing para crear segmentos por lifetime value y engagement; y en manufactura para analizar tipos de defectos y códigos de control de calidad. En cada caso, convertir variables continuas a categorías con criterio mejora la comunicación de hallazgos y la acción operativa.

Estudios de caso breves: Telecom churn: un operador segmentó clientes por tenure y charges y usó count para tablas multiway que facilitaron detectar combinaciones con alta probabilidad de churn. Retail inventario: un comercio aplicó cut a precios para crear low medium premium y las tablas de frecuencia revelaron exceso de SKUs en la categoría baja, lo que guió una estrategia de optimización. Seguros: un analista usó cut2 para crear quintiles de edad y combinó age group con tipo de reclamo y vehículo con count para identificar segmentos de riesgo.

Consejos prácticos: 1 Mantén factors con niveles explícitos si vas a comparar periodos. 2 Usa cut2 si necesitas grupos balanceados en número de observaciones. 3 Prefiere count cuando trabajes con varias variables categóricas y necesites un data frame listo para modelado. 4 Convierte resultados a formatos tidy y documenta criterios de binning para reproducibilidad.

Sobre Q2BSTUDIO: En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida con experiencia en soluciones de datos e inteligencia aplicada. Ofrecemos servicios de software a medida, desarrollo de aplicaciones y consultoría en inteligencia artificial y modelos para ia para empresas. Nuestro equipo combina experiencia en ciberseguridad, servicios cloud aws y azure y servicios inteligencia de negocio para entregar proyectos completos que integran agentes IA, Power BI y automatización de procesos. Si buscas una solución escalable podemos ayudar a diseñar pipelines de datos que incorporen generación automática de tablas de frecuencia, segmentación y despliegue en la nube, integrando seguridad por diseño y prácticas de DevOps.

Ejemplo de cómo Q2BSTUDIO puede aportar: imaginemos un proyecto de analítica para e-commerce donde se transforman variables continuas a categorías, se generan tablas de frecuencia multiway y se alimentan dashboards en Power BI. Nuestro servicio de desarrollo de aplicaciones a medida se encarga de la ingesta datos, la capa de procesamiento en R o Python, la orquestación en la nube y la entrega de informes interactivos con Power BI, todo con controles de ciberseguridad y cumplimiento.

Conclusión: Las tablas de frecuencia son la base del análisis de variables categóricas. Dominar funciones como cut cut2 table count y xtabs en R permite convertir datos en insights accionables. Para proyectos empresariales que requieren integración, seguridad y escalabilidad, Q2BSTUDIO ofrece servicios de software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure y soluciones de inteligencia de negocio que llevan el análisis a producción. Si deseas optimizar procesos, segmentar clientes o desplegar agentes IA, nuestro equipo puede acompañarte en todo el ciclo de vida del proyecto.