En un centro de investigación se realiza un estudio para comparar varios tratamientos que, al aplicarse previamente a los frijoles crudos, reducen su tiempo de cocción. Estos tratamientos son a base de bicarbonato de sodio (NaHCO3) y cloruro de sodio o sal común (NaCl). El primer tratamiento es el de control, que consiste en no aplicar ningún tratamiento. El tratamiento T2 es el remojo en agua con bicarbonato de sodio, el T3 es remojar en agua con sal común y el T4 es remojar en agua con una combinación de ambos ingredientes en proporciones iguales. La variable de respuesta es el tiempo de cocción en minutos. Los datos se muestran en la siguiente tabla:
library(readxl)
datos <- read_excel("/Users/jessiroa/Downloads/Datos ejercicio 3.xlsx")
datos # para visualizar los datos
conteo_valoresTramiento <- table(datos$Tratamiento)
conteo_valoresTramiento
##
## A B C Control
## 7 7 7 7
library(summarytools)
summarytools::descr(datos[,2])
## Descriptive Statistics
## datos$Tiempo
## N: 28
##
## Tiempo
## ----------------- --------
## Mean 108.54
## Std.Dev 59.48
## Min 55.00
## Q1 70.50
## Median 82.00
## Q3 146.00
## Max 214.00
## MAD 18.53
## IQR 46.75
## CV 0.55
## Skewness 1.01
## SE.Skewness 0.44
## Kurtosis -0.87
## N.Valid 28.00
## Pct.Valid 100.00
# Calcular estadísticas descriptivas por categoría
resultados_descriptivos <- aggregate( Tiempo~ Tratamiento, data = datos, summary)
# Imprimir los resultados descriptivos
print(resultados_descriptivos)
## Tratamiento Tiempo.Min. Tiempo.1st Qu. Tiempo.Median Tiempo.Mean
## 1 A 74.00000 75.50000 78.00000 78.85714
## 2 B 55.00000 59.00000 63.00000 61.42857
## 3 C 79.00000 83.00000 85.00000 85.57143
## 4 Control 200.00000 205.50000 208.00000 208.28571
## Tiempo.3rd Qu. Tiempo.Max.
## 1 82.00000 85.00000
## 2 63.50000 67.00000
## 3 88.50000 92.00000
## 4 212.50000 214.00000
ANOVA
# Realizar el ANOVA
modelo_anova <- aov(Tiempo~ Tratamiento, data = datos)
# Resumen del ANOVA
resumen_anova <- summary(modelo_anova)
# Imprimir el resumen del ANOVA
print(resumen_anova)
## Df Sum Sq Mean Sq F value Pr(>F)
## Tratamiento 3 95041 31680 1559 <2e-16 ***
## Residuals 24 488 20
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(datos$Tiempo ~ datos$Tratamiento, data = datos, col = c("red", "blue", "green","orange"), ylab = "Tiempo", xlab = "Tratamiento")
PRUEBAS POST HOC
TukeyHSD(modelo_anova)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = Tiempo ~ Tratamiento, data = datos)
##
## $Tratamiento
## diff lwr upr p adj
## B-A -17.428571 -24.07568671 -10.78146 0.0000010
## C-A 6.714286 0.06717044 13.36140 0.0471059
## Control-A 129.428571 122.78145615 136.07569 0.0000000
## C-B 24.142857 17.49574187 30.78997 0.0000000
## Control-B 146.857143 140.21002758 153.50426 0.0000000
## Control-C 122.714286 116.06717044 129.36140 0.0000000
plot(TukeyHSD(modelo_anova))
library(agricolae)
metodos.Duncan <-duncan.test(modelo_anova, trt = "Tratamiento", group = T, console = T)
##
## Study: modelo_anova ~ "Tratamiento"
##
## Duncan's new multiple range test
## for Tiempo
##
## Mean Square Error: 20.32143
##
## Tratamiento, means
##
## Tiempo std r se Min Max Q25 Q50 Q75
## A 78.85714 4.180453 7 1.703837 74 85 75.5 78 82.0
## B 61.42857 4.157609 7 1.703837 55 67 59.0 63 63.5
## C 85.57143 4.503967 7 1.703837 79 92 83.0 85 88.5
## Control 208.28571 5.122313 7 1.703837 200 214 205.5 208 212.5
##
## Alpha: 0.05 ; DF Error: 24
##
## Critical Range
## 2 3 4
## 4.973148 5.223301 5.383910
##
## Means with the same letter are not significantly different.
##
## Tiempo groups
## Control 208.28571 a
## C 85.57143 b
## A 78.85714 c
## B 61.42857 d
#out <- duncan.test(model, "virus", main = "yield of sweetpotato, Dealt with different virus")
plot(metodos.Duncan, variation="IQR" )
VERIFICACION DE LOS SUPUESTOS
library(car)
## Loading required package: carData
residuos<-residuals(modelo_anova) #Creando un objeto llamado residuos que contiene los residuos el modelo
par(mfrow=c(1,3)) #Para dividir el área del gráfico en dos partes (una fila y dos columnas)
dplot<-density(residuos) #Creando un objeto llamado dplot que recibe un Density_Plot de los residuos
plot(dplot, #Graficando el objeto dplot
main="Curva de densidad observada", #Título principal de la gráfica
xlab = "Residuos", #Etiqueta del eje x
ylab = "Densidad") #Etiqueta del eje y
polygon(dplot, #Añadiendo el poligono
col = "green", #Definiendo el color del poligono
border = "black") #Color del borde del poligono
qqPlot(residuos, #Un gráfico Cuantil-Cuantil de los residuos
pch =20, #Forma de los puntos
main="QQ-Plot de los residuos", #Título principal
xlab = "Cuantiles teóricos", #Etiqueta eje x
ylab="Cuantiles observados de los residuos") #Etiqueta eje y
## [1] 6 27
mtext(side=3, at=par("usr")[1], adj=0.7, cex=0.6, col="gray40", line=-21, #Posición del texto
text=paste("Jessica Roa V --", #Texto
format(Sys.time(),
"%d/%m/%Y %H:%M:%S --"), #Fecha y Hora
R.version.string)) #Versión de R
boxplot(residuos, col = c("red"), ylab = "residuos", main="Box-plot de los residuos")
boxplot(residuos ~ datos$Tratamiento,
main = "Boxplot de Residuos por Tratamiento",
xlab = "Tratamiento",
col="lightblue",
ylab = "Residuos")
library(car)
color_1 <-colorRampPalette(c("purple", "pink", "lightblue"))
plot(residuos, main = "Prueba de independencia", pch=20,cex = 2, col=color_1(120), ylab = "Residuos", xlab = "Tratamiento")
library(stats)
bartlett.test(residuos ~ datos$Tratamiento) #Esta prueba requiere que el diseño se balanceado (el número de repeticiones debe ser igual para cada tratamiento)
##
## Bartlett test of homogeneity of variances
##
## data: residuos by datos$Tratamiento
## Bartlett's K-squared = 0.3302, df = 3, p-value = 0.9543
library(stats)
leveneTest(residuos ~ datos$Tratamiento)
## Warning in leveneTest.default(y = y, group = group, ...): group coerced to
## factor.
durbinWatsonTest(modelo_anova)
## lag Autocorrelation D-W Statistic p-value
## 1 -0.4142606 2.74274 0.096
## Alternative hypothesis: rho != 0