Aplicar ANOVA de una vía sobre un conjunto de datos relacionados con la atracción que tienen las personas hacia otras personas cuando SI consumen alcohol o NO consumen.

Las librerías

La librería WRS2 permite tener acceso a los datos goggles que se utilizan en la práctica.

# install.packages("WRS2")
# install.packages("psych")
# install.packages("car")
library(WRS2) # Para disponer de los datos goggles; data(goggles)
library(psych) # Para variables descriptivas
library(car) # Para prueba de normalidad y homocestacidad

Los datos

data(goggles)
datos <- goggles
head(datos)
##   gender alcohol attractiveness
## 1 Female    None             65
## 2 Female    None             70
## 3 Female    None             60
## 4 Female    None             60
## 5 Female    None             60
## 6 Female    None             55
tail(datos)
##    gender alcohol attractiveness
## 43   Male 4 Pints             30
## 44   Male 4 Pints             55
## 45   Male 4 Pints             35
## 46   Male 4 Pints             20
## 47   Male 4 Pints             45
## 48   Male 4 Pints             40
datos[sample(1:nrow(datos), 10, replace = TRUE),]
##      gender alcohol attractiveness
## 30     Male    None             75
## 15   Female 2 Pints             60
## 48     Male 4 Pints             40
## 22   Female 4 Pints             60
## 40     Male 2 Pints             60
## 23   Female 4 Pints             50
## 43     Male 4 Pints             30
## 14   Female 2 Pints             60
## 30.1   Male    None             75
## 23.1 Female 4 Pints             50

La base de datos tiene 3 variables: * el sexo (variable gender: hombre o mujer), * el alcohol consumido (variable alcohol: nada, 2 bebidas o 4 bebidas), Para los datos la variable viene con valor de Pintas que significa que equivale a una bebida de, aproximadamente, 568 mililitros para los Ingleses. La pinta americana equivale a unos 473 mililitros. A su vez, también se denominan pintas a los vasos que se utilizan para beber este tipo de cervezas. * el nivel de atracción física de la pareja encontrada (variable attractiveness: puntaje de 0 a 100 dado por los jueces).

Explorando datos

str(datos)
## 'data.frame':    48 obs. of  3 variables:
##  $ gender        : Factor w/ 2 levels "Female","Male": 1 1 1 1 1 1 1 1 1 1 ...
##  $ alcohol       : Factor w/ 3 levels "None","2 Pints",..: 1 1 1 1 1 1 1 1 2 2 ...
##  $ attractiveness: int  65 70 60 60 60 55 60 55 70 65 ...
summary(datos)
##     gender      alcohol   attractiveness 
##  Female:24   None   :16   Min.   :20.00  
##  Male  :24   2 Pints:16   1st Qu.:53.75  
##              4 Pints:16   Median :60.00  
##                           Mean   :58.33  
##                           3rd Qu.:66.25  
##                           Max.   :85.00

Estadísticos descriptivos por grupo

Utilizando describeBy()

Se calcula los estadísticos descriptivos por grupo utilizando la función describeBy() de la librería psych.

  • Los principales estadísticos que genera la función describeBy() son los siguientes:
    • item name. Nombre del grupo, X1, X2, X3…
    • item number. Número de variables del grupo, la salida es 1
    • number of valid cases. Número de casos válidos, número de observaciones ‘n’ del grupo
    • mean. La media del grupo
    • standard deviation. La desviación estándard
    • median. La mediana
    • mad: median absolute deviation (from the median). La desviación media absoulta de la mediana
    • minimum. El valor mínimo
    • maximum. El valor máximo
    • skew. La curtosis
    • standard error. El error estándard
describeBy(datos$attractiveness, datos$alcohol)
## 
##  Descriptive statistics by group 
## group: None
##    vars  n  mean   sd median trimmed   mad min max range skew kurtosis   se
## X1    1 16 63.75 8.47   62.5   63.57 11.12  50  80    30 0.29    -1.07 2.12
## ------------------------------------------------------------ 
## group: 2 Pints
##    vars  n  mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 16 64.69 9.91     65   64.64 7.41  45  85    40 0.08    -0.23 2.48
## ------------------------------------------------------------ 
## group: 4 Pints
##    vars  n  mean    sd median trimmed   mad min max range  skew kurtosis   se
## X1    1 16 46.56 14.34     50   46.79 14.83  20  70    50 -0.22    -1.21 3.59

Utilizando summary(por grupo)

Para cada grupo se puedo haber utilizado summary(), con resultados iguales pero con menores estadísticos que la función describeBy())

summary (datos[datos$alcohol=="None",])
##     gender     alcohol   attractiveness 
##  Female:8   None   :16   Min.   :50.00  
##  Male  :8   2 Pints: 0   1st Qu.:58.75  
##             4 Pints: 0   Median :62.50  
##                          Mean   :63.75  
##                          3rd Qu.:70.00  
##                          Max.   :80.00
summary (datos[datos$alcohol=="2 Pints",])
##     gender     alcohol   attractiveness 
##  Female:8   None   : 0   Min.   :45.00  
##  Male  :8   2 Pints:16   1st Qu.:60.00  
##             4 Pints: 0   Median :65.00  
##                          Mean   :64.69  
##                          3rd Qu.:70.00  
##                          Max.   :85.00
summary (datos[datos$alcohol=="4 Pints",])
##     gender     alcohol   attractiveness 
##  Female:8   None   : 0   Min.   :20.00  
##  Male  :8   2 Pints: 0   1st Qu.:33.75  
##             4 Pints:16   Median :50.00  
##                          Mean   :46.56  
##                          3rd Qu.:55.00  
##                          Max.   :70.00

Los dos primeros grupos presentaron valores similares en el atractivo de las parejas que encontraron, sin embargo, estos valores disminuyeron en el grupo que consumió más alcohol:

  • No consume alcohol, 63.75±8.47
  • 2 bebidas de alcohol, 64.69±9.91
  • 4 bebidas de alcohol, 46.56±14.34

Los valores se presentan como media±sd (desviación estándar).

Visualizando datos con boxplot()

La función boxplot() permite visualizar e identificar datos atípicos, para este ejemplo no existe datos extraños. El caracter tilde o virulilla ´~´ significa en esta función que se generan los diagramas de cajas de la variable numérica attractiveness en función de la variable factor llamada alcohol que significa cada grupo.

boxplot(datos$attractiveness~datos$alcohol, xlab = "Consumo", ylab = "Selectividad")

Prueba de Normalidad

Para este conjunto de datos, hay dos tipos de variables: * variables independientes: Gender y alcohol * variable dependiente: attractiveness

Se utiliza la prueba de normalidad de Shapiro-Wilks que funciona bien para conjuntos de datos pequeños.

Para esta prueba la hipótesis nula implica que los datos siguen una distribución normal, y la hipótesis alternativa indica lo contrario.

Por tanto, si el p-valor de la prueba es inferior a 0.05 (el nivel alfa de significación que se toma por defecto) se rechaza la hipótesis nulas y se dice que que la respuesta no sigue una distribución normal en cada grupo de estudio.

En caso contrario, si el p-valor es mayor a 0.05, no se estaría incumpliendo el supuesto de normalidad.

by(datos$attractiveness, datos$alcohol, shapiro.test)
## datos$alcohol: None
## 
##  Shapiro-Wilk normality test
## 
## data:  dd[x, ]
## W = 0.95498, p-value = 0.5725
## 
## ------------------------------------------------------------ 
## datos$alcohol: 2 Pints
## 
##  Shapiro-Wilk normality test
## 
## data:  dd[x, ]
## W = 0.94489, p-value = 0.4132
## 
## ------------------------------------------------------------ 
## datos$alcohol: 4 Pints
## 
##  Shapiro-Wilk normality test
## 
## data:  dd[x, ]
## W = 0.952, p-value = 0.522

De lo anterior, en los 3 grupos la variable attractiveness tiene distribución normal, aclarando que ¡solo se tienen 16 observaciones por grupo!.

Homogeneidad de varianza

Se utilizan distintos tipos de pruebas para evaluar la homocedasticidad (homogeneidad de varianza), es decir, para contrastar si varios grupos o muestras de la misma población son homocedásticas (tiene la misma varianza).

Las diferencias entre las pruebas se deben a su sensibilidad al supuesto de normalidad visto anteriormente.

Para esta prueba la hipótesis nula implica que los datos presentan homogeneidad de varianza entre los grupos, por lo cual si el p-valor es inferior a 0.05 se estaría incumpliendo este supuesto.

Si p-valor es mayor a 0.05 existe homogeneidad de

bartlett.test(datos$attractiveness, datos$alcohol)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  datos$attractiveness and datos$alcohol
## Bartlett's K-squared = 4.4295, df = 2, p-value = 0.1092
leveneTest(datos$attractiveness, datos$alcohol)
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  2  2.3238 0.1095
##       45
fligner.test(datos$attractiveness, datos$alcohol)
## 
##  Fligner-Killeen test of homogeneity of variances
## 
## data:  datos$attractiveness and datos$alcohol
## Fligner-Killeen:med chi-squared = 4.3876, df = 2, p-value = 0.1115

De lo anterior, en todos los casos se obtiene p>0.05, es decir, no se encuenran problemas de heterocedasticidad (falta de homogeneidad de varianza).

Las pruebas de normalidad y homogeneidad de varianza no indican problemas con los supuestos estadísticos clásicos, si bien se debe recordar que ¡solo se tienen 16 sujetos por grupo!.

Prueba ANOVA

El procedimiento ANOVA de un factor genera un análisis de varianza de un factor para una variable dependiente cuantitativa respecto a una única variable de factor (la variable independiente). El análisis de varianza se utiliza para contrastar la hipótesis de que varias medias son iguales. https://www.ibm.com/support/knowledgecenter/es/SSLVMB_sub/statistics_mainhelp_ddita/spss/base/idh_onew.html#idh_onew

Anova es una prueba estadística para analizar si más de dos grupos difieren entre sí de manera significativa en sus medias y varianzas. (Hernández, Fernández, & Baptista, 2014).

¿Existen diferencias entre los grupos de personas conforme y de acuerdo a la variable consumo de alcohol y el nivel de selectividad en cuanto a la atracción hacia otras personas valorado en la variable attractiveness?

¿al consumir alcohol los sujetos se vuelven menos selectivos a la hora de elegir pareja?

¿en qué momento se vuelven más selectivos?

¿con 2 bebidas o con 4 bebidas de alcohol?

Para el caso del ANOVA de un factor entre grupos, las hipótesis que corresponden son:

analisis <- aov(data = datos, attractiveness ~ alcohol)

summary(analisis)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## alcohol      2   3332  1666.1   13.31 2.88e-05 ***
## Residuals   45   5634   125.2                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Existen diferencias estadísticamente significativas entre los grupos de consumo de alcohol (F(2,45)=13.31, p<0.05). Pr > F = 2.88e-05 (tiene tres asteriscos)

Pruebas post hoc

Como se ha detectado diferencias entre los grupos, la pregunta espec´fiica es ¿en qué grupos son significativamente distintos?.

Para ello se utiliza la prueba de comparación múltiple post hoc de Tukey (también llamada prueba HSD).

La prueba de Tukey es una prueba estadística para comparaciones posteriores (post hoc) en el ANOVA unidireccional o de un factor. (Hernández, Fernández, & Baptista, 2014).

TukeyHSD(analisis)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = attractiveness ~ alcohol, data = datos)
## 
## $alcohol
##                     diff        lwr       upr     p adj
## 2 Pints-None      0.9375  -8.650654 10.525654 0.9695381
## 4 Pints-None    -17.1875 -26.775654 -7.599346 0.0002283
## 4 Pints-2 Pints -18.1250 -27.713154 -8.536846 0.0001067

Se identifica que existen diferencias entre 4 Pints-None y 4 Pints-2 Pints (p<0.001), pero no entre 2 Pints-None.

Observando los gráficos y estadísticos descriptivos que han calculado anteriormente, se puede afirmar que solo para 4 bebidas (pintas) de alcohol disminuye estadística y significativamente el nivel de atracción (selección) de las parejas.

Dicho de otro modo, se detectan diferencias significativas en el atractivo de las parejas de sujetos con distinto consumo de alcohol, en particular se observa que los sujetos se volvieron menos selectivos en la búsqueda de pareja a partir de 4 bebidas de alcohol.

Moraleja, un poco de alcohol no hace menos selectivos en la búsqueda de pareja pero ¿si se abusa del alcohol? … … …