# CUSLA: Análisis de variables categóricas con R

Francisco García García (Jul 2016)

### 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("riesgos.csv", header = T, sep = "\t")

Echamos un vistazo a la estructura de los datos:

    str(datos)

    #> 'data.frame':    91 obs. of  10 variables:
    #>  $ id        : int  2 3 6 7 8 10 11 12 14 15 ...
    #>  $ contrato  : int  3 1 5 1 3 2 1 3 1 1 ...
    #>  $ jornada   : Factor w/ 2 levels "completa","parcial": 1 1 1 1 1 1 1 1 1 1 ...
    #>  $ turno     : int  1 1 1 1 1 1 1 1 3 1 ...
    #>  $ carfisi   : Factor w/ 2 levels "no","sí": 1 1 2 2 2 1 1 1 1 1 ...
    #>  $ carpsiqui : Factor w/ 2 levels "no","sí": 1 1 1 1 1 2 1 1 2 2 ...
    #>  $ expquímica: Factor w/ 2 levels "no","sí": 1 1 1 1 2 1 1 1 1 1 ...
    #>  $ edad      : int  33 37 35 30 30 32 27 33 31 31 ...
    #>  $ peso      : num  74 74 67 57 69 56 74 76 65 NA ...
    #>  $ talla     : num  155 170 170 164 160 160 170 165 170 173 ...

    head(datos)

    #>   id contrato  jornada turno carfisi carpsiqui expquímica edad peso talla
    #> 1  2        3 completa     1      no        no         no   33   74   155
    #> 2  3        1 completa     1      no        no         no   37   74   170
    #> 3  6        5 completa     1      sí        no         no   35   67   170
    #> 4  7        1 completa     1      sí        no         no   30   57   164
    #> 5  8        3 completa     1      sí        no         sí   30   69   160
    #> 6 10        2 completa     1      no        sí         no   32   56   160

    tail(datos)

    #>    id contrato jornada turno carfisi carpsiqui expquímica edad peso talla
    #> 86 73        5 parcial     1      no        no         no   32   65   159
    #> 87 75        1 parcial     1      no        no         no   33   87   185
    #> 88 76        1 parcial     1      sí        no         no   30   76   178
    #> 89 80        4 parcial     1      no        no         no   29   65   153
    #> 90 82        1 parcial     1      no        no         no   35   78   190
    #> 91 86        4 parcial     4      no        no         no   28   65   167

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

    attach(datos)

    #> The following objects are masked from datos (pos = 3):
    #>
    #>     carfisi, carpsiqui, contrato, edad, expquímica, id, jornada,
    #>     peso, talla, turno

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

    table(jornada)

    #> jornada
    #> completa  parcial
    #>       67       24

    table(carfisi)

    #> carfisi
    #> no sí
    #> 57 34

    table(expquímica)

    #> expquímica
    #> no sí
    #> 86  5

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)
    tabla1

    #>           carfisi
    #> jornada    no sí
    #>   completa 38 29
    #>   parcial  19  5

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

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

    tabla2 <- table(jornada, expquímica)
    tabla2

    #>           expquímica
    #> jornada    no sí
    #>   completa 65  2
    #>   parcial  21  3

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

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)

    #>
    #>  Pearson's Chi-squared test with Yates' continuity correction
    #>
    #> data:  tabla1
    #> X-squared = 2.9067, df = 1, p-value = 0.08821

    chisq.test(tabla2)

    #> Warning in chisq.test(tabla2): Chi-squared approximation may be incorrect

    #>
    #>  Pearson's Chi-squared test with Yates' continuity correction
    #>
    #> data:  tabla2
    #> X-squared = 1.5209, df = 1, p-value = 0.2175

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.