Cargar paquetes

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)

SE LEE EL CSV

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 ...

SE IDENTIFICA LA PRODUCCION DEL DIA Y LA NOCHE

# 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

SE IDENTIFICA LAS MEDIAS POR CADA TURNO

# 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

SE REALIZA LA PRUEBA ANOVA

# 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.