Características de un Diseño Completamente Aleatorizado (DCA)

Ejemplo

Se estudió la percepción sensorial de tres tipos de café: Café Tostao, Café Viejo Molino y Café Colcafé, con el propósito de determinar si existen diferencias significativas en las puntuaciones otorgadas por los consumidores. Para ello, se realizó una evaluación en la que se analizaron seis muestras de cada tipo de café, obteniendo seis réplicas por tratamiento. Las puntuaciones se asignaron en una escala de 1 a 10, donde 1 representa una valoración muy baja y 10 una valoración excelente. Los datos obtenidos se utilizaron para comparar las puntuaciones de los tres tratamientos mediante un Diseño Completamente Aleatorizado (DCA).

Lectura y organización de los datos

library(printr) # Cargando la librería printr para una mejor presentación de las tablas de datos
## Registered S3 method overwritten by 'printr':
##   method                from     
##   knit_print.data.frame rmarkdown
Tratamientos <- c("Café Tostao","Café Viejo Molino","Café Colcafé")

t <- 3 # Número de tratamientos
r <- 6 # Número de réplicas (datos balanceados)
N <- t*r

r1 <- c(8,7,9)
r2 <- c(9,8,8)
r3 <- c(8,7,10)
r4 <- c(9,6,9)
r5 <- c(10,8,8)
r6 <- c(8,7,10)

replicas <- cbind(r1,r2,r3,r4,r5,r6)

Total <- rowSums(replicas)
medias <- Total/r

Tabla <- data.frame(Tratamientos,r1,r2,r3,r4,r5,r6,Total,medias)

Tabla
Tratamientos r1 r2 r3 r4 r5 r6 Total medias
Café Tostao 8 9 8 9 10 8 52 8.666667
Café Viejo Molino 7 8 7 6 8 7 43 7.166667
Café Colcafé 9 8 10 9 8 10 54 9.000000

Lectura de los datos

cafe <- c(rep("Café Tostao",6),
          rep("Café Viejo Molino",6),
          rep("Café Colcafé",6))

cafe <- as.factor(cafe)

y <- c(8,9,8,9,10,8,
       7,8,7,6,8,7,
       9,8,10,9,8,10)

DATA <- data.frame(cafe,y)

DATA
cafe y
Café Tostao 8
Café Tostao 9
Café Tostao 8
Café Tostao 9
Café Tostao 10
Café Tostao 8
Café Viejo Molino 7
Café Viejo Molino 8
Café Viejo Molino 7
Café Viejo Molino 6
Café Viejo Molino 8
Café Viejo Molino 7
Café Colcafé 9
Café Colcafé 8
Café Colcafé 10
Café Colcafé 9
Café Colcafé 8
Café Colcafé 10

Diagrama de cajas (Boxplot)

# Boxplot

boxplot(y~cafe,
        col="green",
        main="Percepción sensorial de tres tipos de café",
        xlab="Tipos de café",
        ylab="Puntuación",
        ylim=c(1,10))

Análisis de varianza

Se realiza un análisis de varianza (ANOVA) para determinar si existen diferencias significativas entre las puntuaciones promedio de los tres tipos de café.

modelo <- lm(y~cafe)

anova <- aov(modelo)

summary(modelo)
## 
## Call:
## lm(formula = y ~ cafe)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.16667 -0.66667 -0.08333  0.70833  1.33333 
## 
## Coefficients:
##                       Estimate Std. Error t value Pr(>|t|)    
## (Intercept)             9.0000     0.3361  26.778 4.44e-14 ***
## cafeCafé Tostao        -0.3333     0.4753  -0.701  0.49386    
## cafeCafé Viejo Molino  -1.8333     0.4753  -3.857  0.00155 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.8233 on 15 degrees of freedom
## Multiple R-squared:  0.5296, Adjusted R-squared:  0.4668 
## F-statistic: 8.443 on 2 and 15 DF,  p-value: 0.003498
summary(anova)
##             Df Sum Sq Mean Sq F value Pr(>F)   
## cafe         2  11.44   5.722   8.443 0.0035 **
## Residuals   15  10.17   0.678                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Comparaciones múltiples

Prueba LSD

Se aplica la prueba de Diferencia Mínima Significativa (LSD) para identificar cuáles tratamientos presentan diferencias significativas entre sus medias.

library(agricolae)

LSD.test(modelo,"cafe",
         group=TRUE,
         console=TRUE,
         main="Percepción sensorial de los tipos de café")
## 
## Study: Percepción sensorial de los tipos de café
## 
## LSD t Test for y 
## 
## Mean Square Error:  0.6777778 
## 
## cafe,  means and individual ( 95 %) CI
## 
##                          y       std r        se      LCL      UCL Min Max  Q25
## Café Colcafé      9.000000 0.8944272 6 0.3360996 8.283621 9.716379   8  10 8.25
## Café Tostao       8.666667 0.8164966 6 0.3360996 7.950287 9.383046   8  10 8.00
## Café Viejo Molino 7.166667 0.7527727 6 0.3360996 6.450287 7.883046   6   8 7.00
##                   Q50  Q75
## Café Colcafé      9.0 9.75
## Café Tostao       8.5 9.00
## Café Viejo Molino 7.0 7.75
## 
## Alpha: 0.05 ; DF Error: 15
## Critical Value of t: 2.13145 
## 
## least Significant Difference: 1.013113 
## 
## Treatments with the same letter are not significantly different.
## 
##                          y groups
## Café Colcafé      9.000000      a
## Café Tostao       8.666667      a
## Café Viejo Molino 7.166667      b

Prueba de Tukey

tukey <- TukeyHSD(anova,"cafe",conf.level=0.95)

plot(tukey)

tukey
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = modelo)
## 
## $cafe
##                                      diff       lwr        upr     p adj
## Café Tostao-Café Colcafé       -0.3333333 -1.567954  0.9012875 0.7663903
## Café Viejo Molino-Café Colcafé -1.8333333 -3.067954 -0.5987125 0.0041614
## Café Viejo Molino-Café Tostao  -1.5000000 -2.734621 -0.2653791 0.0169072

Prueba de Duncan

duncan.test(modelo,"cafe",
            group=TRUE,
            console=TRUE,
            main="Percepción sensorial de los tipos de café")
## 
## Study: Percepción sensorial de los tipos de café
## 
## Duncan's new multiple range test
## for y 
## 
## Mean Square Error:  0.6777778 
## 
## cafe,  means
## 
##                          y       std r        se Min Max  Q25 Q50  Q75
## Café Colcafé      9.000000 0.8944272 6 0.3360996   8  10 8.25 9.0 9.75
## Café Tostao       8.666667 0.8164966 6 0.3360996   8  10 8.00 8.5 9.00
## Café Viejo Molino 7.166667 0.7527727 6 0.3360996   6   8 7.00 7.0 7.75
## 
## Alpha: 0.05 ; DF Error: 15 
## 
## Critical Range
##        2        3 
## 1.013113 1.062016 
## 
## Means with the same letter are not significantly different.
## 
##                          y groups
## Café Colcafé      9.000000      a
## Café Tostao       8.666667      a
## Café Viejo Molino 7.166667      b

Verificación del supuesto de normalidad de los errores

Para comprobar el supuesto de normalidad del modelo, se analizan los residuos obtenidos a partir del ajuste experimental, mediante gráficos y pruebas estadísticas.

Obtención de los residuos

library(car)
## Cargando paquete requerido: carData
residuos <- modelo$residuals

residuos
##             1             2             3             4             5 
## -6.666667e-01  3.333333e-01 -6.666667e-01  3.333333e-01  1.333333e+00 
##             6             7             8             9            10 
## -6.666667e-01 -1.666667e-01  8.333333e-01 -1.666667e-01 -1.166667e+00 
##            11            12            13            14            15 
##  8.333333e-01 -1.666667e-01 -1.942890e-16 -1.000000e+00  1.000000e+00 
##            16            17            18 
## -1.942890e-16 -1.000000e+00  1.000000e+00
sort(residuos)
##            10            14            17             3             6 
## -1.166667e+00 -1.000000e+00 -1.000000e+00 -6.666667e-01 -6.666667e-01 
##             1             7             9            12            13 
## -6.666667e-01 -1.666667e-01 -1.666667e-01 -1.666667e-01 -1.942890e-16 
##            16             2             4             8            11 
## -1.942890e-16  3.333333e-01  3.333333e-01  8.333333e-01  8.333333e-01 
##            15            18             5 
##  1.000000e+00  1.000000e+00  1.333333e+00

Gráfico de normalidad (QQ-Plot)

qqnorm(residuos)

qqline(residuos)

qqPlot(residuos,pch=10)

## [1]  5 10

Gráfico de residuos frente a valores ajustados

plot(modelo$fitted.values,residuos,
     main="Residuals vs. Fitted",
     pch=20)

Gráficos de diagnóstico del modelo

par(mfrow=c(2,2))

plot(modelo)

par(mfrow=c(1,1))

Organización de los residuos

data2 <- data.frame(cafe,residuos)

data2
cafe residuos
Café Tostao -0.6666667
Café Tostao 0.3333333
Café Tostao -0.6666667
Café Tostao 0.3333333
Café Tostao 1.3333333
Café Tostao -0.6666667
Café Viejo Molino -0.1666667
Café Viejo Molino 0.8333333
Café Viejo Molino -0.1666667
Café Viejo Molino -1.1666667
Café Viejo Molino 0.8333333
Café Viejo Molino -0.1666667
Café Colcafé 0.0000000
Café Colcafé -1.0000000
Café Colcafé 1.0000000
Café Colcafé 0.0000000
Café Colcafé -1.0000000
Café Colcafé 1.0000000

Verificación del supuesto de homogeneidad de varianzas

Análisis de los residuos absolutos

mod1 <- lm(abs(residuos)~cafe)

anv1 <- aov(mod1)

summary(anv1)
##             Df Sum Sq Mean Sq F value Pr(>F)
## cafe         2 0.0494 0.02469   0.124  0.884
## Residuals   15 2.9815 0.19877

Prueba de normalidad de Shapiro-Wilk

shapiro.test(residuos)
## 
##  Shapiro-Wilk normality test
## 
## data:  residuos
## W = 0.94337, p-value = 0.3305

Prueba de Kolmogorov-Smirnov

ks.test(residuos,"pnorm",
        mean=mean(residuos),
        sd=sd(residuos))
## Warning in ks.test.default(residuos, "pnorm", mean = mean(residuos), sd =
## sd(residuos)): ties should not be present for the one-sample Kolmogorov-Smirnov
## test
## 
##  Asymptotic one-sample Kolmogorov-Smirnov test
## 
## data:  residuos
## D = 0.13901, p-value = 0.8775
## alternative hypothesis: two-sided

Nota: La prueba de Kolmogorov-Smirnov se incluye como referencia del ejemplo del profesor. Al estimar la media y desviación estándar con los mismos residuos, su valor p no debe interpretarse como una prueba formal de normalidad. Para este análisis se utiliza principalmente Shapiro-Wilk.

Prueba de Levene

leveneTest(residuos~cafe,
           center=mean,
           data=data2)
Df F value Pr(>F)
group 2 0.1242236 0.8840815
15 NA NA

Conclusiones

El análisis estadístico permite comparar las puntuaciones de percepción sensorial de los tres tipos de café evaluados. Mediante el análisis de varianza se determina si existen diferencias significativas entre los tratamientos, mientras que las pruebas de comparación múltiple permiten identificar cuáles presentan diferencias entre sus medias.

Asimismo, la verificación de los supuestos del modelo permite evaluar la normalidad de los residuos y la homogeneidad de las varianzas, con el propósito de comprobar la validez de los resultados obtenidos.