Una compañía farmacéutica desea evaluar el efecto que tiene la cantidad de almidón en la dureza de las tabletas. Se decidió producir lotes con una cantidad determinada de almidón, y que las cantidades de almidón a aprobar fueran 2%, 5% y 10%. La variable de respuesta sería el promedio de la dureza de 20 tabletas de cada lote. Se hicieron 4 réplicas por tratamiento y se obtuvieron los siguientes resultados:
library(readxl)
datos <- read_excel("/Users/jessiroa/Downloads/CDatos ejercicio 4.xlsx")
datos # para visualizar los datos
conteo_valoresAlmidón <- table(datos$Almidon)
conteo_valoresAlmidón
##
## A B C
## 4 4 4
library(summarytools)
summarytools::descr(datos[,2])
## Descriptive Statistics
## datos$Dureza
## N: 12
##
## Dureza
## ----------------- --------
## Mean 6.58
## Std.Dev 1.62
## Min 4.30
## Q1 5.00
## Median 6.70
## Q3 7.95
## Max 9.00
## MAD 2.15
## IQR 2.77
## CV 0.25
## Skewness -0.05
## SE.Skewness 0.64
## Kurtosis -1.60
## N.Valid 12.00
## Pct.Valid 100.00
# Calcular estadísticas descriptivas por categoría
resultados_descriptivos <- aggregate(Almidon ~ Dureza, data = datos, summary)
# Imprimir los resultados descriptivos
print(resultados_descriptivos)
## Dureza Almidon.Length Almidon.Class Almidon.Mode
## 1 4.3 1 character character
## 2 4.5 1 character character
## 3 4.8 1 character character
## 4 5.2 1 character character
## 5 6.1 1 character character
## 6 6.5 1 character character
## 7 6.9 1 character character
## 8 7.3 1 character character
## 9 7.8 1 character character
## 10 8.1 1 character character
## 11 8.5 1 character character
## 12 9.0 1 character character
ANOVA
# Realizar el ANOVA
modelo_anova <- aov(Dureza~Almidon, 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)
## Almidon 2 26.73 13.36 58.1 7.16e-06 ***
## Residuals 9 2.07 0.23
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
boxplot(datos$Dureza~datos$Almidon, data = datos, col = c("red", "blue", "green","orange"), ylab = "Dureza", xlab = "Almidon")
PRUEBAS POST HOC
TukeyHSD(modelo_anova)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = Dureza ~ Almidon, data = datos)
##
## $Almidon
## diff lwr upr p adj
## B-A 2.00 1.0531848 2.946815 0.0006016
## C-A 3.65 2.7031848 4.596815 0.0000052
## C-B 1.65 0.7031848 2.596815 0.0022940
plot(TukeyHSD(modelo_anova))
library(agricolae)
metodos.Duncan <-duncan.test(modelo_anova, trt = "Almidon", group = T, console = T)
##
## Study: modelo_anova ~ "Almidon"
##
## Duncan's new multiple range test
## for Dureza
##
## Mean Square Error: 0.23
##
## Almidon, means
##
## Dureza std r se Min Max Q25 Q50 Q75
## A 4.70 0.3915780 4 0.2397916 4.3 5.2 4.450 4.65 4.900
## B 6.70 0.5163978 4 0.2397916 6.1 7.3 6.400 6.70 7.000
## C 8.35 0.5196152 4 0.2397916 7.8 9.0 8.025 8.30 8.625
##
## Alpha: 0.05 ; DF Error: 9
##
## Critical Range
## 2 3
## 0.7671348 0.8006971
##
## Means with the same letter are not significantly different.
##
## Dureza groups
## C 8.35 a
## B 6.70 b
## A 4.70 c
#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] 9 8
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$Almidon,
main = "Boxplot de Residuos por dureza",
xlab = "Almidon",
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 = "Almidon")
library(stats)
bartlett.test(residuos ~ datos$Almidon) #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$Almidon
## Bartlett's K-squared = 0.25398, df = 2, p-value = 0.8807
library(stats)
leveneTest(residuos ~ datos$Almidon)
## Warning in leveneTest.default(y = y, group = group, ...): group coerced to
## factor.
durbinWatsonTest(modelo_anova)
## lag Autocorrelation D-W Statistic p-value
## 1 -0.5398551 2.972222 0.206
## Alternative hypothesis: rho != 0