Ejercicio 1

En muchas ocasiones encontrarás datos resumidos en una tabla de contingencia y será preciso llevar esa información a la memoria de R para poder manejarlo.

Se presentan dos herramientas diferentes:

Vamos a ilustrarlo a través del siguiente ejemplo:

A partir de la siguiente tabla de contingencia, determina si hay relación entre las variables “estra expuestos a un contaminante” y “padecer cierta enfermedad”

Enfermos Sanos
Expuesto 192 158
No expuesto 4 9646

Crear una matriz

Una opción es transcribir la tabla de contingencia mediante una matriz:

Observa los siguientes ejemplos

(tablaObservada = matrix( c(192, 4, 158, 9646), 
                         nrow= 2, 
                         byrow = FALSE))
##      [,1] [,2]
## [1,]  192  158
## [2,]    4 9646
(tablaObservada = matrix( c(192, 4, 158, 9646), 
                         nrow= 4, 
                         byrow = FALSE))
##      [,1]
## [1,]  192
## [2,]    4
## [3,]  158
## [4,] 9646
(tablaObservada = matrix( c(192, 4, 158, 9646), 
                         nrow= 2, 
                         byrow = TRUE))
##      [,1] [,2]
## [1,]  192    4
## [2,]  158 9646

A continuación (siempre que la ´matriz represente fielmente la tabla de contingencia) puedes hacer el contraste chi cuadrado

chisq.test(tablaObservada)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  tablaObservada
## X-squared = 5252.9, df = 1, p-value < 2.2e-16

para rechazar H0: las variables son independientes.

El resultado es el mismo si intercambias filas y columnas, porque el valor del estadístico \[\sum \sum \frac{(o_{ij}-e_{ij})^2}{e_{ij}} \] es el mismo.

Desde el portapapeles

Otra opción consiste en seleccionar la tabla sobre el fichero html con el ratón, copiarla e, inmediatamente, ejecutar en R la siguiente orden

tablaObservada = read.table(file = "clipboard", header = T, sep = "\t")
## Warning in read.table(file = "clipboard", header = T, sep = "\t"): incomplete
## final line found by readTableHeader on 'clipboard'

Así, R accede al contenido de Portapapeles, que en este momento contiene la tabla que acabas de copiar. Aparece un aviso (Warning), al que no hay que hacer caso :)

SI USAS MAC el código que debes emplear es

tablaObservada =  read.table(pipe("pbpaste"), sep="\t", header=TRUE) 

SI USAS LINUX

tablaObservada =  read.clipboard(sep="\t",header = T) 

Fíjate en que, independientemente del sistema operativo, tendrás que ajustar header y dec en función del aspecto que presente tu tabla y sus datos.

Finalmente, hacer el contraste Chi cuadrado sobre la tabla/matriz construida

chisq.test(tablaObservada)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  tablaObservada
## X-squared = 5252.9, df = 1, p-value < 2.2e-16

para rechazar H0: las variables son independientes.