21612019 ‘Andlsis dela Varianza (ANOVA) con R
Analisis de la Varianza (ANOVA) con R
Francisco Garcia Garcia (2014-12-01)
hitps:biocosas github o/RV050_anova.him! ane21612019 ‘Andlsis dela Varianza (ANOVA) con R
°
. Introduccion
. Organizaci6n de los datos
. ANOVA y pruebas post-hoc
. Validacion del modelo ANOVA
. Kruskal-Wallis y pruebas post-hoc
. Ejercicios
oan Pk wn a
. Bibliografia y enlaces de interés
hitps:biocosas github o/RV050_anova.him! ane21612019
‘Andlsis dela Varianza (ANOVA) con R
0. Introduccion
Los procedimientos t de dos muestras permiten comparar las medias de dos.
poblaciones o las respuestas medias a dos tratamientos de un experimento. Sin embargo,
en ocasiones necesitamos comparar mas de 2 grupos. El modelo del Andlisis dela
Varianza (ANOVA), nos permitira abordar este tipo de situaciones. Lo vemos con un
ejemplo:
Estamos interesados en conocer si hay colores mas atractivos para los insectos. Para ello
se disefiaron trampas con los siguientes colores: amarillo, azul, blanco y verde. Se
cuantificé el numero de insectos que quedaban atrapados:
Azul: 16 11.20 21147
Verde: 37 32 15 25 39 41
Blanco: 21 12 14 1713 17
Amarillo: 45 59 48 46 38 47
1. Organizacion de los datos
Generamos dos variables: insectos es la variable respuesta y colores es la variable factor
(establece los grupos de interés):
insectos <- c(16,11,20,21,14,7,37,32,15,25,39,41,21,12,14,17,13,17,45,59
colores <- as.factor(c(rep(c("azul", "verde", "blanco", “amarillo"), eacl
Exploramos los datos de la muestra
boxplotCinsectos ~ colores, col = c("yellow", "blue", “white","green"),
hitps:biocosas github o/RV050_anova.him! ane21612019 ‘Andlsis dela Varianza (ANOVA) con R
5
Ze
10
amarillo azul blanco verde
tapplyCinsectos, colores, mean)
#> amarillo azul blanco verde
#> 47,16667 14.83333 15.66667 31.50000
2. ANOVA y pruebas post-hoc
Esta es la forma de pedir un ANOVA en R:
fm = aov( ImCinsectos ~ colores) )
Pedimos un resumen de la tabla del ANOVA
summary (fm)
hitps:biocosas github o/RV050_anova.him! ane16/2019 ‘Andlsis dela Varianza (ANOVA) con R
t Df Sum Sq Mean Sq F value Pr(>F)
# colores 3 4218 1406 30.55 1.15e-07 ***
# Residuals 20 921 46
> ---
> Signif. codes: 0 '***' 0,001 '**" 0,01 '*' 0.05 "6" O11 1
Elementos generados en el ANOVA:
names (fm)
# [1] "coefficients" “residuals” "effects" "rank"
# [5] "fitted.values" "assign" "qr" "df. residual”
# [9] “contrasts” “xlevels" “call” “terms”
#> [13] “mode
Identifica en la tabla ANOVA los grados de libertad del factor, los grados de libertad
residuales, la suma de cuadrados de los grupos, la suma de cuadrados del error, las
medias correspondientes de las sumas de cuadrados de los grupos y del error, el valor del
estadistico F. Describe cémo obtenemos cada uno de ellos.
éCual es el valor critico de F bajo la hipétesis nula con un nivel de significaci6n alfa =
0.05? (Este valor nos delimitaré la regién de aceptacién y rechazo)
Bajo la Ho el estadistico de contraste F se distribuye como una F de grados de libertad (I-
1), (n-l) donde | es el ntimero de grupos que disponemos y n el tama‘io total de la
muestral. Asi obtenemos el cuantil buscado:
af(0.05, 3-1, 18-3, lower.tail = F)
# [1] 3.68232
Valores del estadistico > 3.68232 estaran incluidos en la regién de rechazo. En nuetro caso
30.55 es mucho mayor que el valor critico obtenido.
2 Qué valor de la tabla ANOVA nos proporciona la varianza muestral comtin (pooled
variance en inglés)? ¢Para qué es ttl?
La raiz cuadrada de la media de los cuadrados del error, ademas de proporcionarnos una
estimacién de la varianza muestral de todos los datos, se utiliza en la obtencién de los.
intervalos de confianza de las medias en cada uno de los grupos de interés.
Por ejemplo, este seria el intervalo de confianza de la media de los insectos capturados
para las trampas amarillas, con un nivel de confianza de! 95%:
hitps:biocosas github o/RV050_anova.him! 511816/2019 ‘Andlsis dela Varianza (ANOVA) con R
media <- meanCinsectos[colores
valor_t <- pt(0.05/2, 18 - 3)
sp <- sqrt(46) #desviacion tipica de la varianza muestral comin
ee <- valor_t * (sp/ sqrt(6)) #error de estimacién
media
amarillo")
#> [1] 47.1667
limite superior del intervalo de confianza de la media de insectos capturados para las.
trampas amarillas
media + ee
#> [1] 48.57826
limite inferior del intervalo de confianza de la media de insectos capturados para las
trampas amarillas,
media - ee
#> [1] 45.75507
Si hemos detectado diferencias significativas entre las medias de las poblaciones.
£Seria posible saber cudles son los grupos que generan estas diferencias?
intervals = TukeyHsD(fm)
intervals
#> Tukey multiple comparisons of means
ce 95% family-wise confidence level
cd
#> Fit: aov(formula = ImCinsectos ~ colores))
ce
# $colores
Es diff we upr ip adj
#> azul-amarillo -32.3333333 -43.296330 -21.37034 0.0000004
#> blanco-amarillo -31.5000000 -42.462996 -20.53700 0.0000006
#> verde-amarillo -15.6666667 -26.629663 -4.70367 0.0036170
#> blanco-azul 0.8333333 -10.129663 11.79633 0.9964823
#> verde-azul 16.6666667 5.703670 27.6296 0,0020222
#> verde-blanco 15.8333333 4.870337 26.79633 0.0032835
plotCintervals)
hitps:biocosas github o/RV050_anova.him!
ane16/2019 ‘Andlsis dela Varianza (ANOVA) con R
95% family-wise confidence level
-——+—
Ez
54 -—+—4
-—+—
-—+—A
3 a!
2.
S 40 30 2 86-10 o 10 20 30
Differences in mean levels of colores
Explica las diferencias existentes por parejas de trampas segtin el color. ¢Algunas de estas
diferencias son significativas? Si el objetivo es atrapar un mayor numero de insectos, gon
qué tipo de trampas te quedarias?
3. Validacion del modelo ANOVA
A partir de los residuos de! modelo comprobaremos si el modelo ANOVA es adecuado. Los
supuestos que se deben cumplir son tres: independencia, homocedasticidad y normalidad
3.1. Independencia
plot (fm$residuals)
hitps:biocosas github o/RV050_anova.him! 7816/2019 ‘Andlsis dela Varianza (ANOVA) con R
10
imSresiduals
10
15
Index
3.2.normalidad
Los graficos y descriptivos nos informan si se verifica la igualdad de varianzas en los
grupos descritos:
summary (fm$ residuals)
oo Min. Ist qu. Median Mean 3rd qu. Max.
#> -16,5000 -2.9170 0.1667 0.0000 5.2080 11.8300
boxplot(fm$resi duals)
hitps:biocosas github o/RV050_anova.him! ane16/2019 ‘Andlsis dela Varianza (ANOVA) con R
10
hist(fm$residuals)
hitps:foiocosas.gitnub io/RV050_snova.htm! one16/2019
Histogram of fmSresiduals
Frequency
4
ImSresiduals,
aqnorm(fm$ residuals)
aqqline(fm$ residuals)
hitps:foiocosas.gitnub io/RV050_snova.htm! sone16/2019 ‘Andlsis dela Varianza (ANOVA) con R
Normal Q-@ Plot
10
‘Sample Quantiles
0 1 2
‘Theoretical Quantiles
El test de Shapiro-Wikk indica que no tenemos evidencia suficiente para rechazar la
hipétesis nula (normalidad de los residuos)
shapiro. test (fm$ residuals)
&
#> shapiro-wilk normality test
&
# data: fmSresiduals
# W = 0.9734, p-value = 0.75
3.3.homocedasticidad
Los gréficos y descriptivos nos informan si se verifica la igualdad de varianzas en los
grupos descritos:
boxplot(fm$residuals~colores, col = c("yellow", "blue", "white", "green")
»
hitps:biocosas github o/RV050_anova.him! we21612019 ‘Andlsis dela Varianza (ANOVA) con R
amarillo azul blanco verde
desviaciones <- tapply(fmSresiduals, colores, sd)
Comparando la desviacién maxima con la minima obtenemos una orientacién sobre la falta
de homocedasticidad (>2 aproximadamente)
max(desviaciones) / min(desviaciones)
#> [1] 2.980357
EI test de Bartlett indica que no tenemos evidencia suficiente para rechazar la hipétesis
nula (las varianzas son iguales)
bartlett.test(fm$residuals ~ colores)
Lee
#> Bartlett test of homogeneity of variances
coe
#> data: fmSresiduals by colores
#> Bartlett's K-squared = 5.2628, df = 3, p-value = 0.1535
hitps:biocosas github o/RV050_anova.him! sane.21612019 ‘Andlsis dela Varianza (ANOVA) con R
4. Kruskal-Wallis y pruebas post-hoc
éQué hipotesis contrasta el test ANOVA?
Ho: las medias son iguales en todas las poblaciones
Ha: hay alguna media distinta
&£Qué hipotesis contrasta la prueba de Kruskal-Wallis?
Ho: la variable respuesta es la misma en todas las poblaciones valoradas
Ha: la variable respuesta es mayor en alguna de las poblaciones
Cuando no se cumplen las hipétesis exigidas por el modelo ANOVA, es posible utilizar la
prueba no paramétrica Kruskal-Wallis: zhay diferencias significativas entre las
poblaciones?
kruskal.test(insectos, colores)
oo
#> Kruskal-wallis rank sum test
&
# data: insectos and colores
# Kruskal-Wallis chi-squared = 16.9755, df = 3, p-value = 0.000715
Indica cudl es el estadistico de contraste, los grados de libertad, el p-valor correspondiente
y cual seria el valor critico que definiria las regiones de aceptacién y rechazo con un nivel
de significacién alfa = 0.08.
Bajo la Ho e| estadistico de contraste H del test de Kruskal-Wallis se distribuye como una
Chi-cuadrado de grados de libertad (I-1) (donde | es el numero de grupos que
disponemos). Asi obtenemos el cuantil buscado:
achisq(0.05, 3-1, lower.tail = F)
# [1] 5.991465
Valores del estadistico > 5.991465 estardn incluidos en la region de rechazo. En nuetro
caso 16.9755 es mucho mayor que el valor critico obtenido.
Si transformaramos los datos de la variable respuesta, utilizando logaritmos y después
aplicéramos el test de KrusKal-Wallis al logaritmo del numero de insectos atrapados,
évariarian los resultados del test estadistico?
kruskal.test(log(insectos), colores)
hitps:biocosas github o/RV050_anova.him! 131816/2019 ‘Andlsis dela Varianza (ANOVA) con R
>
#> Kruskal-wallis rank sum test
®
#> data: log(insectos) and colores
#> Kruskal-wallis chi-squared = 16.9755, df = 3, p-value = 0.000715
Los resultados son exactamente los mismos. No se producen variaciones porque el test de
Kruskal-Wallis trabaja sobre rangos, es decir, sobre ordenaciones de los valores de la
variable en cada uno de los grupos. Aunque realicemos una transformacién logaritmica, el
orden entre los valores de la variable se mantiene y por lo tanto la transformacién no afecta
a los resultados del test.
Si hemos detectado diferencias significativas en la variable respuesta para las distintas
poblaciones. {Seria posible saber cuales son los grupos que generan estas diferencias?
Tibrary(pmcmR)
posthoc.kruskal.nemenyi.test(insectos, colores, method = "chisq")
#> warning in posthoc.kruskal .nemenyi.testCinsectos, colores, method =
#> "Chisq"): Ties are present. Chi-sq was corrected for ties.
cid
#> Pairwise comparisons using Nemenyi-test with chi-squared
& approximation for independent samples
ioe
#> data: insectos and colores
#>
& amarillo azul blanco
#> azul 0.0056 - -
#> blanco 0.0095 0.9989 -
#> verde 0.4930 0.2618 0.3379
>
#> P value adjustment method: none
#otra opcién:
#library(pgirmess)
#kruskalmcCinsectos, colores)
5. Ejercicios
5.1. Relaciones sexuales entre universitarios
El departamento de Psicologia de una Universidad de Castilla-La Mancha ha realizado un
estudio sobre habitos, preferencias y satisfaccién sexual en estudiantes universitarios.
Hemos utilizado los datos que recogieron en sus encuestas y queremos conocer si existen
hitps:biocosas github o/RV050_anova.him!
sane16/2019
‘Andlsis dela Varianza (ANOVA) con R
diferencias entre la frecuencia mensual de relaciones sexuales de estudiantes
universitarios pertenecientes a tres titulaciones universitarias diferentes:
T1: 11147 15 11 13 11 16 10 15 18 129 9 10 10 15 10 14 10 10 12 14 12 15 713 6 10 15
2010 13 106 148 108 11
T2: 13 10 1275 10 10 16977269988 1036529345 10859 108131002110
4
73:67359616025611670575474289614778975169476
Contesta las siguientes preguntas:
A. Introduce los datos en R creando las 2 variables: una que incluya las frecuencias de
actividad sexual y otra que sera un factor, que nos proporcionara informacién sobre la
titulaci6n universitaria de cada uno de los estudiantes.
B, Explora los datos de la muestra mediante graficos y descriptivos. ,Observamos
diferencias en los valores promedios y de variabilidad por grupos?
C. Realiza un test F (ANOVA) para comparar las medias de las 3 poblaciones. {Cudles
serian las hipétesis nula y alternativa?
D, Describe los resultados obtenidos indicando quién es el valor del estadistico de
contraste (F), los grados de libertad del factor, los grados de libertad residuales y el valor
de P.
E. También indica quién seria el valor critico de F bajo la hipétesis nula, que nos
proporcionara la definicién de una regién de aceptacién y rechazo (consideramos un nivel
de significacién alfa = 0.05).
F. {Qué valor obtenemos para la estimacién de la varianza comtin de los datos?
G. Tras evaluar la tabla ANOVA, cual seria tu conclusi6n en el contexto del problema?
H. Determina los intervalos de confianza para las medias de frecuencia sexual en cada uno
de las titulaciones descritas.
1. Si se han obtenido diferencias significativas entre los grupos, determina dénde se
muestran esas diferencias utilizando el test HSD de Tukey. Representa gréficamente las
diferencias encontradas e intrepreta los resultados obtenidos,
J. A partir de los residuos obtenidos y mediante procedimientos graficos, confirma la
validez del modelo comprobando el cumplimiento de las 3 condiciones asumidas al hacer
el ANOVA. ¢Crees que el modelo ANOVA utilizado es valido para estos datos?
K. Si NO se verificaran estas condiciones, zhay alguna prueba no paramétrica para
abordar los datos? Pruébalo y comenta los resultados obtenidos.
hitps:biocosas github o/RV050_anova.him! 15821612019 ‘Andlsis dela Varianza (ANOVA) con R
5.2. eHay diferencias de salario en funci6n del lugar de
trabajo?
Nos gustaria saber si el salario varia en alguna de las 3 provincias de la Comunidad
Valenciana, Para ello, se realizé un estudio con 50 personas por provincia a las que se
pregunté su salario en euros por semana.
Valencia 299 313 300 321 308 312 300 310 281 308 309 300 303 303 311 308 291 298
276 290 310 308 295 310 286 295 289 293 291 297 297 287 297 302 298 301 313 290
306 313 294 308 295 303 316 299 313 296 290 299
Castellén: 252 248 232 229 256 233 240 237 248 232 230 246 236 250 238 243 245 241
235 249 238 231 230 239 261 243 242 245 249 258 245 236 244 242 229 246 244 244
255 247 236 252 237 259 248 237 236 252 236 239
Alicante: 272 268 285 274 278 287 297 275 269 281 270 284 282 281 280 286 265 283
281 272 269 286 268 288 284 282 304 280 283 281 281 286 287 288 278 272 268 287
269 272 270 271 291 265 280 280 275 294 269 277
Contesta las siguientes preguntas:
A. Introduce los datos en R creando las 2 variables: una que incluya los salarios y otra que
sera un factor, que nos proporcionard informacién sobre la provincia donde trabajando los
sujetos,
B. Explora los datos de la muestra mediante gréficos y descriptivos. ;Observamos
diferencias en los valores promedios y de variabilidad por grupos?
C. Realiza un test F (ANOVA) para comparar las medias de las 3 poblaciones. {Cudles
serian las hipdtesis nula y alternativa?
D. Describe los resultados obtenidos indicando quién es el valor del estadistico de
contraste (F), los grados de libertad del factor, los grados de libertad residuales y el valor
de P.
E. También indica quién seria el valor critico de F bajo la hipétesis nula, que nos
proporcionara la definicién de una regién de aceptacién y rechazo (consideramos un nivel
de significacién alfa = 0.05)
F. ,Qué valor obtenemos para la estimacién de la varianza comtin de los datos?
G. Tras evaluar la tabla ANOVA, {cual seria tu conclusién en el contexto de! problema?
H. Determina los intervalos de confianza para las medias de salario en cada una de las
provincias descritas.
|. Si se han obtenido diferencias significativas entre los grupos, determina dénde se
muestran esas diferencias utilizando el test HSD de Tukey. Representa graficamente las
diferencias encontradas e intrepreta los resultados obtenidos.
hitps:biocosas github o/RV050_anova.him! s6n821612019 ‘Andlsis dela Varianza (ANOVA) con R
J. A partir de los residuos obtenidos y mediante procedimientos graficos, confirma la
validez del modelo comprobando el cumplimiento de las 3 condiciones asumidas al hacer
el ANOVA. {Crees que el modelo ANOVA utilizado es valido para estos datos?
K. Si NO se verificaran estas condiciones, zhay alguna prueba no paramétrica para
abordar los datos? Pruébalo y comenta los resultados obtenidos.
6. Bibliografia y enlaces de interés:
* David S, Moore, Estadistica aplicada basica. Editorial Antoni Bosch, Manual de
Estadistica Basica.
* Quick-R Web con recursos para trabajar con R.
* rtutor An R Introduction to Statistics.
hitps:biocosas github o/RV050_anova.him! ame.16/2019 ‘Andlsis dela Varianza (ANOVA) con R
hitps:biocosas github o/RV050_anova.him! 1818