Antes de comenzar cargamos las dos bases de datos.
datoscd=as.data.frame(readxl::read_excel('CD.xls'))
datosrepair=as.data.frame(readxl::read_excel('REPAIR.xls'))
datosrepair1=as.data.frame(readxl::read_excel('REPAIR.xls',sheet = 2))
library(dplyr)
library(tidyverse)
Primero vamos a analizar la base de datos que contiene información acerca de la anchura de unos CDs. En la siguiente tabla podemos ver unos descriptivos acerca de las observaciones.
library(DT)
library(papeR)
datoscd %>% papeR::summarise() %>%
datatable(options=list(scrollX = TRUE))
Analizamos la capacidad del proceso fijando los límites de especificación en (1.15,1.25)mm
colnames(datoscd)<-'AnchuraCD'
media<-mean(datoscd$AnchuraCD)
library(SixSigma)
ss.study.ca(xST = datoscd$AnchuraCD,Target = media,
LSL = 1.15, USL = 1.25,
f.sub = "CD THICKNESS")
Fig 1: Anchura media 1.20mm
Límites de especificación calculados teniendo en cuenta que los defectos no superen el 5% establecido.
colnames(datoscd)<-'AnchuraCD'
sigma3<-3.2*(sd(datoscd$AnchuraCD))
media<-mean(datoscd$AnchuraCD)
library(SixSigma)
ss.study.ca(xST = datoscd$AnchuraCD,Target = media,
LSL = media-sigma3, USL = media+sigma3,
f.sub = "CD THICKNESS")
Fig 2: 5% Defectos
Ahora cargamos la segunda base de datos, referida al tiempo de reparación y hacemos unos descriptivos básicos.
library(DT)
library(papeR)
colnames(datosrepair)<-c('Tiempo_arreglo','Subgrupos')
datos<-data.frame(Tiempo_Arreglo=datosrepair[,1])
datos%>% papeR::summarise() %>%
datatable(options=list(scrollX = TRUE))
Para el análisis de la variación del proceso recurrimos a los boxplots.
datosrepair$Subgrupos=as.factor(datosrepair$Subgrupos)
p<-ggplot(datosrepair, aes(y=Tiempo_arreglo, x=Subgrupos,group=Subgrupos
)) +
geom_boxplot( aes(color=Subgrupos),size=0.7)+
theme(panel.grid = element_blank())
p
Fig 3: Proceso no estable
datoscortopl=datosrepair[1:20,]
sigma3<-3*(sd(datosrepair$Tiempo_arreglo))
media<-mean(datosrepair$Tiempo_arreglo)
library(SixSigma)
ss.study.ca(xST = datoscortopl$Tiempo_arreglo,
Target = media,
xLT = datosrepair$Tiempo_arreglo,
LSL = media-sigma3, USL = media+sigma3,
f.sub = "Repair Time")
Unidades que superan los 5 días en tiempo de reparación
defectos=sum(datosrepair$Tiempo_arreglo>5)
n=100
defectos
## [1] 60
Fijamos un límite superior de 5 días y observamos la capacidad.
datoscortopl=datosrepair[1:20,]
sigma3<-3*(sd(datosrepair$Tiempo_arreglo))
media<-mean(datosrepair$Tiempo_arreglo)
library(SixSigma)
ss.study.ca(xST = datosrepair$Tiempo_arreglo,
Target = media,
LSL = 1, USL = 5,
f.sub = "Repair Time")
Fig 4: Menos de 5 días
Visualización de aquellos subgrupos en los cuáles las unidades no superan los 5 días de reparación
library(dplyr)
library(ggplot2)
x=datosrepair %>% group_by(Subgrupos) %>% count(superior_5=Tiempo_arreglo>5) %>% spread(superior_5,n) %>% replace(is.na(.), 0) %>% rename('inferior_5'='FALSE','superior_5'='TRUE') %>% as.data.frame()
x$Subgrupos=as.factor(x$Subgrupos)
ggplot(x, aes(x=Subgrupos, y=superior_5)) +
geom_segment( aes(x=Subgrupos, xend=Subgrupos, y=-1, yend=superior_5),
color=ifelse(x$superior_5 ==0, "#8A583F", "#7F8389"),
size=ifelse(x$superior_5==0, 3.3, 1.7))+
geom_point(color=ifelse(x$superior_5 ==0, "#5DB394", "#7F8389"),
size=ifelse(x$superior_5==0, 5.9, 3.7) ) +
geom_text(aes(label=ifelse(superior_5==0, superior_5, ' ')),color='white')+
annotate(geom="text", x=16.5, y=1.7, label="Subgrupos con 0 observaciones
cuando tiempo_arreglos > 5",fontface = 'bold',size=4,
color="#3F3F3F")+
coord_flip() +
ylab('Nº de defectos con tiempo_arreglo superior > 5')+
theme(panel.grid = element_blank(),
panel.background = element_rect(fill='white'))
library(grid)
library(pBrackets)
#grid.locator(unit="native")
grid.brackets(360, 120, 360, 298, lwd=2, col="#B7410E")
Fig 5: Subgrupos
-El director, observando la competencia se da cuenta de que fabrican CDs con una anchura media de 1.20mm y nos pregunta si el proceso actual es capaz de producir en ese rango.
Teniendo en cuenta el objetivo, se ha establecido un margen de variación entre 1.15 (LSL) y 1.25 (USL). Con ello se observa en la figura (Fig 1), donde las barras indican las cantidades producidas, vemos que la mayoría de las unidades no están dentro de esos límites. Por tanto,el proceso no tiene capacidad para producir con esas especificaciones y habría que recalibrarlo.
-Con el proceso actual, el empresario está dispuesto a aceptar un 5% de defectos. ¿Qué intervalo tiene que establecer para no superar ese margen?
Aceptar el 5% de defectos equivale a 50.000 por cada millón de oportunidades. Una vez observadas las tablas seleccionamos el nivel 3.2 sigmas, por tanto el intervalo de variación es de 1.156 y 1.542 mm.
-La empresa recibe quejas de los clientes acerca de los tiempos de reparación. Es por ello que quieren saber si su proceso es estable o no.
Como se ve en el gráfico (Fig 3), por un lado vemos que los grupos son muy distintos entre ellos, y esto se ve reflejado por la altura de las cajas. Por otro lado, la anchura nos indica la variación dentro de cada mes. Teniendo en cuenta estos dos factores, el proceso no es capaz de dar un tiempo concreto de reparación a los clientes, y se concluye que no es estable.
-La empresa no está a dispuesta a tardar más de 5 días en reparar los productos. ¿Sería capaz el sistema actual de cumplir dicho objetivo?
Como no quiere que el tiempo sea superior a 5 días, establecemos los límites en 1 y 5. Usando esos límites y con las mediciones actuales obtenemos que 60 unidades han tardado más de 5 días, y por tanto se consideran defectos.
En base a esto, podemos afirmar que el proceso no es capaz de cumplir el objetivo marcado. Una opción sería investigar el motivo por el cual los subgrupos 14 al 18 (Fig 5) tardaron menos de 5 días en realizar los arreglos y aplicarlo al resto de grupos.
Realizado por: Data Ghosts