Tablas de Frecuencia en R: Fundamentos, Aplicaciones y Reportes

Tablas de Frecuencia en R: Fundamentos, Aplicaciones y Reportes


Tablas de Frecuencia en R: Fundamentos, Aplicaciones y Reportes

En esta lección aprenderás a construir, interpretar y presentar tablas de frecuencia con R. A través de ejemplos guiados y ejercicios aplicados, dominarás una de las herramientas esenciales para el análisis exploratorio de datos categóricos.

Objetivos de Aprendizaje
Al finalizar esta clase, el estudiante será capaz de:

  • Definir las tablas de frecuencia y su utilidad en el análisis de datos.
  • Construir tablas de frecuencia en R utilizando table().
  • Interpretar los resultados de una tabla de frecuencias en distintos contextos.
  • Comparar distribuciones de frecuencia de diferentes variables y evaluar su significado.
  • Diseñar reportes estadísticos que incluyan tablas de frecuencia bien estructuradas.

ÍNDICE DE CONTENIDOS:
Introducción conceptual
Construcción de tablas de frecuencia
Interpretación de resultados
Comparación de distribuciones
Reportes estadísticos con tablas
Actividad integradora

Introducción conceptual

¿Qué es una tabla de frecuencia?

Una tabla de frecuencia es una herramienta estadística que organiza y resume datos categóricos o discretos en función del número de veces (frecuencia) que ocurre cada categoría o valor dentro de un conjunto de observaciones. Facilita visualizar y comprender la distribución de los datos, identificando rápidamente cuáles son los valores más comunes y cómo se distribuyen dentro del conjunto analizado.

Tipos de frecuencias utilizadas

Existen diferentes tipos de frecuencias que pueden representarse en una tabla:

  • Frecuencia absoluta: indica cuántas veces aparece cada categoría en el conjunto de datos. Se representa habitualmente por f_i.
  • Frecuencia relativa: representa la proporción o porcentaje de cada categoría respecto al total de observaciones. Se calcula dividiendo la frecuencia absoluta por el número total de observaciones.
  • Frecuencia acumulada: representa la suma de las frecuencias absolutas hasta un cierto punto o categoría. Es especialmente útil en análisis que involucran datos ordinales o intervalos.

Importancia y utilidad en el análisis de datos

Las tablas de frecuencia son fundamentales en la estadística descriptiva porque proporcionan una manera clara y rápida de explorar datos. Entre sus principales beneficios destacan:

  • Simplificación: resumen grandes volúmenes de datos en tablas fácilmente interpretables.
  • Claridad visual: ayudan a identificar patrones, valores atípicos y distribuciones.
  • Facilitación de análisis comparativo: permiten comparar grupos o categorías rápidamente, identificando diferencias y similitudes entre ellas.
  • Preparación para gráficos: sirven como base para generar gráficos que faciliten la comunicación visual de resultados.

A continuación, veremos cómo construir estas tablas utilizando el lenguaje de programación R, para luego interpretarlas en contextos prácticos, comparar distribuciones y elaborar reportes estadísticos completos.

Construcción de tablas de frecuencia

Uso de la función table() en R

En R, la manera más sencilla y directa de construir una tabla de frecuencias es mediante la función table(). Esta función recibe un vector como entrada y devuelve la frecuencia absoluta de cada valor único presente en dicho vector.

Sintaxis básica

La sintaxis general para crear tablas de frecuencias es:

table(vector)

Donde vector es el conjunto de datos categóricos o discretos que queremos analizar.

Ejemplo práctico

Supongamos que tenemos los resultados de una encuesta simple sobre preferencias de bebidas:

bebidas <- c("Té", "Café", "Café", "Té", "Té", "Jugo", "Café", "Agua", "Té", "Jugo")
# Construimos la tabla de frecuencia
tabla_bebidas <- table(bebidas)
# Visualizamos la tabla
print(tabla_bebidas)

Resultado obtenido

bebidas
 Agua  Café  Jugo    Té 
    1     3     2     4 

Esta salida muestra la frecuencia absoluta de cada bebida en el conjunto de datos: Té fue elegido 4 veces, Café 3 veces, Jugo 2 veces, y Agua solo una vez.

Obteniendo frecuencias relativas

Además de la frecuencia absoluta, a menudo interesa calcular la frecuencia relativa, que proporciona información sobre la proporción o porcentaje de cada categoría respecto al total.

Función prop.table()

La función prop.table() permite transformar fácilmente frecuencias absolutas en relativas:

# Frecuencias relativas (proporciones)
frecuencia_relativa <- prop.table(tabla_bebidas)
print(frecuencia_relativa)
# Frecuencias relativas en porcentaje
frecuencia_porcentaje <- prop.table(tabla_bebidas) * 100
round(frecuencia_porcentaje, 2)

Resultado obtenido

bebidas
 Agua  Café  Jugo    Té 
  0.1   0.3   0.2   0.4 

O bien, en porcentajes:

bebidas
 Agua  Café  Jugo    Té 
   10    30    20    40

Tablas cruzadas de dos variables

A menudo necesitamos analizar simultáneamente la frecuencia con que ocurren combinaciones específicas de dos variables categóricas. Para ello, utilizamos una tabla cruzada o bidimensional.

Ejemplo práctico con dos variables

Considera un estudio que registra la preferencia de bebida según género:

# Crear datos
datos <- data.frame(
  bebida = c("Té", "Café", "Café", "Té", "Té", "Jugo", "Café", "Agua", "Té", "Jugo"),
  genero = c("Mujer", "Hombre", "Mujer", "Hombre", "Mujer", "Hombre", "Hombre", "Mujer", "Mujer", "Hombre")
)
# Construimos tabla cruzada
tabla_cruzada <- table(datos$genero, datos$bebida)
print(tabla_cruzada)

Resultado obtenido

        Agua Café Jugo Té
Hombre    0    2    2  1
Mujer     1    1    0  3

Esta tabla indica claramente cómo se distribuyen las preferencias según género. Por ejemplo, ningún hombre eligió agua y ninguna mujer eligió jugo.

Frecuencias relativas en tablas cruzadas

También es posible obtener proporciones en tablas cruzadas con prop.table(). Puedes calcular frecuencias relativas por filas (distribución porcentual dentro de cada género) o por columnas (distribución porcentual dentro de cada bebida), según el valor del argumento margin.

El argumento margin controla cómo se normalizan los valores:

  • margin = 1 → proporciones por fila: cada fila suma 1 (o 100%). Se interpreta como la distribución interna de columnas dentro de cada fila.
  • margin = 2 → proporciones por columna: cada columna suma 1 (o 100%). Se interpreta como la distribución interna de filas dentro de cada columna.
  • sin especificar → proporción global: cada celda se divide por el total de toda la tabla, entregando proporciones respecto al total general.
# Proporciones por filas (género)
prop.table(tabla_cruzada, margin = 1)
# Proporciones por columnas (bebida)
prop.table(tabla_cruzada, margin = 2)

Resultado por filas (género)

        Agua Café Jugo   Té
Hombre  0.00 0.40 0.40 0.20
Mujer   0.20 0.20 0.00 0.60

En este caso, cada fila representa un género, y las proporciones muestran cómo se distribuye la preferencia de bebidas dentro de ese grupo. Por ejemplo, entre los hombres, un 40% prefirió Café y otro 40% Jugo, mientras que el 60% de las mujeres prefirió Té.

Resultado por columnas (bebida)

        Agua Café Jugo   Té
Hombre  0.00 0.67    1 0.25
Mujer   1.00 0.33    0 0.75

Aquí, cada columna representa una bebida, y las proporciones muestran cómo se distribuyen los géneros dentro de cada tipo de bebida. Por ejemplo, el 75% de quienes eligieron Té son mujeres, y el 100% de quienes eligieron Jugo son hombres.

Estos resultados permiten análisis detallados: por ejemplo, aunque Té es la bebida más elegida en general, la gran mayoría de esas elecciones provienen de mujeres. La forma en que se utilice el argumento margin es crucial para orientar correctamente la interpretación.

Interpretación de resultados

Aspectos clave para interpretar tablas de frecuencia

La interpretación de los resultados obtenidos en una tabla de frecuencias implica examinar cuidadosamente la información representada para extraer conclusiones relevantes sobre los datos analizados. A continuación, se describen algunos aspectos clave que debes considerar durante este proceso:

  • Valores dominantes: Identifica rápidamente qué categoría tiene la frecuencia más alta, lo que indica la tendencia central o preferencia predominante en el conjunto de datos.
  • Distribución general: Observa cómo están distribuidos los valores. ¿Hay categorías con frecuencias muy similares o muy distintas entre sí?
  • Proporciones relativas: Evalúa el peso relativo de cada categoría en comparación con el total. Esto te ayudará a entender qué tan significativas son las diferencias encontradas.
  • Posibles valores atípicos o anomalías: Identifica categorías con frecuencias extremadamente bajas o altas en comparación con otras, lo que podría señalar comportamientos inusuales o datos que requieren análisis adicionales.

Ejemplo práctico de interpretación

Consideremos nuevamente el ejemplo anterior sobre preferencias de bebidas, representado en la siguiente tabla de frecuencias relativas:

bebidas
 Agua  Café  Jugo    Té 
   10    30    20    40

A partir de estos resultados, podemos inferir que:

  • La bebida más preferida entre los encuestados fue claramente el , elegido por un 40% del total.
  • El Café es la segunda bebida más preferida, con una preferencia considerable del 30%.
  • El Agua fue la menos elegida (10%), lo cual podría ser relevante si se buscaba evaluar hábitos saludables o preferencias menos comunes.
  • Se observa una distribución relativamente equilibrada entre bebidas como Jugo (20%) y Café (30%), indicando gustos variados entre los encuestados.

Interpretación de tablas cruzadas

Cuando se analizan simultáneamente dos variables mediante una tabla cruzada, es importante interpretar no solo las frecuencias absolutas o relativas, sino también las relaciones entre las categorías de ambas variables.

Considera la siguiente tabla cruzada de género y preferencia de bebidas:

        Agua Café Jugo   Té
Hombre  0.00 0.40 0.40 0.20
Mujer   0.20 0.20 0.00 0.60

A partir de esta tabla, puedes interpretar lo siguiente:

  • Entre los hombres, existe una clara preferencia por Café y Jugo (ambos con 40%). Ningún hombre eligió Agua, sugiriendo que quizás esta opción sea menos atractiva en este grupo específico.
  • En contraste, las mujeres muestran una fuerte preferencia por el (60%), siendo esta bebida claramente dominante dentro del grupo femenino. También destaca que ninguna mujer optó por Jugo.
  • La categoría Agua fue elegida únicamente por mujeres (20%), lo que podría implicar diferentes patrones o criterios de selección en función del género.

Consideraciones adicionales al interpretar resultados

Al interpretar tablas de frecuencia es esencial tener presente el contexto en el cual se obtuvieron los datos. Factores tales como el tamaño de la muestra, posibles sesgos en la recolección de información, y las características específicas de la población estudiada pueden influir significativamente en cómo se deben entender estos resultados.

Finalmente, recuerda siempre complementar tus interpretaciones con gráficos o visualizaciones adecuadas (como gráficos de barras o circulares), que faciliten comunicar claramente tus conclusiones y que ayuden a destacar visualmente los patrones encontrados.

Comparación de distribuciones

¿Por qué comparar distribuciones?

La comparación de distribuciones consiste en analizar simultáneamente dos o más variables categóricas mediante tablas de frecuencia, para identificar similitudes, diferencias y patrones significativos. Esta práctica es fundamental en análisis exploratorios, estudios comparativos, o en contextos donde interesa observar cómo una variable se relaciona con otra (por ejemplo, la preferencia de un producto según diferentes grupos demográficos).

Construcción de tablas cruzadas para comparación

Para comparar distribuciones se suelen utilizar tablas cruzadas (también llamadas tablas de contingencia). Estas tablas muestran cómo se distribuyen simultáneamente las frecuencias entre dos variables categóricas.

Ejemplo práctico: comparación según dos variables categóricas

Consideremos un ejemplo en el que se analiza la preferencia por un tipo de bebida (variable 1) en función del nivel educativo de los encuestados (variable 2):

# Crear datos simulados
datos_encuesta <- data.frame(
  bebida = c("Café", "Té", "Agua", "Café", "Jugo", "Té", "Agua", "Café", "Té", "Agua", "Jugo", "Café"),
  educacion = c("Secundaria", "Universitaria", "Universitaria", "Secundaria", 
                "Primaria", "Secundaria", "Primaria", "Universitaria", 
                "Universitaria", "Secundaria", "Primaria", "Secundaria")
)
# Construcción de la tabla cruzada
tabla_comparativa <- table(datos_encuesta$educacion, datos_encuesta$bebida)
print(tabla_comparativa)

Resultado obtenido

              Agua Café Jugo Té
Primaria         1    0    2  0
Secundaria       1    3    0  2
Universitaria    1    1    0  2

Esta tabla permite visualizar claramente cómo varía la preferencia por bebidas según el nivel educativo de los participantes.

Análisis e interpretación de resultados comparativos

Al analizar esta tabla comparativa podemos extraer varias conclusiones interesantes:

  • La bebida Café es claramente preferida por individuos con educación Secundaria (3 de las 4 elecciones totales), mientras que es elegida menos frecuentemente por los otros grupos.
  • El Jugo aparece únicamente como preferencia en personas con nivel educativo Primario, lo que podría indicar un patrón específico o una característica particular de este grupo.
  • El muestra una preferencia homogénea entre individuos con educación Secundaria y Universitaria (2 elecciones cada uno), sugiriendo gustos comunes en estos grupos.
  • Agua tiene una distribución más uniforme entre los tres niveles educativos, con una elección por cada grupo, lo que podría sugerir que esta opción es menos influenciada por el nivel educativo.

Evaluando significados estadísticos

Cuando comparas distribuciones, es importante considerar la significación estadística de las diferencias observadas. Aunque la interpretación visual es valiosa, en estudios más rigurosos podrías recurrir a pruebas estadísticas como el test Chi-cuadrado (chisq.test() en R) para evaluar formalmente si las diferencias observadas entre grupos son significativas o pueden deberse al azar.

Ejemplo de test Chi-cuadrado en R

Utilizando el ejemplo anterior:

# Realizando prueba Chi-cuadrado
resultado_chi <- chisq.test(tabla_comparativa)
# Mostrando resultado
print(resultado_chi)

El resultado obtenido mostrará algo similar a esto:

Pearson's Chi-squared test
data:  tabla_comparativa
X-squared = 9, df = 6, p-value = 0.1738

Aquí, el valor p (p-value) es esencial:

  • Si el valor p es menor a 0.05, concluimos que las diferencias observadas entre las distribuciones son estadísticamente significativas, indicando una relación relevante entre las variables.
  • Si el valor p es mayor a 0.05 (como en este ejemplo, 0.1738), no existen evidencias suficientes para afirmar que la diferencia sea significativa estadísticamente, por lo que podría ser debida al azar.

En este caso, dado el valor p = 0.1738, no tenemos evidencia suficiente para concluir que la preferencia por bebidas varía significativamente según nivel educativo con estos datos específicos.

Recomendaciones para la práctica

  • Combina análisis visual con pruebas estadísticas para asegurar una interpretación robusta y confiable.
  • Presta atención al contexto: resultados significativos deben considerarse en el marco de la realidad que representan.
  • Si la muestra es pequeña, complementa con visualizaciones gráficas (por ejemplo, gráficos de barras apiladas o mosaicos) para una mejor comunicación.

Reportes estadísticos con tablas

Importancia de las tablas en los reportes estadísticos

Las tablas de frecuencia son fundamentales en los reportes estadísticos debido a que sintetizan grandes volúmenes de información de manera clara, organizada y eficiente. Su correcta incorporación en informes permite transmitir los resultados de análisis complejos de forma accesible, facilitando la toma de decisiones basada en datos.

Estructura básica de un reporte estadístico con tablas

Un buen reporte estadístico que incluye tablas de frecuencia debe considerar los siguientes elementos clave:

  • Título claro y descriptivo: cada tabla debe tener un título breve que explique exactamente qué datos contiene y a qué hace referencia.
  • Encabezados de columnas y filas: deben ser claros, descriptivos y fáciles de entender sin necesidad de información adicional.
  • Fuente de datos: indica claramente el origen o método utilizado para recopilar los datos presentados en la tabla.
  • Notas o aclaraciones: añade notas al pie si es necesario aclarar metodologías, excepciones o advertencias relevantes para la interpretación de los datos.

Ejemplo práctico de tabla para reporte estadístico

A continuación se presenta un ejemplo concreto de cómo estructurar una tabla de frecuencia en un reporte estadístico:

Preferencia de bebidas según género (n = 120 encuestados)

BebidaHombresMujeresTotal general% del total
Café35256050%
10203025%
Jugo1552016.7%
Agua55108.3%
Total general6555120100%

Fuente: Encuesta sobre hábitos de consumo, Universidad Central, 2025.

Redacción de observaciones en un reporte estadístico

A continuación se presenta cómo redactar observaciones interpretativas en torno a la tabla anterior:

  • La bebida más preferida entre todos los encuestados es el Café, elegido por el 50% del total de participantes.
  • Existe una notable diferencia entre géneros en cuanto a preferencias: los hombres tienen una marcada preferencia por el Café (53.8% dentro del grupo masculino), mientras que las mujeres, aunque también prefieren mayormente el Café, muestran mayor interés en el (36.4% dentro del grupo femenino).
  • La opción menos preferida en ambos géneros fue el Agua, con solo un 8.3% del total, lo cual podría indicar preferencias más inclinadas hacia bebidas con sabor o estimulantes.
  • Estos resultados podrían servir para orientar estrategias de mercadeo, segmentar campañas publicitarias o evaluar tendencias de consumo según género.

Consejos para crear reportes estadísticos efectivos

  • Simplicidad y claridad: mantén tablas simples, evitando saturar con información excesiva o poco relevante.
  • Complementa con gráficos: siempre que sea posible, acompaña las tablas con gráficos que faciliten la rápida visualización de tendencias y diferencias.
  • Formato consistente: utiliza un estilo uniforme en todas las tablas del reporte (colores, tipografías, espaciados), mejorando la profesionalidad y legibilidad.
  • Interpretación contextual: no te limites a presentar los datos; incluye observaciones, interpretaciones y recomendaciones relevantes en función del contexto y objetivos del análisis.

Uso de R Markdown para reportes automáticos

Finalmente, es recomendable utilizar herramientas como R Markdown para automatizar la creación de reportes estadísticos que incluyan tablas de frecuencia. Esto facilita la actualización periódica del informe y garantiza la reproducibilidad del análisis.

Ejemplo de código básico para generar tablas con R Markdown:

---
title: "Reporte Estadístico: Preferencias de Bebida"
author: "Tu Nombre"
date: "`r format(Sys.Date(), '%d de %B de %Y')`"
output: 
  html_document:
    toc: true
    toc_depth: 2
    number_sections: true
    theme: cosmo
    df_print: paged
---
## Introducción
Este reporte muestra la distribución de preferencias de bebida entre hombres y mujeres, basado en datos simulados. Se presentan frecuencias absolutas, totales generales y porcentajes relativos, junto a una tabla resumen clara y bien estructurada.
## Tabla de frecuencias
```{r tabla, echo=FALSE, results='asis', message=FALSE}
library(knitr)
library(dplyr)
# Datos simulados
datos <- data.frame(
  Bebida = c("Café", "Té", "Jugo", "Agua"),
  Hombres = c(35, 10, 15, 5),
  Mujeres = c(25, 20, 5, 5)
)
# Agregar columnas de totales y porcentajes
datos <- datos %>%
  mutate(
    Total = Hombres + Mujeres,
    Porcentaje = round((Total / sum(Total)) * 100, 1)
  )
# Mostrar tabla
kable(
  datos,
  caption = "Tabla 1: Preferencias de bebida según género",
  align = "lrrrr"
)
```
## Asociación entre género y preferencia de bebida
A continuación, se analiza si existe una relación estadísticamente significativa entre el género de los encuestados y su preferencia de bebida, aplicando un test de Chi-cuadrado sobre una tabla de contingencia.
```{r chi-cuadrado, echo=FALSE}
# Crear tabla de contingencia a partir de los datos
tabla_chi <- as.table(as.matrix(datos[, c("Hombres", "Mujeres")]))
rownames(tabla_chi) <- datos$Bebida
# Aplicar test de Chi-cuadrado
test_chi <- chisq.test(tabla_chi)
# Mostrar tabla y resultado del test
print(tabla_chi)
cat("\n")
print(test_chi)

Actividad integradora

Exploración y análisis de datos sociales simulados

Esta actividad tiene como propósito integrar los aprendizajes adquiridos en la clase mediante el análisis estadístico de un conjunto de datos simulados que representa preferencias de bebida según género, edad y nivel educativo. A partir de este análisis, los estudiantes deberán construir tablas de frecuencia, comparar distribuciones y emitir conclusiones basadas en evidencia.

Objetivos específicos

  • Aplicar funciones de R para construir tablas de frecuencia simples y cruzadas.
  • Calcular proporciones y porcentajes relativos a partir de tablas de datos.
  • Comparar distribuciones entre subgrupos y evaluar diferencias significativas.
  • Elaborar un mini-reporte estadístico con tablas, interpretaciones y conclusiones claras.

Instrucciones

  1. Simula o utiliza un dataset con al menos 30 observaciones que incluya las variables:
    • bebida: preferencia del encuestado («Café», «Té», «Jugo», «Agua»).
    • genero: «Hombre» o «Mujer».
    • edad: número entero (por ejemplo, entre 18 y 65).
    • educacion: nivel educativo («Primaria», «Secundaria», «Universitaria»).
  2. Construye una tabla de frecuencia absoluta y relativa para la variable bebida.
  3. Construye una tabla cruzada entre genero y bebida. Calcula proporciones por fila y por columna.
  4. Realiza un test de Chi-cuadrado sobre la tabla de contingencia anterior. Interpreta el valor p.
  5. Elabora un gráfico de barras para visualizar la distribución de bebida según genero.
  6. Analiza si hay alguna tendencia interesante entre edad y tipo de bebida preferida. Puedes agrupar las edades en rangos (por ejemplo: 18–30, 31–50, 51–65).
  7. Redacta un breve reporte (2 a 3 párrafos) que incluya:
    • Resumen de hallazgos numéricos.
    • Interpretación de los resultados del test.
    • Conclusiones sobre patrones de consumo.

Entrega esperada

Elabora tu análisis en un archivo R Markdown (.Rmd)que incluya código, tablas y redacción. Al compilar el documento, debe generarse un reporte en formato HTML o PDF con estructura clara y secciones numeradas.

Opcional (para nota adicional)

Agrega una tabla que relacione educacion y bebida, y repite el análisis con Chi-cuadrado. Interpreta si el nivel educativo influye significativamente en la elección de bebida.

Vistas: 340

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *