PRODUCCION

Ana Cristina Arviz Ponce- A01412220

2022-09-28

JuveR

Escoger la base datos

# file.choose()
bd <- read.csv("C:\\Users\\sofia\\OneDrive\\Documentos\\RETO\\Produccion Carton.csv")
resumen <- summary(bd)
resumen
##       DIA           FECHA             CLIENTE             IDFORM         
##  Min.   : 1.00   Length:2678        Length:2678        Length:2678       
##  1st Qu.: 7.00   Class :character   Class :character   Class :character  
##  Median :14.00   Mode  :character   Mode  :character   Mode  :character  
##  Mean   :13.99                                                           
##  3rd Qu.:21.00                                                           
##  Max.   :27.00                                                           
##    PRODUCTO           PZA_PROG           TMO_MIN             HR_FIN         
##  Length:2678        Length:2678        Length:2678        Length:2678       
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##  ESTACION_ARRANQUE  LAMINAS_PROCESADAS    SEP_UP          INICIO.DE.PROCESO 
##  Length:2678        Length:2678        Length:2678        Length:2678       
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##  FIN_DE_PROCESO     TIEMPO_CALIDAD    
##  Length:2678        Length:2678       
##  Class :character   Class :character  
##  Mode  :character   Mode  :character  
##                                       
##                                       
## 

1.¿Cuántas variables y cuántos registros tiene la base de datos?

R= 2678 registros y 14 variables
# install.packages("psych")
str(bd)
## 'data.frame':    2678 obs. of  14 variables:
##  $ DIA               : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ FECHA             : chr  "01/08/2022" "01/08/2022" "01/08/2022" "01/08/2022" ...
##  $ CLIENTE           : chr  "VARROC" "VARROC" "VARROC" "DENSO" ...
##  $ IDFORM            : chr  "VL-017-13938" "VL-017-13936" "VL-017-14729" "" ...
##  $ PRODUCTO          : chr  "763 . KIT. CAJA." "747 KIT. CAJA HSC. ( 2 Partes)" "747 KIT. TAPA." "TOYOTA. MCV. Insterto D 2R. CORTE. 1 Golpe = 12 piezas. ( 9 Pza. / Celda)." ...
##  $ PZA_PROG          : chr  "199" "57" "68" "192" ...
##  $ TMO_MIN           : chr  "15" "10" "10" "15" ...
##  $ HR_FIN            : chr  "09:15" "09:25" "09:35" "09:50" ...
##  $ ESTACION_ARRANQUE : chr  "C1" "C1Y2" "C1Y2" "C1" ...
##  $ LAMINAS_PROCESADAS: chr  "201" "116" "69" "49" ...
##  $ SEP_UP            : chr  "00:12" "00:05" "00:07" "00:05" ...
##  $ INICIO.DE.PROCESO : chr  "09:13" "09:32" "10:09" "10:18" ...
##  $ FIN_DE_PROCESO    : chr  "09:26" "09:53" "10.12" "10:20" ...
##  $ TIEMPO_CALIDAD    : chr  "1" "1" "1" "1" ...
library(psych)
describe(bd)
##                     vars    n   mean     sd median trimmed    mad min max range
## DIA                    1 2678  13.99   7.94     14   13.99  10.38   1  27    26
## FECHA*                 2 2678  13.99   7.94     14   13.99  10.38   1  27    26
## CLIENTE*               3 2678   6.49   2.71      6    6.49   2.97   1  11    10
## IDFORM*                4 2678 115.19  73.34    120  113.04  94.89   1 257   256
## PRODUCTO*              5 2678 164.57  94.58    161  165.76 114.16   1 321   320
## PZA_PROG*              6 2678  92.37  68.74     70   87.88  87.47   1 245   244
## TMO_MIN*               7 2678   6.51   4.56      7    6.15   4.45   1  23    22
## HR_FIN*                8 2678  70.58  59.09     69   69.26  91.92   1 158   157
## ESTACION_ARRANQUE*     9 2678  16.90   8.31     18   17.34  11.86   1  27    26
## LAMINAS_PROCESADAS*   10 2678  92.26 107.18     34   77.54  48.93   1 342   341
## SEP_UP*               11 2678   7.02   8.94      3    5.00   0.00   1  76    75
## INICIO.DE.PROCESO*    12 2678 185.17 200.63    103  162.63 151.23   1 622   621
## FIN_DE_PROCESO*       13 2678 193.98 210.15    105  171.56 154.19   1 630   629
## TIEMPO_CALIDAD*       14 2678   8.12   6.39     12    7.81   0.00   1  36    35
##                      skew kurtosis   se
## DIA                  0.01    -1.21 0.15
## FECHA*               0.01    -1.21 0.15
## CLIENTE*             0.16    -0.76 0.05
## IDFORM*              0.12    -1.10 1.42
## PRODUCTO*           -0.03    -1.17 1.83
## PZA_PROG*            0.41    -0.86 1.33
## TMO_MIN*             0.38    -0.53 0.09
## HR_FIN*              0.00    -1.72 1.14
## ESTACION_ARRANQUE*  -0.24    -1.40 0.16
## LAMINAS_PROCESADAS*  0.83    -0.72 2.07
## SEP_UP*              3.72    18.40 0.17
## INICIO.DE.PROCESO*   0.59    -1.14 3.88
## FIN_DE_PROCESO*      0.57    -1.23 4.06
## TIEMPO_CALIDAD*      0.70     1.03 0.12

2.¿Clasifica cada variable en cualitativa, cuantitativa discreta o cuantitativa continua.?

Variable<-c("DIA","FECHA","CLIENTE","IDFORM","PRODUCTO","PZA_PROG","TMO_MIN","HR_FIN","ESTACION_ARRANQUE","LAMINAS_PROCESADAS","SEP_UP","INICIO.DE.PROCESO","FIN_DE_PROCESO","TIEMPO_CALIDAD")
Type<-c("Cuantitativa continua","Cuantitativa continua","Cualitativa","Cualitativa","Cualitativa","Cuantitativa discreta","Cuantitativa continua","Cuantitativa continua","Cualitativa","Cuantitativa discreta","Cuantitativa continua","Cuantitativa continua","Cuantitativa continua","Cualitativa")
table<-data.frame(Variable,Type)
knitr::kable(table)
Variable Type
DIA Cuantitativa continua
FECHA Cuantitativa continua
CLIENTE Cualitativa
IDFORM Cualitativa
PRODUCTO Cualitativa
PZA_PROG Cuantitativa discreta
TMO_MIN Cuantitativa continua
HR_FIN Cuantitativa continua
ESTACION_ARRANQUE Cualitativa
LAMINAS_PROCESADAS Cuantitativa discreta
SEP_UP Cuantitativa continua
INICIO.DE.PROCESO Cuantitativa continua
FIN_DE_PROCESO Cuantitativa continua
TIEMPO_CALIDAD Cualitativa

3. Elige la escala de medición de cada variable.

Variable<-c("DIA","FECHA","CLIENTE","IDFORM","PRODUCTO","PZA_PROG","TMO_MIN","HR_FIN","ESTACION_ARRANQUE","LAMINAS_PROCESADAS","SEP_UP","INICIO.DE.PROCESO","FIN_DE_PROCESO","TIEMPO_CALIDAD")
Type<-c("Cuantitativa continua","Cuantitativa continua","Cualitativa","Cualitativa","Cualitativa","Cuantitativa discreta","Cuantitativa continua","Cuantitativa continua","Cualitativa","Cuantitativa discreta","Cuantitativa continua","Cuantitativa continua","Cuantitativa continua","Cualitativa")
Escala_de_Medición <- c("Razon","Razon","Nominal","Nominal","Nominal","Razon","Intervalo","Intervalo","Nominal","Razon","Intervalo","Intervalo","Intervalo","Ordinal")
table<-data.frame(Variable,Type,Escala_de_Medición)
knitr::kable(table)
Variable Type Escala_de_Medición
DIA Cuantitativa continua Razon
FECHA Cuantitativa continua Razon
CLIENTE Cualitativa Nominal
IDFORM Cualitativa Nominal
PRODUCTO Cualitativa Nominal
PZA_PROG Cuantitativa discreta Razon
TMO_MIN Cuantitativa continua Intervalo
HR_FIN Cuantitativa continua Intervalo
ESTACION_ARRANQUE Cualitativa Nominal
LAMINAS_PROCESADAS Cuantitativa discreta Razon
SEP_UP Cuantitativa continua Intervalo
INICIO.DE.PROCESO Cuantitativa continua Intervalo
FIN_DE_PROCESO Cuantitativa continua Intervalo
TIEMPO_CALIDAD Cualitativa Ordinal

Técnicas de limpieza

-Técnica 1. Remover datos irrelevantes.

Eliminar columnas

bd1 <- bd
bd1 <- subset (bd1, select = -c (IDFORM,HR_FIN,ESTACION_ARRANQUE,INICIO.DE.PROCESO,FIN_DE_PROCESO))
summary (bd1)
##       DIA           FECHA             CLIENTE            PRODUCTO        
##  Min.   : 1.00   Length:2678        Length:2678        Length:2678       
##  1st Qu.: 7.00   Class :character   Class :character   Class :character  
##  Median :14.00   Mode  :character   Mode  :character   Mode  :character  
##  Mean   :13.99                                                           
##  3rd Qu.:21.00                                                           
##  Max.   :27.00                                                           
##    PZA_PROG           TMO_MIN          LAMINAS_PROCESADAS    SEP_UP         
##  Length:2678        Length:2678        Length:2678        Length:2678       
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##  TIEMPO_CALIDAD    
##  Length:2678       
##  Class :character  
##  Mode  :character  
##                    
##                    
## 

-Técnica 2. Convertir tipos de datos.

Convertir de caracter a fecha

library(tibble)
bd2 <- bd1
bd2$FECHA <- as.Date(bd2$FECHA, format = "%d/%m/%Y")
tibble (bd2)
## # A tibble: 2,678 × 9
##      DIA FECHA      CLIENTE PRODUCTO      PZA_P…¹ TMO_MIN LAMIN…² SEP_UP TIEMP…³
##    <int> <date>     <chr>   <chr>         <chr>   <chr>   <chr>   <chr>  <chr>  
##  1     1 2022-08-01 VARROC  763 . KIT. C… 199     15      201     00:12  1      
##  2     1 2022-08-01 VARROC  747 KIT. CAJ… 57      10      116     00:05  1      
##  3     1 2022-08-01 VARROC  747 KIT. TAP… 68      10      69      00:07  1      
##  4     1 2022-08-01 DENSO   TOYOTA. MCV.… 192     15      49      00:05  1      
##  5     1 2022-08-01 DENSO   TOYOTA. MCV.… 192     15      49      00:06  1      
##  6     1 2022-08-01 YANFENG MODELO Y. TM… 400     30      801     00:02  1      
##  7     1 2022-08-01 YANFENG MODELO Y. TM… 80      15      41      00:10  1      
##  8     1 2022-08-01 YANFENG MODELO Y. TM… 104     15      53      00:00  1      
##  9     1 2022-08-01 YANFENG MODELO Y. TM… 104     15      53      00:00  1      
## 10     1 2022-08-01 YANFENG MODELO Y. TM… 160     20      55      00:08  1      
## # … with 2,668 more rows, and abbreviated variable names ¹​PZA_PROG,
## #   ²​LAMINAS_PROCESADAS, ³​TIEMPO_CALIDAD

Convertir de caracter a entero

bd3 <- bd2
bd3$PZA_PROG <- substr(bd3$PZA_PROG, start = 1, stop = 2) 
bd3$TMO_MIN <- substr(bd3$TMO_MIN, start = 1, stop = 2) 
bd3$LAMINAS_PROCESADAS <- substr(bd3$LAMINAS_PROCESADAS, start = 1, stop = 2) 

tibble(bd3)
## # A tibble: 2,678 × 9
##      DIA FECHA      CLIENTE PRODUCTO      PZA_P…¹ TMO_MIN LAMIN…² SEP_UP TIEMP…³
##    <int> <date>     <chr>   <chr>         <chr>   <chr>   <chr>   <chr>  <chr>  
##  1     1 2022-08-01 VARROC  763 . KIT. C… 19      15      20      00:12  1      
##  2     1 2022-08-01 VARROC  747 KIT. CAJ… 57      10      11      00:05  1      
##  3     1 2022-08-01 VARROC  747 KIT. TAP… 68      10      69      00:07  1      
##  4     1 2022-08-01 DENSO   TOYOTA. MCV.… 19      15      49      00:05  1      
##  5     1 2022-08-01 DENSO   TOYOTA. MCV.… 19      15      49      00:06  1      
##  6     1 2022-08-01 YANFENG MODELO Y. TM… 40      30      80      00:02  1      
##  7     1 2022-08-01 YANFENG MODELO Y. TM… 80      15      41      00:10  1      
##  8     1 2022-08-01 YANFENG MODELO Y. TM… 10      15      53      00:00  1      
##  9     1 2022-08-01 YANFENG MODELO Y. TM… 10      15      53      00:00  1      
## 10     1 2022-08-01 YANFENG MODELO Y. TM… 16      20      55      00:08  1      
## # … with 2,668 more rows, and abbreviated variable names ¹​PZA_PROG,
## #   ²​LAMINAS_PROCESADAS, ³​TIEMPO_CALIDAD
bd3$PZA_PROG <- as.integer(bd3$PZA_PROG)
bd3$TMO_MIN <- as.integer(bd3$TMO_MIN)
## Warning: NAs introducidos por coerción
bd3$LAMINAS_PROCESADAS <- as.integer(bd3$LAMINAS_PROCESADAS)
## Warning: NAs introducidos por coerción
str(bd3)      
## 'data.frame':    2678 obs. of  9 variables:
##  $ DIA               : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ FECHA             : Date, format: "2022-08-01" "2022-08-01" ...
##  $ CLIENTE           : chr  "VARROC" "VARROC" "VARROC" "DENSO" ...
##  $ PRODUCTO          : chr  "763 . KIT. CAJA." "747 KIT. CAJA HSC. ( 2 Partes)" "747 KIT. TAPA." "TOYOTA. MCV. Insterto D 2R. CORTE. 1 Golpe = 12 piezas. ( 9 Pza. / Celda)." ...
##  $ PZA_PROG          : int  19 57 68 19 19 40 80 10 10 16 ...
##  $ TMO_MIN           : int  15 10 10 15 15 30 15 15 15 20 ...
##  $ LAMINAS_PROCESADAS: int  20 11 69 49 49 80 41 53 53 55 ...
##  $ SEP_UP            : chr  "00:12" "00:05" "00:07" "00:05" ...
##  $ TIEMPO_CALIDAD    : chr  "1" "1" "1" "1" ...

-Técnica 3. Valores faltantes

¿Cuántos NA tengo en la base de datos?

sum(is.na(bd3))
## [1] 1363
sum(is.na(bd))
## [1] 0

¿Cuántos NA tengo por variable?

sapply(bd3, function(x)sum(is.na(x)))
##                DIA              FECHA            CLIENTE           PRODUCTO 
##                  0                  0                  0                  0 
##           PZA_PROG            TMO_MIN LAMINAS_PROCESADAS             SEP_UP 
##                  0                737                626                  0 
##     TIEMPO_CALIDAD 
##                  0

Reemplazar NA con ceros

bd4 <-bd3
bd4 [is.na(bd4)]<-0
summary(bd4) 
##       DIA            FECHA              CLIENTE            PRODUCTO        
##  Min.   : 1.00   Min.   :2022-08-01   Length:2678        Length:2678       
##  1st Qu.: 7.00   1st Qu.:2022-08-08   Class :character   Class :character  
##  Median :14.00   Median :2022-08-16   Mode  :character   Mode  :character  
##  Mean   :13.99   Mean   :2022-08-15                                        
##  3rd Qu.:21.00   3rd Qu.:2022-08-24                                        
##  Max.   :27.00   Max.   :2022-08-31                                        
##     PZA_PROG        TMO_MIN      LAMINAS_PROCESADAS    SEP_UP         
##  Min.   : 1.00   Min.   : 0.00   Min.   : 0.00      Length:2678       
##  1st Qu.:14.00   1st Qu.: 0.00   1st Qu.: 0.00      Class :character  
##  Median :20.00   Median :15.00   Median :11.00      Mode  :character  
##  Mean   :27.45   Mean   :16.03   Mean   :18.11                        
##  3rd Qu.:40.00   3rd Qu.:25.00   3rd Qu.:27.00                        
##  Max.   :99.00   Max.   :90.00   Max.   :98.00                        
##  TIEMPO_CALIDAD    
##  Length:2678       
##  Class :character  
##  Mode  :character  
##                    
##                    
## 

Análisis estadístico descriptivo.

Librerías requeridas

library(foreign)
library(dplyr)        # data manipulation 
library(forcats)      # to work with categorical variables
library(ggplot2)      # data visualization 
library(janitor)      # data exploration and cleaning 
#install.packages("psych")
#install.packages("epiDisplay")
library(corrplot)     # correlation plots
library(lmtest)       # diagnostic checks - linear regression analysis 
library(car)          # diagnostic checks - linear regression analysis
library(epiDisplay)

Tabla de frecuencia

tiempo_de_calidad<-table(bd2$TIEMPO_CALIDAD)
knitr::kable(tiempo_de_calidad)
Var1 Freq
632
0 492
01:22 1
02:15 1
02:20 1
02:42 1
03:15 2
08:18 1
08:38 1
09:05 1
09:30 1
1 1434
1.40 1
10 6
10:00 1
10:04 1
10:17 1
11 4
11:22 1
11:43 1
11:55 1
12:30 1
12:45 1
12:53 1
17 1
2 59
21 1
22 1
25 1
3 12
4 2
5 6
7 3
8 1
9 2
9.18 1

Gráficos de datos cualitativos y cuantitativos

pie(prop.table(table(bd2$CLIENTE)),col=c("Orange","Red","Yellow","Green","Pink","Purple", "lightpink","gray","lightyellow", "lightgreen"),main="Clientes de FORM",las=1)

hist((bd4$LAMINAS_PROCESADAS),col=c("Orange"),main="Láminas Procesadas",xlab="Unidades")

Gráficos de dispersión

boxplot(bd4$PZA_PROG,col=c("orange"))

qqnorm(bd4$TMO_MIN, main="Grafica de dispersion", ylab="Tiempo minimo",col='Orange')
qqline(bd4$TMO_MIN, col='ORANGE')

Reflexión

En esta base de datos se presentaba la producción diaria del mes de agosto, con el analisis estadistico que realizamos, encontramos que la mayoria de la producción tiene un de tiempo de calidad de una hora. Las piezas programadas en la producción diarias se encuentran entre 0 y 200 piezas. Tambien observamos que al mayor cliente con el que se fabrica es Stabilus 1. La propuesta hacia Form, en baste a este analisis, es que establezca KPI’S de tiempo de calidad en la producción es decir que si el tiempo medio es de una hora, se estandarize para todos los pedidos y se trate de llegar a menos de una hora.