library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.1 ✔ stringr 1.5.2
## ✔ ggplot2 4.0.0 ✔ tibble 3.3.0
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.1.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(car)
## Loading required package: carData
##
## Attaching package: 'car'
##
## The following object is masked from 'package:dplyr':
##
## recode
##
## The following object is masked from 'package:purrr':
##
## some
library(agricolae)
# Número de decimales
options(digits = 3)
TALLER_DE_INVESTIGACION <- read.csv("TALLER_DE_INVESTIGACION.csv", fileEncoding="UTF-8-BOM")
# Se revisa estructura estructura
head(TALLER_DE_INVESTIGACION)
str(TALLER_DE_INVESTIGACION)
## 'data.frame': 90 obs. of 4 variables:
## $ PERIODO : chr "JULIO" "JULIO" "JULIO" "JULIO" ...
## $ TURNO : int 1 2 1 2 1 2 1 2 1 2 ...
## $ PRODUCTO : int 1 2 3 4 5 1 2 3 4 5 ...
## $ PRODUCCION: int 11 15 8 9 7 19 9 7 12 4 ...
# Convertir TURNO a factor
TALLER_DE_INVESTIGACION$TURNO <- factor(
TALLER_DE_INVESTIGACION$TURNO,
labels = c("Dia", "Noche")
)
# Verificar
str(TALLER_DE_INVESTIGACION)
## 'data.frame': 90 obs. of 4 variables:
## $ PERIODO : chr "JULIO" "JULIO" "JULIO" "JULIO" ...
## $ TURNO : Factor w/ 2 levels "Dia","Noche": 1 2 1 2 1 2 1 2 1 2 ...
## $ PRODUCTO : int 1 2 3 4 5 1 2 3 4 5 ...
## $ PRODUCCION: int 11 15 8 9 7 19 9 7 12 4 ...
#CONCLUSION: se identifico como “1” al turno de dia y “2” al turno de noche para los productos se tiene que 1=M2000, 2=M4000, 3=element hydro, 4=M4000 MRL y 5=escaleras
# Estadísticas descriptivas por turno
estadisticas <- TALLER_DE_INVESTIGACION %>%
group_by(TURNO) %>%
summarise(
N = n(),
Media = mean(PRODUCCION, na.rm = TRUE),
Mediana = median(PRODUCCION, na.rm = TRUE),
SD = sd(PRODUCCION, na.rm = TRUE),
Varianza = var(PRODUCCION, na.rm = TRUE),
Min = min(PRODUCCION, na.rm = TRUE),
Max = max(PRODUCCION, na.rm = TRUE),
Range = Max - Min,
.groups = "drop"
)
estadisticas
#conclusion: La producción promedio del turno Noche es mayor que la del turno Día. Esto indica que, en general, el turno Noche produce más unidades que el turno Día El turno Día tiene mayor variabilidad en la producción, mientras que el turno Noche es un poco más consistente
# ANOVA: Producción depende del turno
modelo <- aov(PRODUCCION ~ TURNO, data = TALLER_DE_INVESTIGACION)
summary(modelo)
## Df Sum Sq Mean Sq F value Pr(>F)
## TURNO 1 157 157.3 7.55 0.0073 **
## Residuals 88 1833 20.8
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#conclusion: El ANOVA indica que hay una diferencia significativa en la producción entre los turnos Día y Noche (F = 7.55, p = 0.0073). Esto significa que el turno de trabajo tiene un efecto estadísticamente significativo sobre la cantidad producida.
#SE REALIZA PRUEBA SHAPIRO
# Residuos del ANOVA
residuos <- residuals(modelo)
# Prueba de normalidad
shapiro.test(residuos)
##
## Shapiro-Wilk normality test
##
## data: residuos
## W = 1, p-value = 0.003
# Visualización
qqnorm(residuos)
qqline(residuos, col = "red")
hist(residuos, main="Histograma de residuos", xlab="Residuos")
# conclusion: La prueba de Shapiro-Wilk indica que los residuos del
modelo no siguen una distribución normal (p = 0.003). Esto sugiere que
el supuesto de normalidad del ANOVA no se cumple completamente, por lo
que se debe tener precaución al interpretar los resultados del ANOVA,
aunque ANOVA suele ser robusto ante ligeras desviaciones de
normalidad
#SE REALIZA PRUEBA DE TUKEY
# Prueba de Tukey HSD
tukey_resultado <- TukeyHSD(modelo)
tukey_resultado
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = PRODUCCION ~ TURNO, data = TALLER_DE_INVESTIGACION)
##
## $TURNO
## diff lwr upr p adj
## Noche-Dia 2.64 0.732 4.56 0.007
#conclusion: La prueba de Tukey HSD muestra que la producción del turno Noche es significativamente mayor que la del turno Día (diferencia = 2.64, p = 0.007), lo que confirma que el turno influye de manera significativa en la cantidad producida
#GRAFICAS ILUSTRTIVAS
# Histograma comparativo
ggplot(TALLER_DE_INVESTIGACION, aes(x=PRODUCCION, fill=TURNO)) +
geom_histogram(position="dodge", binwidth=2, color="black") +
ggtitle("Histograma de Producción por Turno") +
xlab("Producción") + ylab("Frecuencia")
# Boxplot comparativo
ggplot(TALLER_DE_INVESTIGACION, aes(x=TURNO, y=PRODUCCION, fill=TURNO)) +
geom_boxplot() +
ggtitle("Comparación de Producción Día vs Noche") +
xlab("Turno") + ylab("Producción") +
theme_minimal()
#conclsucion: de acuerdo a los datos obtenidos gracias a las pruebas de shapiro y tuker y gracias al histograma de produccion y a la comparacion, se puede deducir que el turno de noche, de acuerdo a los datos,tiene mayor produccion al turno de dia en cuanto a equipos realizados Relación con Tukey y estadísticas descriptivas
Tukey confirmó que la diferencia significativa se debe a que el turno Noche produce más que el turno Día
Estadísticas descriptivas muestran que el promedio del turno Noche (11.2) es mayor que el del turno Día (8.6), y que la variabilidad es menor en Noche.