#file.choose()
bds <- read.csv("/Users/lizmanzano/Desktop/RETO ANALÍTICA/FORM - Scrap Limpia.csv")
summary(bds)
## Referencia Fecha Hora Producto
## Length:250 Length:250 Length:250 Length:250
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Cantidad Unidad.de.medida Ubicación.de.origen Ubicación.de.desecho
## Min. : 0.000 Length:250 Length:250 Length:250
## 1st Qu.: 1.000 Class :character Class :character Class :character
## Median : 2.000 Mode :character Mode :character Mode :character
## Mean : 6.696
## 3rd Qu.: 7.000
## Max. :96.000
## Estado
## Length:250
## Class :character
## Mode :character
##
##
##
str(bds)
## 'data.frame': 250 obs. of 9 variables:
## $ Referencia : chr "SP/08731" "SP/08730" "SP/08729" "SP/08728" ...
## $ Fecha : chr "31/08/2022" "31/08/2022" "31/08/2022" "31/08/2022" ...
## $ Hora : chr "14:55:40" "14:49:25" "13:49:29" "09:30:07" ...
## $ Producto : chr "[BACKFRAME 60% CUELLO ARMADO] 18805. 60% Backframe. Cuello Armado." "[N61506747 CAJA] N61506747. Kit. Caja." "[N61506729 SEPARADOR] N61506729. Kit. Separador." "[341332 DIVISOR - U611 & U625] 341332. U611. U625. Divisor Troquelado." ...
## $ Cantidad : num 2 1 1 31 1 1 1 9 2 1 ...
## $ Unidad.de.medida : chr "Unidad(es)" "Unidad(es)" "Unidad(es)" "Unidad(es)" ...
## $ Ubicación.de.origen : chr "SAB/Calidad/Entrega de PT" "SAB/Calidad/Entrega de PT" "SAB/Calidad/Entrega de PT" "SAB/Pre-Production" ...
## $ Ubicación.de.desecho: chr "Virtual Locations/Scrapped" "Virtual Locations/Scrapped" "Virtual Locations/Scrapped" "Virtual Locations/Scrapped" ...
## $ Estado : chr "Hecho" "Hecho" "Hecho" "Hecho" ...
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
## ✔ ggplot2 3.3.6 ✔ purrr 0.3.4
## ✔ tibble 3.1.8 ✔ dplyr 1.0.10
## ✔ tidyr 1.2.0 ✔ stringr 1.4.1
## ✔ readr 2.1.2 ✔ forcats 0.5.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
library(janitor)
##
## Attaching package: 'janitor'
##
## The following objects are masked from 'package:stats':
##
## chisq.test, fisher.test
Variable<-c("Referencia", "Fecha", "Producto","Cantidad", "Unidad.de.medida","Ubicación.de.origen","Ubicación.de.desecho","Estado")
Type<-c("Cualitativa", "Cuantitativa (discreta)", "Cualitativa", "Cuantitativa (discreta)", "Cuantitativa (discreta)", "Cualitativa", "Cualitativa", "Cualitativa")
Escala_de_Medición<-c("Numero", "Fecha", "Categoría", "Kg", "Medición", "Posición", "Posición", "Estado")
La técnica de limpieza utilizada fue la de retirar columnas que no se usen, la razón por la que se utilizó solamente esta limpieza de datos fue porque era lo único que se tenía que cambiar y porque la otra limpieza que se podía a hacer era cambiar la fecha a fecha, sin embargo en este caso no era necesario porque se hizo el cambio desde la base de datos en excel. Las columnas que fueron eliminadas fueron las de Referencia, Producto, Unidad.de.medida, Hora, Ubicación.de.desecho, y Estado. Esto porque las caariables necesarias son solamente Fecha, cantidad y ubicación de origen.
bds1 <- bds
bds1<- subset(bds1, select = -c (Referencia, Producto, Unidad.de.medida, Hora, Ubicación.de.desecho, Estado))
bds2 <- bds
bds2<- subset(bds2, select = -c (Referencia, Producto, Unidad.de.medida, Hora, Ubicación.de.desecho, Estado))
str(bds)
## 'data.frame': 250 obs. of 9 variables:
## $ Referencia : chr "SP/08731" "SP/08730" "SP/08729" "SP/08728" ...
## $ Fecha : chr "31/08/2022" "31/08/2022" "31/08/2022" "31/08/2022" ...
## $ Hora : chr "14:55:40" "14:49:25" "13:49:29" "09:30:07" ...
## $ Producto : chr "[BACKFRAME 60% CUELLO ARMADO] 18805. 60% Backframe. Cuello Armado." "[N61506747 CAJA] N61506747. Kit. Caja." "[N61506729 SEPARADOR] N61506729. Kit. Separador." "[341332 DIVISOR - U611 & U625] 341332. U611. U625. Divisor Troquelado." ...
## $ Cantidad : num 2 1 1 31 1 1 1 9 2 1 ...
## $ Unidad.de.medida : chr "Unidad(es)" "Unidad(es)" "Unidad(es)" "Unidad(es)" ...
## $ Ubicación.de.origen : chr "SAB/Calidad/Entrega de PT" "SAB/Calidad/Entrega de PT" "SAB/Calidad/Entrega de PT" "SAB/Pre-Production" ...
## $ Ubicación.de.desecho: chr "Virtual Locations/Scrapped" "Virtual Locations/Scrapped" "Virtual Locations/Scrapped" "Virtual Locations/Scrapped" ...
## $ Estado : chr "Hecho" "Hecho" "Hecho" "Hecho" ...
tabyl(bds, Producto, Ubicación.de.origen)
## Producto
## [2065WY AS 30 99 0000 00 000 TAPA - BOX 2064WY] BOX 2064WY
## [241B EXPORT CAJA] 241B. Export. Caja.
## [341332 CELDA - U611 & U625] 341332. U611. U625. Celda Troquelada.
## [341332 CHAROLA - U611 & U625] 341332. U611. U625. Charola Troquelada.
## [341332 DIVISOR - U611 & U625] 341332. U611. U625. Divisor Troquelado.
## [357790-TAPA] 357790. Tapa.
## [358268-CAJA] 358268-CAJA
## [358268-TAPA] 358268-TAPA
## [428579 AS 30 99 0000 00 000 INSERTO- FORD DAMPER] 14306. Damper Ford DTP. Inserto.
## [428818 AS 30 99 0000 00 000 INSERTO - CHRYSLER INSERT DJ] CHRYSLER INSERT DJ PART 694087
## [429296 AS 30 99 0000 00 000 INSERTO - INSERT TMC 150 TESLA] 14783. TMC150. Inserto.
## [446265 AS 30 99 0000 00 000 CAPA INTERMEDIA- PAD 43X36 DAIMLER] 14454. Daimler Pad 43 X 36
## [467.416-24 COMPARTIMENT INSERT 535X335X221MM CC ESD] Refacciones. P1. Celdado.
## [496455 FS 30 99 0000 00 000 CARTÓN - BOX 0371813] BOX 0371813
## [500033 AS 30 99 0000 00 000 INSERTO - Inserto FORD China 500033] 17397. 500033. FORD China. Inserto.
## [642762 PACKING, SHEET, 565.2X742.9 - INSERT 642762] 642762. Pad. S.M.
## [643920 CART, SOM, 746.8X569.0X292.1, RSC - BOX 643920 STABOMAT] 13891. 643920. Stabomat. Caja.
## [647713] 647713. Caja.
## [938830 FS 30 99 0000 00 000 CARTÓN - SIZE 24"] 24". Caja Terminada.
## [939069 FS 30 99 0000 00 000 CARTÓN -BOX 939069 34"] 34". Caja Terminada.
## [A - CELDA SUDAFRICA BMW G01 LCI] Sudafrica. A. Pieza.
## [B - CELDA SUDAFRICA BMW G01 LCI] Sudáfrica. B. Pieza.
## [BACKFRAME 60% CUELLO ARMADO] 18805. 60% Backframe. Cuello Armado.
## [BACKFRAME 60% TAPA BASE] 18271. 60% Backframe. Tapa Base.
## [BOX 143907 - CELDA] 143907. Solares. Celda Troquelada.
## [BOX 143907 - TAPA] 143907. Solares. Tapa Troquelada.
## [C - CELDA SUDAFRICA BMW G01 LCI] Sudáfrica. C. Pieza.
## [CAJA ( ARMREST / HR REAR) TMC 110 MODEL Y] 19148. Modelo Y. TMC0110. Armrest & Rear & Center. Caja
## [CAJA 695] N61506695. Caja.
## [CAJA 726] N61506726 CAJA
## [CAJA 734949] CAJA 734949
## [CAJA 784] 784. Kit. Caja.
## [CAJA 95161] 19079. 95161. Kit. Caja.
## [Caja backup canastilla gris] CAJA DE CARTÓN BACK UP CANASTILLA GRIS- P3
## [CAJA INDUSTRIAL 16" ROTATIVA] 16". Lamina Troquelada.
## [CAJA INDUSTRIAL 24" ROTATIVA COMPLETA] 24". Lamina Troquelada.
## [CAJA INDUSTRIAL 34" ROTATIVA] 34". Lamina Troquelada.
## [CAJA INDUSTRIAL 48" CON SELLO (PP)] 48". Lamina Troquelada.
## [CAJA MCV] Toyota. MCV. Caja Troquelada.
## [CAJA RSC DE KIT REFLEX] 857. Reflex. Caja.
## [CAJA RSC SHOCK TOWER] Shock Tower. Caja.
## [CAJA RSC TGTX] TGTX. Caja RSC.
## [CELDA 955061] 955061. Celda Troquelada.
## [Celda Audi coupe] 18892. Coupe. Celda Troquelada.
## [CELDA AUDI Q5] 14096. Audi Q5. Celda Troquelada.
## [CELDA CON MICRO CORUUGAD O EN 32 PORTA ETIQUETA] TR13777 KIT TGTX. Caja + Celda
## [CELDA GM177] 14100. GM177. Celda Troquelada.
## [CELDA VW CHATTANOOGA] Chattanooga. St3. Celda Troquelada.
## [CELL C] 60% Backframe. Separador con Doblez.
## [CHAROLA 955061] 955061. Charola Troquelada.
## [Charola audi coupe] 18890. Coupe. Charola Troquelada.
## [CHAROLA AUDI Q5] 14128. Audi Q5. Charola Troquelada.
## [CHAROLA GM177] 14131. GM177. Charola Troquelada.
## [CHAROLA VW CHATTANOOGA] Chattanooga. St1 y St3. Charola Troquelada.
## [Console cell] Console Lower. Celda Armada.
## [D - CELDA SUDAFRICA BMW G01 LCI] Sudáfrica. D. Pieza.
## [DIVISOR AUDI Q5] 14234. Audi Q5. Divisor Troquelado.
## [DIVISOR CON DOBLEZ VW CHATTANOOGA] Chattanooga. St1 y St3. Divisor Troquelado.
## [DIVISOR GM177] 14238. GM177. Divisor.
## [DIVISOR REFLEX] 857. Reflex. Divisor.
## [DIVISOR ZIGZAG VW CHATTANOOGA] Chattanooga. St1 y St3. Zig Zag Troquelado.
## [E - CELDA SUDAFRICA BMW G01 LCI] Sudáfrica. E. Pieza.
## [F - CELDA SUDAFRICA BMW G01 LCI] Sudáfrica. F. Pieza.
## [HSC P702 ICP] 17215. P558. P702. CD539. ICP. Caja HSC. Pieza.
## [INSERTO 241B EXPORT] 14308. 241B. Export. Inserto.
## [Inserto Nextracker 3.0] Nextracker. 2.0. Damper. Inserto.
## [INSERTO SOLARES] 143907. Solares. Inserto Troquelada.
## [MITAD DE CUELLO SHOCK TOWER] Shock Tower. Mitad Cuello.
## [MQ4A-Dunnage-part2] Kia. Inserto. Pieza.
## [MQ4A-Dunnage-tray] Kia. Charola. Pieza.
## [N61506396 CAJA] N61506396. Caja.
## [N61506396 SEPARADOR] N61506396. Separador.
## [N61506729 SEPARADOR] N61506729. Kit. Separador.
## [N61506747 CAJA] N61506747. Kit. Caja.
## [N61506747 TAPA] N61506747. Kit. Tapa.
## [NEXTRACKER 2.0 DAMPER CUELLO] 18976. Nextracker. 2.0. Damper. Cuello,
## [NEXTRACKER 2.0 DAMPER TAPA DE COROPLAST] Nextracker. 2.0. Damper. Tapa de Coroplast.
## [PTN.WS IP 60 CELL IBT] Y0199489 PTN.WS IP 60 CELL IBT
## [REJILLA DE 16X PARA PIVOT DE TESLA PARA PROCESO DE MTM A PPG] CELDA PIVOTE CONTENEDOR RETORNABLE
## [SEAT BACK CAJA] Seat Back. Caja HSC 1/2
## [SEAT BACK CELDADO] Seat Back. Celda Armada.
## [SEPARADOR 41" X 44" PARA PIVOTE Y SEAT BACK DE MTM A PPG] SEPARADOR PIVOTE CONTENEDOR RETORNABLE
## [SEPARADOR MOTORGEAR] Motorgear. Separador para Celdas.
## [TAPA 695] N61506695. Tapa.
## [TAPA AVANAZAR] Avanzar. Tapa. Pieza.
## [TESLA XDA90 CELDA A] XDA90. A. Pieza.
## [TESLA XDA90 CELDA B] XDA90. B. Pieza.
## [TESLA XDA90 CHAROLA SUAJADA] XDA90. Charola. Pieza.
## [TMC 050 - RSC] Console lower - TMC 050
## [TMC 095] 19162. Modelo Y. TMC095. Front. Caja.
## [TMC XXX] Armrest. Caja RSC.
## [TR11910 CHAROLA C/2 DIV #20 SMOOTH C/32 CAVIDADES] TR11910. U725. DMS. ITB. Charola con ITB.
## [TR12438 TAPA ICP 539 TAPA 2415-2 EN CPARTÓN SENCILLO CORRUGADO] 18840. CD539. Tapa.
## [TR12440 TAPA P558] 18842. P558. Tapa.
## [TR13776 CAJA RSC CK 44 ECT C/ PORTA ETIQUETA] TR13776. Caja con Porta Etiqueta.
## SAB/Calidad/Entrega de PT SAB/Post-Production SAB/Pre-Production
## 1 0 1
## 1 0 0
## 0 0 10
## 0 0 5
## 0 0 5
## 2 0 1
## 2 0 0
## 2 0 0
## 1 0 0
## 1 0 2
## 1 0 0
## 2 0 0
## 1 0 0
## 0 1 0
## 1 0 0
## 3 0 0
## 1 0 1
## 1 0 2
## 1 0 0
## 1 0 0
## 0 0 3
## 0 0 3
## 1 0 0
## 1 0 0
## 0 0 3
## 0 0 1
## 0 0 3
## 0 0 1
## 0 1 0
## 0 1 0
## 0 0 1
## 0 2 0
## 0 0 1
## 0 1 0
## 0 0 12
## 0 0 3
## 0 0 11
## 0 0 7
## 0 0 2
## 0 1 0
## 2 0 0
## 0 0 1
## 0 0 6
## 0 0 3
## 0 0 10
## 1 0 0
## 0 0 9
## 0 0 1
## 1 0 0
## 0 0 5
## 0 0 2
## 0 0 5
## 0 0 5
## 0 0 5
## 2 0 0
## 0 0 3
## 0 0 4
## 0 0 4
## 0 0 5
## 0 1 0
## 0 0 4
## 0 0 2
## 0 0 3
## 0 0 4
## 2 0 0
## 3 0 1
## 0 0 1
## 0 0 1
## 0 0 3
## 0 0 3
## 1 1 0
## 0 1 0
## 1 0 0
## 3 0 0
## 2 0 0
## 2 0 0
## 2 0 0
## 1 0 0
## 1 0 0
## 2 0 0
## 1 0 0
## 1 0 0
## 1 0 0
## 0 1 0
## 0 0 2
## 0 0 3
## 0 0 1
## 0 0 2
## 0 0 1
## 1 0 1
## 0 0 1
## 3 0 0
## 0 1 0
## 1 0 0
## 0 1 0
variable<-c("Referencia","Fecha", "Hora", "Producto", "Cantidad", "Unidad.de.medida", "Ubicación.de.origen", "Ubicación.de.desecho")
type<-c("Cualitativo (nominal)","Cuantitativo (disccreta)", "Cuantitativo (discreta)", "Cualitativo (nominal)","Cuantitativo (Continua)", "Cualitativo (nominal)", "Cualitativo (nominal)","Cualitativo (nominal)")
table<-data.frame(variable,type)
knitr::kable(table)
| variable | type |
|---|---|
| Referencia | Cualitativo (nominal) |
| Fecha | Cuantitativo (disccreta) |
| Hora | Cuantitativo (discreta) |
| Producto | Cualitativo (nominal) |
| Cantidad | Cuantitativo (Continua) |
| Unidad.de.medida | Cualitativo (nominal) |
| Ubicación.de.origen | Cualitativo (nominal) |
| Ubicación.de.desecho | Cualitativo (nominal) |
bds$Fecha<- as.Date(bds$Fecha,format = "%d/%m/%Y")
plot(bds$Fecha, bds$Cantidad)
## Histograma
media <- mean(bds2$Cantidad)
mediana <- median(bds2$Cantidad)
mode <- function (x) {
ux <- unique(x)
ux [which.max(tabulate(match(x,ux)))]
}
mode <- mode(bds2$Cantidad)
mode
## [1] 1
hist(bds2$Cantidad)
bds3 <- table(bds$Fecha)
knitr::kable(bds3)
| Var1 | Freq |
|---|---|
| 2022-08-01 | 2 |
| 2022-08-02 | 5 |
| 2022-08-03 | 13 |
| 2022-08-04 | 6 |
| 2022-08-05 | 7 |
| 2022-08-06 | 7 |
| 2022-08-08 | 4 |
| 2022-08-09 | 5 |
| 2022-08-10 | 13 |
| 2022-08-11 | 3 |
| 2022-08-12 | 12 |
| 2022-08-13 | 5 |
| 2022-08-15 | 6 |
| 2022-08-16 | 24 |
| 2022-08-17 | 9 |
| 2022-08-19 | 17 |
| 2022-08-20 | 9 |
| 2022-08-22 | 11 |
| 2022-08-23 | 1 |
| 2022-08-24 | 21 |
| 2022-08-25 | 11 |
| 2022-08-26 | 12 |
| 2022-08-27 | 12 |
| 2022-08-29 | 8 |
| 2022-08-30 | 17 |
| 2022-08-31 | 10 |
bds3<- table(bds$Ubicación.de.origen)
knitr::kable(bds3)
| Var1 | Freq |
|---|---|
| SAB/Calidad/Entrega de PT | 58 |
| SAB/Post-Production | 13 |
| SAB/Pre-Production | 179 |
count(bds2, Ubicación.de.origen, sort = TRUE)
## Ubicación.de.origen n
## 1 SAB/Pre-Production 179
## 2 SAB/Calidad/Entrega de PT 58
## 3 SAB/Post-Production 13
ggplot(bds2, aes(x=media, y= Ubicación.de.origen)) +
geom_bar(stat="identity", fill="blue") + scale_fill_grey() + # Add bars to the plot
labs(title = "Análsis ubicación de origen", # Add a title
subtitle = "Scrap empresa FORM", # Add a subtitle
caption = "Relación", # Add a caption
x = "x")
count(bds1, Fecha, sort = TRUE)
## Fecha n
## 1 16/08/2022 24
## 2 24/08/2022 21
## 3 19/08/2022 17
## 4 30/08/2022 17
## 5 03/08/2022 13
## 6 10/08/2022 13
## 7 12/08/2022 12
## 8 26/08/2022 12
## 9 27/08/2022 12
## 10 22/08/2022 11
## 11 25/08/2022 11
## 12 31/08/2022 10
## 13 17/08/2022 9
## 14 20/08/2022 9
## 15 29/08/2022 8
## 16 05/08/2022 7
## 17 06/08/2022 7
## 18 04/08/2022 6
## 19 15/08/2022 6
## 20 02/08/2022 5
## 21 09/08/2022 5
## 22 13/08/2022 5
## 23 08/08/2022 4
## 24 11/08/2022 3
## 25 01/08/2022 2
## 26 23/08/2022 1
Se tuvo un promedio mas bajo de cantidades menores. Podemos decir que no ha habido mucha cantidad que usar a reusar, ya que en el mes de Agosto hubo muy poca cantidad de unidades. Por esto como primer propuesta se sugiere lo siguiente: 1. Que sigan aprovechando su materia prima para mantenerse en un estándar bajo de la cantidad a reciclar. Para esto es importante analizar que es lo que están haciendo para lograr esto yy de esta manera seguirlo llevando a cabo o bien mejorarlo 2. Se sugiere que debido a que es un ejemplo a seguir lo que hacen de rehusar su materia prima pueden tomar eso como ventaja y hacerlo aún mas de valor, promoviendo y haciendo notar a sus clientes (hacer una campaña de concientización pro medio ambiente), en donde enseñen de que manera lo llevan a cabo para impulsar a otras empresas a hacerlo y ser bien vistos hacia posibles clientes.
#file.choose()
bdm <- read.csv("/Users/lizmanzano/Desktop/RETO ANALÍTICA/FORM - Merma limpia.csv")
summary (bdm)
## Fecha Kilos
## Length:52 Min. : 790
## Class :character 1st Qu.:3178
## Mode :character Median :3925
## Mean :3709
## 3rd Qu.:4232
## Max. :6140
## NA's :2
Escala_de_Medición <- c("Mermas","Fecha")
Las técnicas de limpieza utilizadas en esta base de datos fueron las de eliminar la columna de mes directamente de la base de datos de excel, al igual de convertir la colmna de fecha a fecha dentro del programa de R con una función, esto porque la fecha no se puede analizar de manera cuantitativa y la cambiamos a cualitativa.
as.Date(bdm$Fecha)
## [1] "0011-01-22" "0011-01-22" "0022-01-22" "0022-01-22" "0018-02-22"
## [6] "0018-02-22" "0018-02-22" "0018-02-22" "0018-02-22" "0024-02-22"
## [11] "0003-03-22" "0008-03-22" "0011-03-22" "0016-03-22" "0023-03-22"
## [16] "0030-03-22" "0004-04-22" "0011-04-22" "0014-04-22" "0021-04-22"
## [21] "0027-04-22" "0002-05-22" "0009-05-22" "0014-05-22" "0024-05-22"
## [26] "0025-05-22" "0007-06-22" "0015-06-22" "0020-06-22" "0027-06-22"
## [31] "0004-07-22" "0011-07-22" "0016-07-22" "0021-07-22" "0027-07-22"
## [36] "0008-08-22" "0010-08-22" "0011-08-22" "0013-08-22" "0015-08-22"
## [41] "0022-08-22" "0029-08-22" "0029-08-22" "0030-08-22" "0031-08-22"
## [46] "0031-08-22" "0005-09-22" "0007-09-22" "0015-09-22" "0021-09-22"
## [51] NA NA
class(bdm$Fecha)
## [1] "character"
variable<-c ("Fecha", "Kilos")
type <- c("Cuantitativo (disccreta)", "Cuantitativa (continua)")
table<-data.frame(variable,type)
knitr::kable(table)
| variable | type |
|---|---|
| Fecha | Cuantitativo (disccreta) |
| Kilos | Cuantitativa (continua) |
bdm$Fecha<- as.Date(bdm$Fecha,format = "%d/%m/%Y")
plot(bdm$Fecha, bdm$Kilos)
media <- mean(bdm$Kilos)
mediana <- median(bdm$Kilos)
mode <- function (x) {
ux <- unique(x)
ux [which.max(tabulate(match(x,ux)))]
}
mode <- mode(bdm$Kilos)
mode
## [1] 3810
hist(bdm$Kilos)
## Propuestas Se puede llegar a la
conclusión de que la empresa FORM cuenta con una cantidad relativamente
moderada de merma a lo largo de los meses analizados, sin embargo se
puede observar una reducción de merma en el mes de septiembre. Es por
esto que se propne lo siguiente: 1. El uso de machine learning, ya que
esta es una de las ramas de la inteligencia artificial la cual tiene mas
potencial de futuro y ofrece beneficios justamente para esta industria,
dentro de esta se puede lograr reducir hasta un 20% de merma si se usa
de la manera adecuada. 2. También se sugiere comercializar la merma
restante para que esta no sea un deshecho y saquen provecho de la misma.
Algunas de las empresas a las cuales se le puede vender la merma ya que
la usan para sus productos o procesos son corrupack que es una compañía
papelera que distribuye papel para empaque y alguno de este lo hace con
merma de cartón, PCM y MECAMEX son otras empresas.
#file.choose()
bdf <- read.csv("/Users/lizmanzano/Desktop/RETO ANALÍTICA/FORM_producción .csv")
resumen <- summary(bdf)
resumen
## No. CLIENTE ID.FORM PRODUCTO
## Min. : 1.0 Length:2568 Length:2568 Length:2568
## 1st Qu.: 25.0 Class :character Class :character Class :character
## Median : 50.0 Mode :character Mode :character Mode :character
## Mean : 50.8
## 3rd Qu.: 75.0
## Max. :121.0
## NA's :8
## FECHA PIEZAS.PROG. TMO..MIN. HR..FIN
## Length:2568 Length:2568 Length:2568 Length:2568
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## ESTACION.ARRANQUE Laminas.procesadas INICIO.SEP.UP fin.de.set.up
## Length:2568 Min. : 0.0 Length:2568 Length:2568
## Class :character 1st Qu.: 0.5 Class :character Class :character
## Mode :character Median : 60.0 Mode :character Mode :character
## Mean : 108.9
## 3rd Qu.: 200.0
## Max. :1125.0
## NA's :593
## INICIO.de.PROCESO FIN.de.PROCESO TIEMPO.CALIDAD TIEMPO.MATERIALES
## Length:2568 Length:2568 Length:2568 Min. : 0.000
## Class :character Class :character Class :character 1st Qu.: 0.000
## Mode :character Mode :character Mode :character Median : 0.000
## Mean : 2.535
## 3rd Qu.: 1.000
## Max. :48.000
## NA's :2243
## MERMAS.Maquinas.
## Min. : 0.000
## 1st Qu.: 0.000
## Median : 1.000
## Mean : 1.626
## 3rd Qu.: 1.000
## Max. :50.000
## NA's :2461
Las técnicas de limpieza utilizadas en esta base de datos fueron las de borrar columnas las cuales no eran necesarias para el análisis desde la base datos de excel y la de reemplazar NAs por ceros con una función en R.
Variable<-c("No.","CLIENTE","ID.FORM ", "P..DUCTO","PIEZAS.P..G.","TMO..MIN.","HR..FIN","ESTACION.AR..NQUE","Laminas.Procesadas"," INICIO.SEP.UP","FIN.INICIO.DE.SEP.UP","INICIO.de.P....SO", "FIN.de.P....SO","TIEMPO..CALIDAD","TIEMPO.MATERIALES","MERMAS.Maquinas.","Date")
Type<-c("Cuantitativa (Discreta)", "Cualitativa", "Cuantitativa (Discreta)", "Cualitativa", "Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cualitativa","Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cuantitativa (Discreta)")
table<-data.frame(Variable,Type)
knitr::kable(table)
| Variable | Type |
|---|---|
| No. | Cuantitativa (Discreta) |
| CLIENTE | Cualitativa |
| ID.FORM | Cuantitativa (Discreta) |
| P..DUCTO | Cualitativa |
| PIEZAS.P..G. | Cuantitativa (Discreta) |
| TMO..MIN. | Cuantitativa (Discreta) |
| HR..FIN | Cuantitativa (Discreta) |
| ESTACION.AR..NQUE | Cualitativa |
| Laminas.Procesadas | Cuantitativa (Discreta) |
| INICIO.SEP.UP | Cuantitativa (Discreta) |
| FIN.INICIO.DE.SEP.UP | Cuantitativa (Discreta) |
| INICIO.de.P….SO | Cuantitativa (Discreta) |
| FIN.de.P….SO | Cuantitativa (Discreta) |
| TIEMPO..CALIDAD | Cuantitativa (Discreta) |
| TIEMPO.MATERIALES | Cuantitativa (Discreta) |
| MERMAS.Maquinas. | Cuantitativa (Discreta) |
| Date | Cuantitativa (Discreta) |
Variable<-c("No.","CLIENTE","ID.FORM ", "P..DUCTO","PIEZAS.P..G.","TMO..MIN.","HR..FIN","ESTACION.AR..NQUE","Laminas.Procesadas"," INICIO.SEP.UP","FIN.INICIO.DE.SEP.UP","INICIO.de.P....SO", "FIN.de.P....SO","TIEMPO..CALIDAD","TIEMPO.MATERIALES","MERMAS.Maquinas.","Date")
Type<-c("Cuantitativa (Discreta)", "Cualitativa", "Cuantitativa (Discreta)", "Cualitativa", "Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cualitativa","Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cuantitativa (Discreta)","Cuantitativa (Discreta)")
Escala_de_Medición <- c("Numero", "Empresa", "ID","Categoria", "Piezas", "Minutos","Tiempo","Maquina","Sobrante","Hora","Hora","Hora","Hora","Tiempo","Tiempo","Mermas","Fecha")
table<-data.frame(Variable,Type,Escala_de_Medición)
knitr::kable(table)
| Variable | Type | Escala_de_Medición |
|---|---|---|
| No. | Cuantitativa (Discreta) | Numero |
| CLIENTE | Cualitativa | Empresa |
| ID.FORM | Cuantitativa (Discreta) | ID |
| P..DUCTO | Cualitativa | Categoria |
| PIEZAS.P..G. | Cuantitativa (Discreta) | Piezas |
| TMO..MIN. | Cuantitativa (Discreta) | Minutos |
| HR..FIN | Cuantitativa (Discreta) | Tiempo |
| ESTACION.AR..NQUE | Cualitativa | Maquina |
| Laminas.Procesadas | Cuantitativa (Discreta) | Sobrante |
| INICIO.SEP.UP | Cuantitativa (Discreta) | Hora |
| FIN.INICIO.DE.SEP.UP | Cuantitativa (Discreta) | Hora |
| INICIO.de.P….SO | Cuantitativa (Discreta) | Hora |
| FIN.de.P….SO | Cuantitativa (Discreta) | Hora |
| TIEMPO..CALIDAD | Cuantitativa (Discreta) | Tiempo |
| TIEMPO.MATERIALES | Cuantitativa (Discreta) | Tiempo |
| MERMAS.Maquinas. | Cuantitativa (Discreta) | Mermas |
| Date | Cuantitativa (Discreta) | Fecha |
Ya que se analizaron todas las variables, y se observó cuales de ellas son cualitativas y cuales cuantitativas se llegó a la decisión de hacer una limpieza dentro de la base de datos comenzado por eliminar los NAs que tiene la base de datos, estos se reemplazaron por cero y seguido de esto se eliminaron las columnas que no eran requeridas dejando como resultado una cantidad de 8 variables.
bdf[is.na(bdf)]<-0
summary(bdf)
## No. CLIENTE ID.FORM PRODUCTO
## Min. : 0.00 Length:2568 Length:2568 Length:2568
## 1st Qu.: 25.00 Class :character Class :character Class :character
## Median : 50.00 Mode :character Mode :character Mode :character
## Mean : 50.65
## 3rd Qu.: 75.00
## Max. :121.00
## FECHA PIEZAS.PROG. TMO..MIN. HR..FIN
## Length:2568 Length:2568 Length:2568 Length:2568
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## ESTACION.ARRANQUE Laminas.procesadas INICIO.SEP.UP fin.de.set.up
## Length:2568 Min. : 0.00 Length:2568 Length:2568
## Class :character 1st Qu.: 0.00 Class :character Class :character
## Mode :character Median : 31.00 Mode :character Mode :character
## Mean : 83.72
## 3rd Qu.: 122.25
## Max. :1125.00
## INICIO.de.PROCESO FIN.de.PROCESO TIEMPO.CALIDAD TIEMPO.MATERIALES
## Length:2568 Length:2568 Length:2568 Min. : 0.0000
## Class :character Class :character Class :character 1st Qu.: 0.0000
## Mode :character Mode :character Mode :character Median : 0.0000
## Mean : 0.3209
## 3rd Qu.: 0.0000
## Max. :48.0000
## MERMAS.Maquinas.
## Min. : 0.00000
## 1st Qu.: 0.00000
## Median : 0.00000
## Mean : 0.06776
## 3rd Qu.: 0.00000
## Max. :50.00000
bdf2 <- bdf
bdf2 <- na.omit(bdf2)
summary(bdf2)
## No. CLIENTE ID.FORM PRODUCTO
## Min. : 0.00 Length:2568 Length:2568 Length:2568
## 1st Qu.: 25.00 Class :character Class :character Class :character
## Median : 50.00 Mode :character Mode :character Mode :character
## Mean : 50.65
## 3rd Qu.: 75.00
## Max. :121.00
## FECHA PIEZAS.PROG. TMO..MIN. HR..FIN
## Length:2568 Length:2568 Length:2568 Length:2568
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## ESTACION.ARRANQUE Laminas.procesadas INICIO.SEP.UP fin.de.set.up
## Length:2568 Min. : 0.00 Length:2568 Length:2568
## Class :character 1st Qu.: 0.00 Class :character Class :character
## Mode :character Median : 31.00 Mode :character Mode :character
## Mean : 83.72
## 3rd Qu.: 122.25
## Max. :1125.00
## INICIO.de.PROCESO FIN.de.PROCESO TIEMPO.CALIDAD TIEMPO.MATERIALES
## Length:2568 Length:2568 Length:2568 Min. : 0.0000
## Class :character Class :character Class :character 1st Qu.: 0.0000
## Mode :character Mode :character Mode :character Median : 0.0000
## Mean : 0.3209
## 3rd Qu.: 0.0000
## Max. :48.0000
## MERMAS.Maquinas.
## Min. : 0.00000
## 1st Qu.: 0.00000
## Median : 0.00000
## Mean : 0.06776
## 3rd Qu.: 0.00000
## Max. :50.00000
bdf3 <- bdf
bdf3<- subset(bdf3, select = -c (ESTACION.ARRANQUE, INICIO.SEP.UP, fin.de.set.up, INICIO.de.PROCESO, FIN.de.PROCESO, TIEMPO.MATERIALES, MERMAS.Maquinas., ID.FORM, PRODUCTO))
summary(bdf3)
## No. CLIENTE FECHA PIEZAS.PROG.
## Min. : 0.00 Length:2568 Length:2568 Length:2568
## 1st Qu.: 25.00 Class :character Class :character Class :character
## Median : 50.00 Mode :character Mode :character Mode :character
## Mean : 50.65
## 3rd Qu.: 75.00
## Max. :121.00
## TMO..MIN. HR..FIN Laminas.procesadas TIEMPO.CALIDAD
## Length:2568 Length:2568 Min. : 0.00 Length:2568
## Class :character Class :character 1st Qu.: 0.00 Class :character
## Mode :character Mode :character Median : 31.00 Mode :character
## Mean : 83.72
## 3rd Qu.: 122.25
## Max. :1125.00
#install.packages("epiDisplay")
library(epiDisplay)
## Loading required package: foreign
## Loading required package: survival
## Loading required package: MASS
##
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
##
## select
## Loading required package: nnet
##
## Attaching package: 'epiDisplay'
## The following object is masked from 'package:ggplot2':
##
## alpha
tab1<-table(bdf3$CLIENTE, bdf3$TIEMPO.CALIDAD) # A will be rows, B will be columns
tab1
##
## 0 1 1:22 1.40 10 10:00 10:04 10:17 11 11:22
## 5 15 0 0 0 0 0 0 0 0 0
## DENSO 46 37 164 0 0 0 0 0 0 0 0
## HELLA 15 18 48 0 0 0 0 0 0 0 0
## MERIDIAN LIGHTWEIGHT 8 11 23 0 0 1 0 0 0 2 0
## STABILUS 1 133 115 463 0 1 2 1 1 0 1 1
## STABILUS 3 143 68 177 0 0 0 0 0 1 0 0
## STABILUS 3. 1 4 13 0 0 0 0 0 0 0 0
## TRMX 153 80 198 1 0 0 0 0 0 0 0
## VARROC 12 29 114 0 0 1 0 0 0 1 0
## VL-017-14086 0 1 0 0 0 0 0 0 0 0 0
## YANFENG 87 90 181 0 0 2 0 0 0 0 0
##
## 11:43 11:55 12:30 12:45 12:53 17 2 2:15 2:20 2:42 21
## 0 0 0 0 0 0 0 0 0 0 0
## DENSO 0 0 0 0 0 0 1 0 0 0 0
## HELLA 0 0 0 0 0 0 2 0 0 0 0
## MERIDIAN LIGHTWEIGHT 0 0 0 0 0 0 3 0 0 0 0
## STABILUS 1 1 0 1 0 0 0 12 0 0 0 0
## STABILUS 3 0 0 0 0 0 0 6 0 0 0 0
## STABILUS 3. 0 0 0 0 0 0 0 0 0 0 0
## TRMX 0 1 0 1 1 1 5 1 0 0 0
## VARROC 0 0 0 0 0 0 10 0 0 0 1
## VL-017-14086 0 0 0 0 0 0 0 0 0 0 0
## YANFENG 0 0 0 0 0 0 19 0 1 1 0
##
## 22 25 3 3:15 4 5 7 8 8:18 8:38 9 9:05 9:30
## 0 0 0 0 0 0 0 0 0 0 0 0 0
## DENSO 0 0 0 0 0 0 0 0 0 0 0 0 0
## HELLA 0 0 1 0 0 0 0 0 0 0 0 0 0
## MERIDIAN LIGHTWEIGHT 0 0 1 0 0 0 0 0 0 0 0 0 0
## STABILUS 1 0 0 3 1 2 2 0 0 0 0 0 0 1
## STABILUS 3 0 0 0 0 0 0 0 0 1 0 1 0 0
## STABILUS 3. 0 0 0 0 0 0 0 0 0 0 0 0 0
## TRMX 1 0 2 0 0 1 0 0 0 1 0 1 0
## VARROC 0 0 2 0 0 1 2 0 0 0 1 0 0
## VL-017-14086 0 0 0 0 0 0 0 0 0 0 0 0 0
## YANFENG 0 1 2 0 0 2 1 1 0 0 0 0 0
prop.table(tab1, 2) # column percentages
##
## 0 1 1:22
## 0.008291874 0.032051282 0.000000000 0.000000000
## DENSO 0.076285240 0.079059829 0.118754526 0.000000000
## HELLA 0.024875622 0.038461538 0.034757422 0.000000000
## MERIDIAN LIGHTWEIGHT 0.013266998 0.023504274 0.016654598 0.000000000
## STABILUS 1 0.220563847 0.245726496 0.335264301 0.000000000
## STABILUS 3 0.237147595 0.145299145 0.128167994 0.000000000
## STABILUS 3. 0.001658375 0.008547009 0.009413469 0.000000000
## TRMX 0.253731343 0.170940171 0.143374366 1.000000000
## VARROC 0.019900498 0.061965812 0.082548878 0.000000000
## VL-017-14086 0.000000000 0.002136752 0.000000000 0.000000000
## YANFENG 0.144278607 0.192307692 0.131064446 0.000000000
##
## 1.40 10 10:00 10:04
## 0.000000000 0.000000000 0.000000000 0.000000000
## DENSO 0.000000000 0.000000000 0.000000000 0.000000000
## HELLA 0.000000000 0.000000000 0.000000000 0.000000000
## MERIDIAN LIGHTWEIGHT 0.000000000 0.166666667 0.000000000 0.000000000
## STABILUS 1 1.000000000 0.333333333 1.000000000 1.000000000
## STABILUS 3 0.000000000 0.000000000 0.000000000 0.000000000
## STABILUS 3. 0.000000000 0.000000000 0.000000000 0.000000000
## TRMX 0.000000000 0.000000000 0.000000000 0.000000000
## VARROC 0.000000000 0.166666667 0.000000000 0.000000000
## VL-017-14086 0.000000000 0.000000000 0.000000000 0.000000000
## YANFENG 0.000000000 0.333333333 0.000000000 0.000000000
##
## 10:17 11 11:22 11:43
## 0.000000000 0.000000000 0.000000000 0.000000000
## DENSO 0.000000000 0.000000000 0.000000000 0.000000000
## HELLA 0.000000000 0.000000000 0.000000000 0.000000000
## MERIDIAN LIGHTWEIGHT 0.000000000 0.500000000 0.000000000 0.000000000
## STABILUS 1 0.000000000 0.250000000 1.000000000 1.000000000
## STABILUS 3 1.000000000 0.000000000 0.000000000 0.000000000
## STABILUS 3. 0.000000000 0.000000000 0.000000000 0.000000000
## TRMX 0.000000000 0.000000000 0.000000000 0.000000000
## VARROC 0.000000000 0.250000000 0.000000000 0.000000000
## VL-017-14086 0.000000000 0.000000000 0.000000000 0.000000000
## YANFENG 0.000000000 0.000000000 0.000000000 0.000000000
##
## 11:55 12:30 12:45 12:53
## 0.000000000 0.000000000 0.000000000 0.000000000
## DENSO 0.000000000 0.000000000 0.000000000 0.000000000
## HELLA 0.000000000 0.000000000 0.000000000 0.000000000
## MERIDIAN LIGHTWEIGHT 0.000000000 0.000000000 0.000000000 0.000000000
## STABILUS 1 0.000000000 1.000000000 0.000000000 0.000000000
## STABILUS 3 0.000000000 0.000000000 0.000000000 0.000000000
## STABILUS 3. 0.000000000 0.000000000 0.000000000 0.000000000
## TRMX 1.000000000 0.000000000 1.000000000 1.000000000
## VARROC 0.000000000 0.000000000 0.000000000 0.000000000
## VL-017-14086 0.000000000 0.000000000 0.000000000 0.000000000
## YANFENG 0.000000000 0.000000000 0.000000000 0.000000000
##
## 17 2 2:15 2:20
## 0.000000000 0.000000000 0.000000000 0.000000000
## DENSO 0.000000000 0.017241379 0.000000000 0.000000000
## HELLA 0.000000000 0.034482759 0.000000000 0.000000000
## MERIDIAN LIGHTWEIGHT 0.000000000 0.051724138 0.000000000 0.000000000
## STABILUS 1 0.000000000 0.206896552 0.000000000 0.000000000
## STABILUS 3 0.000000000 0.103448276 0.000000000 0.000000000
## STABILUS 3. 0.000000000 0.000000000 0.000000000 0.000000000
## TRMX 1.000000000 0.086206897 1.000000000 0.000000000
## VARROC 0.000000000 0.172413793 0.000000000 0.000000000
## VL-017-14086 0.000000000 0.000000000 0.000000000 0.000000000
## YANFENG 0.000000000 0.327586207 0.000000000 1.000000000
##
## 2:42 21 22 25
## 0.000000000 0.000000000 0.000000000 0.000000000
## DENSO 0.000000000 0.000000000 0.000000000 0.000000000
## HELLA 0.000000000 0.000000000 0.000000000 0.000000000
## MERIDIAN LIGHTWEIGHT 0.000000000 0.000000000 0.000000000 0.000000000
## STABILUS 1 0.000000000 0.000000000 0.000000000 0.000000000
## STABILUS 3 0.000000000 0.000000000 0.000000000 0.000000000
## STABILUS 3. 0.000000000 0.000000000 0.000000000 0.000000000
## TRMX 0.000000000 0.000000000 1.000000000 0.000000000
## VARROC 0.000000000 1.000000000 0.000000000 0.000000000
## VL-017-14086 0.000000000 0.000000000 0.000000000 0.000000000
## YANFENG 1.000000000 0.000000000 0.000000000 1.000000000
##
## 3 3:15 4 5
## 0.000000000 0.000000000 0.000000000 0.000000000
## DENSO 0.000000000 0.000000000 0.000000000 0.000000000
## HELLA 0.090909091 0.000000000 0.000000000 0.000000000
## MERIDIAN LIGHTWEIGHT 0.090909091 0.000000000 0.000000000 0.000000000
## STABILUS 1 0.272727273 1.000000000 1.000000000 0.333333333
## STABILUS 3 0.000000000 0.000000000 0.000000000 0.000000000
## STABILUS 3. 0.000000000 0.000000000 0.000000000 0.000000000
## TRMX 0.181818182 0.000000000 0.000000000 0.166666667
## VARROC 0.181818182 0.000000000 0.000000000 0.166666667
## VL-017-14086 0.000000000 0.000000000 0.000000000 0.000000000
## YANFENG 0.181818182 0.000000000 0.000000000 0.333333333
##
## 7 8 8:18 8:38
## 0.000000000 0.000000000 0.000000000 0.000000000
## DENSO 0.000000000 0.000000000 0.000000000 0.000000000
## HELLA 0.000000000 0.000000000 0.000000000 0.000000000
## MERIDIAN LIGHTWEIGHT 0.000000000 0.000000000 0.000000000 0.000000000
## STABILUS 1 0.000000000 0.000000000 0.000000000 0.000000000
## STABILUS 3 0.000000000 0.000000000 1.000000000 0.000000000
## STABILUS 3. 0.000000000 0.000000000 0.000000000 0.000000000
## TRMX 0.000000000 0.000000000 0.000000000 1.000000000
## VARROC 0.666666667 0.000000000 0.000000000 0.000000000
## VL-017-14086 0.000000000 0.000000000 0.000000000 0.000000000
## YANFENG 0.333333333 1.000000000 0.000000000 0.000000000
##
## 9 9:05 9:30
## 0.000000000 0.000000000 0.000000000
## DENSO 0.000000000 0.000000000 0.000000000
## HELLA 0.000000000 0.000000000 0.000000000
## MERIDIAN LIGHTWEIGHT 0.000000000 0.000000000 0.000000000
## STABILUS 1 0.000000000 0.000000000 1.000000000
## STABILUS 3 0.500000000 0.000000000 0.000000000
## STABILUS 3. 0.000000000 0.000000000 0.000000000
## TRMX 0.000000000 1.000000000 0.000000000
## VARROC 0.500000000 0.000000000 0.000000000
## VL-017-14086 0.000000000 0.000000000 0.000000000
## YANFENG 0.000000000 0.000000000 0.000000000
bdf2 <- table(bdf$CLIENTE)
bdf2 <- prop.table(bdf2)
bdf2
##
## DENSO HELLA
## 0.0077881620 0.0965732087 0.0327102804
## MERIDIAN LIGHTWEIGHT STABILUS 1 STABILUS 3
## 0.0190809969 0.2885514019 0.1545950156
## STABILUS 3. TRMX VARROC
## 0.0070093458 0.1744548287 0.0677570093
## VL-017-14086 YANFENG
## 0.0003894081 0.1510903427
barplot(bdf2, xlab='CLIENTE',
ylab='Frecuencia', las=3, col="yellow1")
media <- mean(bdf$Laminas.procesadas)
mediana <- median(bdf$Laminas.procesadas)
mode <- function (x) {
ux <- unique(x)
ux [which.max(tabulate(match(x,ux)))]
}
mode <- mode(bdf$Laminas.procesadas)
mode
## [1] 0
hist(bdf$Laminas.procesadas)
Una área de oportunidad que se observó al evaluar esta base de datos fue la de mejorar los tiempos de set up y es por esto que se propone lo siguiente: 1. Evaluar las operaciones de forma oportuna y frecuente para asi analizar cuales son los tiempos que se deben de acortar y asi también poder evaluar indicadores de producción. 2. Por otra parte también se propone diseñar un programa de capacitación para los colaboradores en el que se vea de que manera puedan eficientizar sus tiempos para que no todo fluya de manera mas eficiente, todo esto esta conectado con todo el plantel no solo los que están en planta entrarían a este programa.