# Análisis de variables categóricas con R

Francisco García García (2014-17-12)

### 0. Introducción

### 1. Tablas de contingencia

### 2. Prueba chi-cuadrado

### 3. Ejercicios

### 4. Bibliografía y enlaces de interés

## 0. Introducción

Para conocer la relación entre dos variables categóricas utilizaremos:

- Tablas de contingencia para describir esta relación a nivel muestral.
- Test de chi-cuadrado para hacer inferencia sobre la relación entre ambas variables.

## 1. Tablas de contingencia

Comenzamos leyendo la base de datos riesgos:

    datos <- read.csv("datos/riesgos.csv", header = T, sep = "\t")

    #> Warning in file(file, "rt"): cannot open file 'datos/riesgos.csv': No such
    #> file or directory

    #> Error in file(file, "rt"): cannot open the connection

Echamos un vistazo a la estructura de los datos:

    str(datos)

    #> Error in str(datos): object 'datos' not found

    head(datos)

    #> Error in head(datos): object 'datos' not found

    tail(datos)

    #> Error in tail(datos): object 'datos' not found

Con la función attach hacemos accesible la base de datos seleccionada:

    attach(datos)

    #> Error in attach(datos): object 'datos' not found

Describimos cada una de las variables categóricas: jornada, carfisi y expquímica:

    table(jornada)

    #> Error in table(jornada): object 'jornada' not found

    table(carfisi)

    #> Error in table(carfisi): object 'carfisi' not found

    table(expquímica)

    #> Error in table(expquímica): object 'expquímica' not found

Nos interesa describir la relación entre jornada y cada uno de los dos riesgos mencionados anteriormente. Utilizaremos el comando table para dos variables que nos proporciona una tabla de contingencia:

    tabla1 <- table(jornada,carfisi)

    #> Error in table(jornada, carfisi): object 'jornada' not found

    tabla1

    #> Error in eval(expr, envir, enclos): object 'tabla1' not found

También nos gustaría visualizar esta relación:

    plot(tabla1, col = c("red", "blue"), main = "jornada vs. carga física")

    #> Error in plot(tabla1, col = c("red", "blue"), main = "jornada vs. carga física"): object 'tabla1' not found

    tabla2 <- table(jornada, expquímica)

    #> Error in table(jornada, expquímica): object 'jornada' not found

    tabla2

    #> Error in eval(expr, envir, enclos): object 'tabla2' not found

    plot(tabla2, col = c("red", "blue"), main = "jornada vs. exposición química")

    #> Error in plot(tabla2, col = c("red", "blue"), main = "jornada vs. exposición química"): object 'tabla2' not found

A partir de los datos que nos ofrece la muestra, ¿crees que hay una relación entre el tipo de jornada y estar expuesto a carga física? ¿Qué opinas de la relación entre el tipo de jornada y exposición química?

## 2. Prueba chi-cuadrado

### 2.1. Independencia de dos variables categóricas.

En el apartado anterior detectamos que parece existir una relación entre ambas variables. Las personas con jornada completa tienen una mayor exposición a carga física y menor exposición química que las personas con jornada parcial.

¿Estas diferencias serán estadísticamente significativas? Utilizaremos la prueba de chi-cuadrado:

    chisq.test(tabla1)

    #> Error in is.data.frame(x): object 'tabla1' not found

    chisq.test(tabla2)

    #> Error in is.data.frame(x): object 'tabla2' not found

Con un nivel de significación de 0.05, no podríamos rechazar en ninguno de los dos escenarios la hipótesis nula, luego consideraremos que hay independencia entre ambas variables, es decir, el tipo de contrato no está asociado a una mayor exposición química o carga física.

### 2.2. Contraste de homogeneidad de proporciones.

Si queremos comparar dos proporciones poblaciones, es posible el tes de comparar proporciones basado en los procedimiento z. ¿Y si disponemos de más de 2 proporciones? Para esta situación, también es posible utilizar el test de chi-cuadrado. Lo vemos con un ejemplo:

Queremos comparar si las proporciones de presencia de carga física en tres poblaciones de trabajadores (A, B, C) son iguales o diferentes. Para ello, se seleccionaron 3 muestras aleatorias, cada una correspondiente a estas poblaciones. Se obtuvieron los siguiente resultados:

- Población A: 400 personas manifestaron carga física de un total de 1380.
- Población B: 416 personas manifestaron carga física de un total de 1823.
- Población A: 188 personas manifestaron carga física de un total de 1168.

Calculamos las proporciones de personas con carga física en cada uno de los grupos:

    400/1780

    #> [1] 0.2247191

    416/2239

    #> [1] 0.1857972

    188/1356

    #> [1] 0.1386431

¿Observamos diferencias entre las proporcionales a nivel muestral?

Comprobaremos si esas diferencias son estadísticamente significativas utilizando el test de chi-cuadrado. El primer paso será generar una tabla de contingencia:

    fila1 <- c(400,1380)
    fila2 <- c(416,1823)
    fila3 <- c(188,1168)
    tabla=rbind(fila1,fila2,fila3)
    colnames(tabla) <- c("con carfisica", "sin carfisica")
    tabla

    #>       con carfisica sin carfisica
    #> fila1           400          1380
    #> fila2           416          1823
    #> fila3           188          1168

Resolvemos el contraste en R:

    resultados <- chisq.test(tabla)
    names(resultados)

    #> [1] "statistic" "parameter" "p.value"   "method"    "data.name" "observed"
    #> [7] "expected"  "residuals" "stdres"

    resultados$observed

    #>       con carfisica sin carfisica
    #> fila1           400          1380
    #> fila2           416          1823
    #> fila3           188          1168

    resultados$expected

    #>       con carfisica sin carfisica
    #> fila1      332.4874      1447.513
    #> fila2      418.2244      1820.776
    #> fila3      253.2882      1102.712

    resultados

    #>
    #>  Pearson's Chi-squared test
    #>
    #> data:  tabla
    #> X-squared = 37.566, df = 2, p-value = 6.959e-09

Interpreta los resultados obtenidos:

- ¿Cuál es el estadístico de contraste?, ¿cómo se calcula?, ¿cuál sería el rango del estadístico chi-cuadrado?
- ¿Qué p-valor obtenemos?
- En el contexto del problema, ¿cómo interpretaríamos los resultados obtenidos en el test estadístico?

## 3. Ejercicios

En la base de datos estres.csv se incluye información sobre los niveles de estrés de un grupo de trabajadores, así como otras variables de interés.

Realiza las siguientes actividades en R:

- A. Lee la base de datos estres, examina la estructura de los datos (str) y utiliza la función attach para hacerla accesible y trabajar más cómodamente con sus variables. ¿Qué variables son factor? ¿Y qué variables son integer?
- B. Describe la relación entre las variables jornada y genero utilizando una tabla de contingencia y un gráfico. ¿Se observa una relación de dependencia entre ambas?. Aplica el test de chi-cuadrado para valorar si esta relación es estadísticamente significativa.

## 4. Bibliografía y enlaces de interés:

- David S. Moore. Estadística aplicada básica. Editorial Antoni Bosch. Manual de Estadística Básica.

- Quick-R Web con recursos para trabajar con R.

- r-tutor An R Introduction to Statistics.