Ir al contenido principal

Análisis de contingencia con R

En este tutorial, verás con un ejemplo cómo funciona el "análisis de contingencia" o la "prueba de chi-cuadrado de independencia" y cómo realizarla de forma eficiente en R.
Actualizado 17 sept 2026  · 6 min leer

Explorar con IA

ChatGPTClaudePerplexity

El análisis de contingencia es una prueba de hipótesis que se utiliza para comprobar si dos variables categóricas son independientes o no. En pocas palabras, nos preguntamos: "¿Podemos predecir el valor de una variable si conocemos el valor de la otra?". Si la respuesta es sí, diremos que las variables en cuestión no son independientes. Si la respuesta es no, diremos que sí lo son. La prueba utiliza tablas de contingencia, de ahí su nombre "análisis de contingencia". También se conoce como "prueba de chi-cuadrado de independencia" porque el estadístico de prueba sigue una distribución ji-cuadrado y se usa para comprobar si dos variables categóricas son independientes.

La hipótesis nula de la prueba establece que las dos variables son independientes, y la alternativa que no lo son.

Veamos el "análisis de contingencia" o la "prueba de chi-cuadrado de independencia" con un ejemplo.

Supongamos que queremos saber si la elección de deporte es independiente del género. Para ello, preguntamos a cien hombres y a cien mujeres qué deporte prefieren practicar entre tiro con arco, boxeo y ciclismo, y resumimos los datos en la siguiente tabla de doble entrada.

Contingency Analysis using R

La tabla anterior se denomina tabla observada porque contiene los recuentos observados.

La prueba de chi-cuadrado de independencia compara los recuentos observados con los esperados. Por tanto, el siguiente paso es derivar la tabla esperada a partir de la observada. La tabla esperada refleja cómo debería ser la tabla de doble entrada si las dos variables fueran independientes. Por teoría de la probabilidad, sabemos que dos sucesos son independientes si su probabilidad conjunta es igual al producto de sus probabilidades marginales. Usaremos este concepto para calcular los recuentos esperados en cada una de las seis celdas. Calculemos el esperado de la primera celda. Primero, obtenemos la probabilidad conjunta multiplicando la probabilidad de ser mujer (100/200) por la de preferir tiro con arco (45/200). Una vez tenemos la probabilidad conjunta (100/200 * 45/200), si la multiplicamos por el tamaño muestral (200) obtenemos el recuento esperado de la primera celda: 22,5. Del mismo modo, calcularemos los esperados de las otras cinco celdas. La siguiente es la tabla que esperaríamos ver si el género y la preferencia deportiva fueran independientes.

Contingency Analysis using R

Ahora que tenemos los recuentos esperados y los observados, el siguiente paso es comprobar cuánto difieren. Para ello calculamos un estadístico de prueba conocido como chi-cuadrado, ya que sigue la distribución ji-cuadrado. La fórmula para calcular su valor es la siguiente.

Contingency Analysis using R

De la fórmula vemos que el valor del estadístico de chi-cuadrado puede ser 0 (cuando no hay ninguna diferencia entre los recuentos observados y esperados), pero nunca negativo. Por eso la prueba de chi-cuadrado de independencia es unilateral.

Usando la fórmula anterior, calculemos el valor del estadístico de chi-cuadrado para nuestro ejemplo. Este valor se conoce como el valor observado del estadístico de prueba.

Contingency Analysis using R

Llega el momento de decidir si rechazamos la hipótesis nula. Tomamos la decisión comparando el valor observado del estadístico con su valor crítico o bien consultando el p-valor. Si el valor observado supera el crítico, o si el p-valor es menor o igual que el nivel de significación, podemos rechazar la hipótesis nula y concluir que existe una relación estadísticamente significativa entre las dos variables categóricas, es decir, que no son independientes. Si conocemos el nivel de significación (habitualmente 0,05) y los grados de libertad, podemos obtener el valor crítico de la tabla de chi-cuadrado. El nivel de significación es la probabilidad de rechazar una hipótesis nula verdadera. Para una tabla con r filas y c columnas, los grados de libertad se calculan con la siguiente fórmula.

Contingency Analysis using R

Por tanto, en nuestro ejemplo tenemos 2 grados de libertad.

Contingency Analysis using R

En la tabla inferior vemos que el valor crítico del estadístico es 5,99 para un nivel de significación de 0,05 y 2 grados de libertad.

Contingency Analysis using R

Como el valor observado del estadístico es mayor que su valor crítico (19,798 > 5,99), podemos rechazar la hipótesis nula y concluir que la elección de deporte no es independiente del género.

Veamos ahora cómo realizar la prueba de chi-cuadrado de independencia en R

Es muy fácil ejecutar la prueba de chi-cuadrado de independencia con la función integrada chisq.test().

Esta es la tabla observada.

observed_table <- matrix(c(35, 15, 50, 10, 30, 60), nrow = 2, ncol = 3, byrow = T)
rownames(observed_table) <- c('Female', 'Male')
colnames(observed_table) <- c('Archery', 'Boxing', 'Cycling')
observed_table
##        Archery Boxing Cycling
## Female      35     15      50
## Male        10     30      60

Para realizar la prueba, aplicamos la función chisq.test() a la tabla observada.

X <- chisq.test(observed_table)
X
##
##  Pearson's Chi-squared test
##
## data:  observed_table
## X-squared = 19.798, df = 2, p-value = 5.023e-05

Del resultado vemos que el p-valor es menor que el nivel de significación (0,05). Por tanto, podemos rechazar la hipótesis nula y concluir que las dos variables (género y preferencia deportiva) no son independientes.

Si queremos ver la tabla esperada, también podemos hacerlo.

X$expected
##        Archery Boxing Cycling
## Female    22.5   22.5      55
## Male      22.5   22.5      55

Espero que te haya gustado este artículo. Si quieres seguir aprendiendo R, haz el curso Statistical Modeling in R (Part 1) de DataCamp.

Temas
R
Ciencia de datos
Análisis de datos

Cursos de R

Curso

Introducción a R

4 h
3.1M
Domina los fundamentos del análisis de datos en R, como vectores, listas y marcos de datos, y practica R con conjuntos de datos reales.
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow
Relacionado

Tutorial

Tutorial de tablas de contingencia en R

En este tutorial, aprenderás a crear tablas de contingencia y a probar y cuantificar las relaciones visibles en ellas.
Łukasz Deryło's photo

Łukasz Deryło

10 min

Tutorial

Prueba Chi-cuadrado en hojas de cálculo

En este tutorial, aprenderás a realizar la prueba chi-cuadrado en hojas de cálculo.
Avinash Navlani's photo

Avinash Navlani

10 min

Tutorial

Tutorial de pruebas T en R: Aprende a realizar pruebas T

Determina si existe una diferencia significativa entre las medias de los dos grupos utilizando t.test() en R.
Abid Ali Awan's photo

Abid Ali Awan

10 min

Tutorial

Tutorial de regresión lineal en R

En este tutorial aprenderás los fundamentos de un modelo estadístico muy popular: la regresión lineal.

Eladio Montero Porras

15 min

multiple linear regression

Tutorial

Regresión lineal múltiple en R: tutorial con ejemplos

Una visión completa para entender las regresiones lineales múltiples en R a través de ejemplos.
Zoumana Keita 's photo

Zoumana Keita

12 min

Tutorial

Matriz de correlaciones en Excel: Guía completa para crear e interpretar

Aprende el concepto estadístico de correlación, y sigue el cálculo e interpretación de correlaciones para un conjunto de datos de muestra, en un tutorial paso a paso.
Arunn Thevapalan's photo

Arunn Thevapalan

9 min

Ver MásVer Más