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).
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 |
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 |
# 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))
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
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
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
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
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.
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
qqnorm(residuos)
qqline(residuos)
qqPlot(residuos,pch=10)
## [1] 5 10
plot(modelo$fitted.values,residuos,
main="Residuals vs. Fitted",
pch=20)
par(mfrow=c(2,2))
plot(modelo)
par(mfrow=c(1,1))
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 |
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
shapiro.test(residuos)
##
## Shapiro-Wilk normality test
##
## data: residuos
## W = 0.94337, p-value = 0.3305
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.
leveneTest(residuos~cafe,
center=mean,
data=data2)
| Df | F value | Pr(>F) | |
|---|---|---|---|
| group | 2 | 0.1242236 | 0.8840815 |
| 15 | NA | NA |
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.