El Diseño Completamente Aleatorizado (DCA) permite comparar distintos tratamientos cuando las unidades experimentales se encuentran en condiciones similares. La asignación de los tratamientos se realiza al azar y cada uno cuenta con varias repeticiones, lo que permite estimar el error experimental y estudiar las diferencias entre los resultados.
Entre sus aspectos principales se encuentran:
Se comparó la aceptación sensorial de tres marcas de café: Café Tostao, Café Viejo Molino y Café Colcafé, con el propósito de establecer si las calificaciones otorgadas por los consumidores presentan diferencias entre las marcas. Para cada una se registraron seis valoraciones, correspondientes a seis repeticiones por tratamiento. Las puntuaciones se establecieron en una escala de 1 a 10, donde los valores menores representan una aceptación baja y los valores mayores indican una valoración favorable. Los datos se estudiaron mediante un Diseño Completamente Aleatorizado (DCA).
En esta etapa se definen los tratamientos y se organizan las seis observaciones correspondientes a cada marca. También se calculan la suma y el promedio de las calificaciones para facilitar la comparación inicial.
library(printr)
Tratamientos <- c("Café Tostao",
"Café Viejo Molino",
"Café Colcafé")
t <- 3
r <- 6
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 |
Para aplicar los procedimientos estadísticos, las calificaciones se organizan en una variable de respuesta y una variable categórica que identifica la marca de café correspondiente a cada observación.
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 |
El diagrama de cajas permite observar la distribución de las puntuaciones de cada marca, comparar sus medianas y reconocer la dispersión de los datos registrados en la evaluación sensorial.
boxplot(y~cafe,
col="green",
main="Comparación de la aceptación entre marcas de café",
xlab="Marcas evaluadas",
ylab="Calificación sensorial",
ylim=c(1,10))
Se aplica un análisis de varianza (ANOVA) para determinar si existen diferencias estadísticamente significativas entre las calificaciones promedio de Café Tostao, Café Viejo Molino y Café Colcafé. El modelo considera la marca como factor explicativo y la puntuación sensorial como variable de respuesta.
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
Cuando el análisis de varianza evidencia diferencias entre los tratamientos, se realizan procedimientos de comparación múltiple para reconocer cuáles marcas presentan promedios diferentes.
La prueba de Diferencia Mínima Significativa (LSD) permite contrastar los promedios de los tratamientos y formar grupos de marcas que presentan o no diferencias significativas.
library(agricolae)
LSD.test(modelo,"cafe",
group=TRUE,
console=TRUE,
main="Diferencias entre las calificaciones de las marcas")
##
## Study: Diferencias entre las calificaciones de las marcas
##
## 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
La prueba de Tukey compara los tratamientos por pares y ajusta las comparaciones para controlar el error asociado al análisis múltiple. Se utiliza un nivel de confianza del 95 %.
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
El procedimiento de Duncan permite ordenar los tratamientos de acuerdo con sus medias y establecer grupos estadísticos. Las marcas que comparten una misma letra no presentan diferencias significativas bajo el nivel de significancia utilizado.
duncan.test(modelo,"cafe",
group=TRUE,
console=TRUE,
main="Agrupación de las marcas según su valoración")
##
## Study: Agrupación de las marcas según su valoración
##
## 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
Los residuos representan las diferencias entre las calificaciones observadas y los valores estimados por el modelo. Su revisión permite examinar si se cumplen algunos de los supuestos necesarios para interpretar el análisis de varianza.
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
El gráfico Q-Q permite comparar los cuantiles observados de los residuos con los cuantiles teóricos de una distribución normal. Una disposición aproximadamente lineal de los puntos es compatible con el supuesto de normalidad.
qqnorm(residuos)
qqline(residuos)
qqPlot(residuos,pch=10)
## [1] 5 10
Esta representación permite observar si los errores se distribuyen de manera aleatoria alrededor de cero o si presentan algún patrón que pueda indicar problemas en el ajuste del modelo.
plot(modelo$fitted.values,residuos,
main="Residuos frente a valores ajustados",
pch=20)
Los gráficos de diagnóstico reúnen distintas representaciones que ayudan a examinar el comportamiento de los residuos, posibles observaciones influyentes y la adecuación general del modelo.
par(mfrow=c(2,2))
plot(modelo)
par(mfrow=c(1,1))
Se agrupan los residuos según la marca de café para facilitar la revisión de los errores asociados a cada tratamiento.
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 |
La homogeneidad de varianzas supone que la variabilidad de las calificaciones es comparable entre los tratamientos. Para examinar este supuesto se analizan los residuos absolutos y se aplica la prueba de Levene.
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
La prueba de Shapiro-Wilk permite evaluar si los residuos se apartan significativamente de una distribución normal. Un valor p superior a 0.05 indica que no se encuentra evidencia estadística suficiente para rechazar la hipótesis de normalidad.
shapiro.test(residuos)
##
## Shapiro-Wilk normality test
##
## data: residuos
## W = 0.94337, p-value = 0.3305
Como complemento, se presenta la prueba de Kolmogorov-Smirnov para comparar la distribución empírica de los residuos con una distribución normal cuyos parámetros se estiman a partir de los mismos datos. Esta salida se conserva como referencia del ejercicio; debido a la estimación de los parámetros y a la presencia de valores repetidos, no debe considerarse una prueba formal de normalidad.
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
La prueba de Levene permite evaluar si las varianzas de los grupos pueden considerarse iguales. Se utiliza la media como centro para el cálculo de la prueba.
leveneTest(residuos~cafe,
center=mean,
data=data2)
| Df | F value | Pr(>F) | |
|---|---|---|---|
| group | 2 | 0.1242236 | 0.8840815 |
| 15 | NA | NA |
El análisis de varianza permite establecer que existen diferencias estadísticamente significativas entre las calificaciones promedio de las tres marcas de café, debido a que el valor p obtenido es inferior a 0.05. Las comparaciones múltiples muestran que Café Viejo Molino presenta una media inferior a las de Café Tostao y Café Colcafé, mientras que estas dos últimas marcas no presentan diferencias significativas entre sí.
En cuanto a los supuestos del modelo, la prueba de Shapiro-Wilk no evidencia una desviación estadísticamente significativa de la normalidad de los residuos. De igual manera, los resultados de las pruebas de homogeneidad no muestran diferencias significativas en la variabilidad entre los tratamientos. En conjunto, estas comprobaciones permiten respaldar la interpretación del modelo para los datos evaluados.