CHI-CUADRADO.

Utilizamos Chi-cuadrado cuando nuestros datos se expresan en forma de conteos y no mediciones.Estos, además de ordenarse en catergorias mutamente excluyentes, se distribuyen según el número de veces que han sido observadas dentro de la población en estudio. Por ejmemplo: Que en una población de jirafas haya cinco machos y ocho hembras. Estas categorias no presentan conteos de variables más allá de las que nos interesan.

Nuestros datos se colocan en tablas, ya sean simples (Para pruebas de un vía) o de contigencia(2*2) que es cuando estamos estudiando más de una variable o categoría para una misma muestra, ejemplo: Clasificamos a nuestra población de girafas además del género por su edad. Chi-cuadrada utiliza datos representadas de forma tabular,hay diferentes formas generar una tabla en R. A continuación se presentan algunas.

Macho<-5
Hembra<-8
cuadro1<-data.frame( Macho, Hembra)# Usando comando data.frame
rownames(cuadro1)<-c("genero")
cuadro1
##        Macho Hembra
## genero     5      8
matrix(c(5,2),nrow = 1)#utilizando una matrix, nrow me permite selecionar el número de filas que necesito.
##      [,1] [,2]
## [1,]    5    2
read.table( "clipboard" , header = T)#comando para copiar tablas desde excel.
##        macho hembra
## genero     5      8

Una vez creada la tabla podemos aplicar las pruebas de Chi-cuadrado para aceptar o rechazar la hipotesis nula de asociación, independencia, homgeneidad, aleatoriedad entre otras.

Ejemplo 1. A un grupo de 30 estudiante de biología se les realizó una encuesta para deteminar qué énfasis de carrera preferían y se obtuvo lo siguente:

Biotecnologia<-c(5,10)
B.Tropical<-c(5,6)
B.Marina<-c(2,2)
cuadro2<-data.frame( Biotecnologia, B.Tropical, B.Marina)
rownames(cuadro2)<- c("Mujeres","hombres")
cuadro2
##         Biotecnologia B.Tropical B.Marina
## Mujeres             5          5        2
## hombres            10          6        2

A partir de estos datos queremos saber si existe hay dependencia entre la escogencia del énfasis de la carrera respecto al género. Nuestro primer paso es identificar la hipótesis nula, que en este caso supone que la escogencia del énfasis es independiente del género, y nuestra hipótesis alternativa es que existe una dependencia entre ambas variables. El segundo paso es ver los valores esperados de los datos presentes, para ello se utiliza el comando:

chisq.test(cuadro2)$expected 
## Warning in chisq.test(cuadro2): Chi-squared approximation may be incorrect
##         Biotecnologia B.Tropical B.Marina
## Mujeres             6        4.4      1.6
## hombres             9        6.6      2.4

Si más del 20% de las celdas presenta valores inferiores a cinco, o hay algún valor cero, se utliza una prueba no paramétrica Fisher, utilizando el comanado:

fisher.test(cuadro2)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  cuadro2
## p-value = 0.6803
## alternative hypothesis: two.sided

A partir del p- value se acepta o rechaza la hipotesis nula. En este caso se concluye que no hay dependencia entre los géneros respecto a la escogencia del énfasis de carrrera(aceptación de la hipotesis nula) con un 95% de confianza.

Ejemplo 2

Si<-c(43,105)
No<-c(207,1645)
cuadroa <-data.frame (Si,No)
rownames(cuadroa)<-c("Fumadores","No fumadores")
cuadroa
##               Si   No
## Fumadores     43  207
## No fumadores 105 1645

Paso 1: Determinar las hipotesis H0 No hay diferencias entre la población de fumadores y no fumadores H1 Existe una diferencia entre los que fuman y no.

Paso2 Verificar que la población no presente ceros o el 20% de los valores esperados sea inferior a 5

chisq.test(cuadroa)$expected
##                 Si     No
## Fumadores     18.5  231.5
## No fumadores 129.5 1620.5

Dado que no hay valores esperados inferioresa cinco o ceros se aplica chi- cuadrado

chisq.test(cuadroa)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  cuadroa
## X-squared = 38.427, df = 1, p-value = 5.685e-10

Se rechaza la hipotesis nula p-value = 5.685e-10. También es posible rechazar o aceptar usando el X-squared = 38.427 (Valor del estadístico) y compararlo con el tabulado, que se obtiene usando los grados de libertad y el nivel de confianza:

qchisq(0.95, 1)
## [1] 3.841459

También es posible representar visualmente el comportamiento de los datos:

mosaicplot(cuadroa, color=TRUE, main="Fumadores, No fumadores")

El mosaico plot nos permite observar que hay una marcada diferencia entre la proporción de fumadores respecto a los que no lo hacen. Esta vista previa es importante para tener una idea del comportamiento de mis datos, pero es necesario realizar análisis estadísticos para validar nuestras hipótesis.

Relación y Correlación.

CORRELACIÓN

Cuando se desea saber si existe alguna realción entre dos variables es posible averiguarlo con una correlación. Los pasos para utilizar adecuadamente una correlación son sencillos, estos se presentan a continuación a través de un ejemplo.

ejemplo 1

Usarla base de datos dengue, que necesita activar el paquete “DAAG”, y determinar si existe una relación entre las variables TEMP y HUMID.

library(DAAG)
## Loading required package: lattice
str(dengue)
## 'data.frame':    2000 obs. of  13 variables:
##  $ humid   : num  0.671 7.648 6.979 1.11 9.027 ...
##  $ humid90 : num  4.42 8.17 9.56 1.83 9.74 ...
##  $ temp    : num  2.04 12.32 6.93 4.64 18.18 ...
##  $ temp90  : num  8.47 14.93 14.59 6.05 19.71 ...
##  $ h10pix  : num  17.4 11 17.5 17.4 13.8 ...
##  $ h10pix90: num  17.8 11.7 17.6 17.5 13.8 ...
##  $ trees   : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ trees90 : num  1.5 1 1.2 0.6 0 ...
##  $ NoYes   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ Xmin    : num  70.5 62.5 68.5 67 61 64.5 67.5 64 63.5 61 ...
##  $ Xmax    : num  74.5 64.5 69.5 68 64.5 65.5 68.5 66.5 65.5 64.5 ...
##  $ Ymin    : num  38 35.5 36 35 33.5 36.5 33.5 35 33 35 ...
##  $ Ymax    : num  35.5 34.5 35 34 32 35 32 33 29.5 33.5 ...

Antes de aplicar las prueba, es necesario verificar la normalidad de mis datos

shapiro.test(dengue$temp)
## 
##  Shapiro-Wilk normality test
## 
## data:  dengue$temp
## W = 0.91009, p-value < 2.2e-16
shapiro.test(dengue$humid)
## 
##  Shapiro-Wilk normality test
## 
## data:  dengue$humid
## W = 0.93811, p-value < 2.2e-16

Dado que mis datos son asimétricos, se descarta la posibilildad de usar “Pearson”, por lo que se recurre a pruebas no paramétricas: “Spearman” o “Kendall”. Este último se usa si y solo si , se sabe de ante mano que se obtendrá una correlación fuerte.

cor.test(dengue$humid, dengue$temp, method = "spearman")
## Warning in cor.test.default(dengue$humid, dengue$temp, method =
## "spearman"): Cannot compute exact p-value with ties
## 
##  Spearman's rank correlation rho
## 
## data:  dengue$humid and dengue$temp
## S = 177920000, p-value < 2.2e-16
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
##       rho 
## 0.8661581

A partir del p-value podemos determinar si nuestra relación es significativa, en este caso verificamos que p-value< 0.05, por lo que es válida estadísticamente. Otra información que nos brinda la prueba es el valor de coeficiente de correlación (rho) que nos dice si existe una relación,(una relación lineal) qué tan fuerte es y si esta es positiva o negativa.

Para este ejemplo podemos ver que es una relación fuerte, dado que se acerca a 1, también, nos responde que es una relación positiva, es decir que a mayor humedad es mayor la temperatura.

Es posible determinar igualmente cuantos de mis datos “X”, se explican en mis datos “y” (Dado que la correlación es una prueba adimensional, el orden de mis variables no influyen en mis reultados). Para esto, se eleva al cuadrado el coeficiente de correlación lineal.

0.8661581^2 
## [1] 0.7502299

Como vemos, nos indica que hay un 75% de mis datos explicados, pero tambin que hay un restante 25% que no se explica en esta relación y que puede deberse a otros factores.

REGRESIÓN

La regresión tienen una finalidad final, y esta es predecir. Para ello, se debo establecer en mis datos una variable independiente (X), que influya en mi variable Y (dependiente), que es la que se quiere predecir. Cuado realizamos una regresión por tanto es importante colocar adecuadamente mis datos dentro del comanando. El orden siempre será: ** Y~X **

Ejemplo 1

reg1<-lm(Orange$age ~ Orange$circumference, data = Orange)
summary(reg1)
## 
## Call:
## lm(formula = Orange$age ~ Orange$circumference, data = Orange)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -317.88 -140.90  -17.20   96.54  471.16 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)    
## (Intercept)           16.6036    78.1406   0.212    0.833    
## Orange$circumference   7.8160     0.6059  12.900 1.93e-14 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 203.1 on 33 degrees of freedom
## Multiple R-squared:  0.8345, Adjusted R-squared:  0.8295 
## F-statistic: 166.4 on 1 and 33 DF,  p-value: 1.931e-14

Como vemos, a partir de esta pueba se puede obtener la ecuación de predicción: #$Y = Xm + b $ donde m es mi pendiente y b el intercepto . Para saber si mi ecuación de predicción es un buen modelo de predicción, se observa el p-value global, esta tiene que ser significativa (p-value<0.05). Además se deben realizar pruebas a los residuos de los modelos.

shapiro.test(reg1$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  reg1$residuals
## W = 0.9565, p-value = 0.1792
library(carData)
library(car)
## 
## Attaching package: 'car'
## The following object is masked from 'package:DAAG':
## 
##     vif
ncvTest(reg1)
## Non-constant Variance Score Test 
## Variance formula: ~ fitted.values 
## Chisquare = 2.605772, Df = 1, p = 0.10648

Si los residuos son normales y homogeneos, entonces comprobamos que nuestra ecuación es efectivamente un buen modelo. En este caso, la ecuación sería:

\(Age= 7.8160* Circumference + 16.6036\)

par(mfrow = c(2, 2))
plot(reg1)

Otra forma de verificar mis supuestos es através de gráficas. En este caso, la primera nos permite deteminar si los datos son homgeneos o aleatorios. Lo que debería ver es que los puntos están dispersos y no acumulados en regiones. El segundo gráfico me muestra la normalidad, en este caso los puntos deberían estar alineados. Otra gráfica importante es la última, porque me indica si hay valores influyentes. Un valor influyebte no es necesariamente un “outlier” pero si me genera peso en mis resultados. En este caso constatamos que no hay valores de gran peso, solo unos que podrían esta cercanos a ello.

Es posible realizar más de una ecuación para predecir una variable de interes, o determinar cuál variable pre. Para determinar cuál es el mejor modelo de todos, podemos utilizar la pureba de Akaike.

ejemplo2

Probamos dos modelos para predecir la variable y utilizamos el comando AIC para establecer el mejor modelo.

str(airquality)
## 'data.frame':    153 obs. of  6 variables:
##  $ Ozone  : int  41 36 12 18 NA 28 23 19 8 NA ...
##  $ Solar.R: int  190 118 149 313 NA NA 299 99 19 194 ...
##  $ Wind   : num  7.4 8 12.6 11.5 14.3 14.9 8.6 13.8 20.1 8.6 ...
##  $ Temp   : int  67 72 74 62 56 66 65 59 61 69 ...
##  $ Month  : int  5 5 5 5 5 5 5 5 5 5 ...
##  $ Day    : int  1 2 3 4 5 6 7 8 9 10 ...
reg66<-lm(airquality$Temp~airquality$Solar.R ,data = airquality)
lm(airquality$Temp~airquality$Ozone)->reg3
AIC(reg66,reg3)
## Warning in AIC.default(reg66, reg3): models are not all fitted to the same
## number of observations
##       df       AIC
## reg66  3 1056.5655
## reg3   3  778.5467

El mejor modelo será aquel que presente menos “desorden” es decir, que posea el número más bajo. En nuestro caso el segundo modelo parace ser el más adecuado.

ANDEVA.

Para este último apartado se expone un esquema de pasos para aplicar la pruebas de andeva que fue realizado en clases de laboratorio.

El primer paso es realizar el anova, posteriormente, revisamos la normalidad de los residuos para lo cual se utiliza el comando shapiro.test. Seguidamente recurrimos al comando tapply para averiguar si los datos son balanceados y finalmente, determinamos su homogeneidad. En este último caso existen muchos comandos disponibles, de los cuales se estudiaron cuatro en teoría, no obstante debido a lo permisible que es el test de Levene, se recurre a él para la mayoría de los casos. Como podemos apreciar, una vez se deteminan estos tres supuestos se realiza una segunda prueba basada en los resultados, y en caso de encontrar diferencias significativas, se recurre a un aprueba a posteriori, la cual nos permite saber con exactitud dónde o entre quiénes se encuentran esas diferencias.

coclusión

Como es posibles apreciar, la biotedística supone una herramienta sumamente importante para explicar, entender y respaldar todos aquellos comportamientos que percibimos en la naturaleza. Es gracias a ella que logramos un lenguaje común de interpretación, y con ello el avance general de lo que conocemos. Podemos por tanto, hacer uso de lo que hemos aprendido en el curso para contribuir a este conocimiento global y participar en el desarrollo humano, que es parte de nuestra labor como biologos.

FIN