Comparación de medias con R

Recientemente, me tocó hacer pruebas de comparaciones de medias y me decidí, por su simplicidad, por el lenguaje R. Estas pruebas requieren que inicialmente se verifique normalidad en las series de datos objetos de la comparación. Para ello se seleccionó la prueba de Shapiro-Wilk la cual se considera uno de los test más potentes para el contraste de normalidad; sobre todo para muestras pequeñas (n<30).

Para un nivel de confianza del 95 %, el código siguiente prueba que las dos series de datos empleadas en la comparación se distribuyen normalmente debido a que el p-value es mayor que 0.05 en ambos casos.

y1 <- c(5.5, 4.5, 5.5, 5.5, 6.5, 5.5, 4.5, 5.0, 4.5, 5.0, 4.0, 6.0, 5.5, 6.0, 6.0)
x <- y1
x.test <- shapiro.test(x)
print(x.test)
Shapiro-Wilk normality test

data:  x
W = 0.94303, p-value = 0.4219
y2 <- c(5.0, 5.0, 4.5, 5.5, 6.5, 6.0, 5.0, 5.0, 4.5, 4.0, 5.0, 6.0, 6.0, 6.0, 5.5)
x <- y2
x.test <- shapiro.test(x)
print(x.test)

        Shapiro-Wilk normality test

data:  x
W = 0.93976, p-value = 0.3794

Con la función siguiente tomada de aquí (el link quedará inútil después del 31 de julio de 2018):

# Dado un vector dibuja el histograma asociado y la distribución normal
 
plotn <- function(x,main="Histograma de frecuencias \ny distribución normal",
                  xlab="Y",ylab="Densidad") {
  min <- min(x)
  max <- max(x)
  media <- mean(x)
  dt <- sd(x)
 
  hist(x,freq=F,main=main,xlab=xlab,ylab=ylab)
  curve(dnorm(x,media,dt), min, max,add = T,col="blue")
}

y con los comandos siguientes:

 plotn(y1,main="Distribución normal y1")
plotn(y2,main="Distribución normal y2")

obtenemos las imágenes a continuación que permiten constatar cómo las dos series de datos consideradas se ajustan a una distribución normal.


normal1

normal2

Finalmente, la prueba de la t de Student se utiliza para comprobar la igualdad de las medias de dos muestras:

test <- t.test(y1, y2) # Prueba t de Student
print(test)
        Welch Two Sample t-test

data:  y1 and y2
t = 0, df = 28, p-value = 1
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.525105  0.525105
sample estimates:
mean of x mean of y 
      5.3       5.3 

donde un p-value igual a 1 (mucho mayor que 0,05) permite comprobar, con un nivel de confianza del 95 % (como es obvio ya que coinciden), que ambas medias no difieren significativamente.

El código a continuación permite visualizar el diagrama de cajas correspondiente a la prueba de comparación de medias.

boxplot(y1,y2,names=c("Y1","Y2"))
medias <- c(mean(y1),mean(y2))
points(medias,pch=18,col="red")

normal3

This entry was posted in Lenguaje R. Bookmark the permalink.

Leave a comment