Entregable 2.4 - FORM Merma

### Llamar base de datos.

#file.choose()
FORM <- read.csv("/Users/ricardogc/Desktop/Entregable 2.4 Reto/FORM - Merma limpia.csv")

Entender Base de Datos

resumen <- summary(FORM)
resumen
##       Fecha        Kilos     
##  18/02/22: 5   Min.   : 790  
##          : 2   1st Qu.:3178  
##  11/01/22: 2   Median :3925  
##  22/01/22: 2   Mean   :3709  
##  29/08/22: 2   3rd Qu.:4232  
##  31/08/22: 2   Max.   :6140  
##  (Other) :37   NA's   :2

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

R= 52 registros y 2 variables
str(FORM)
## 'data.frame':    52 obs. of  2 variables:
##  $ Fecha: Factor w/ 43 levels "","02/05/22",..: 13 13 31 31 26 26 26 26 26 34 ...
##  $ Kilos: int  5080 3810 2990 2680 3650 4380 3870 3590 3410 3930 ...
#library(psych)
#install.packages("psych")
#describe(FORM)

Nota: Debido a la versión de R, nos deja descargar el paquete “psych”, por lo que tampoco no nos deja llamar a la librería “psych”, por lo tanto utilizamos str, para obtener el numero de las variables de la base de datos.

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

Realizamos una tabla para poder clasificar cada una de las variables de la base de Datos bd1

Variable<-c("Kilos","Fecha")
Type<-c("Cuantitativa (Discreta)","Cuantitativa (Discreta)" )
table<-data.frame(Variable,Type)
knitr::kable(table)
Variable Type
Kilos Cuantitativa (Discreta)
Fecha Cuantitativa (Discreta)

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

Realizamos una tabla donde viene clasificado cada variable y agregamos una columna con la escala de medición para cada variable.

Variable<-c("Kilos","Fecha")
Type<-c("Cuantitativa (Discreta)","Cuantitativa (Discreta)" )
Escala_de_Medición <- c("Mermas","Fecha")
table<-data.frame(Variable,Type,Escala_de_Medición)
knitr::kable(table)
Variable Type Escala_de_Medición
Kilos Cuantitativa (Discreta) Mermas
Fecha Cuantitativa (Discreta) Fecha

4. Aplica al menos 2 tecnicas de limpieza de base de datos y explicalas brevemente, ¿Porqué realizaste estas tecnicas?

Tecnica 4. Convertir tipos de datos

#### Convertir de caracter a fecha

bd1<-FORM
bd1$Fecha<- as.Date(bd1$Fecha, format= "%d/%m/%Y")
summary(bd1)
##      Fecha                Kilos     
##  Min.   :0022-01-11   Min.   : 790  
##  1st Qu.:0022-03-12   1st Qu.:3178  
##  Median :0022-05-24   Median :3925  
##  Mean   :0022-05-25   Mean   :3709  
##  3rd Qu.:0022-08-10   3rd Qu.:4232  
##  Max.   :0022-09-21   Max.   :6140  
##  NA's   :2            NA's   :2
#tibble(bd1)

Nota: Se cambia el tipo de dato, de caracter a fecha, se ve el cambio con la función tibble, sin embargo, debido a la versión no se puede instalar el paquete con la función.

Tecnica 5. Valores Faltantes

Eliminar NA

bd2 <- bd1
bd2<- na.omit(bd2)
summary(bd2)
##      Fecha                Kilos     
##  Min.   :0022-01-11   Min.   : 790  
##  1st Qu.:0022-03-12   1st Qu.:3178  
##  Median :0022-05-24   Median :3925  
##  Mean   :0022-05-25   Mean   :3709  
##  3rd Qu.:0022-08-10   3rd Qu.:4232  
##  Max.   :0022-09-21   Max.   :6140

Eliminamos los NA encontrados en la base de datos, ya que no nos aportan nada al analisis.

5. Incluir una breve reflexión de la actividad.

Realizar un análisis estadístico descriptivo en el que logres destacar el conjunto de datos, que apoyan a la empresa a mejorar su operación. Incorpora al menos dos propuestas concretas, apoyadas de tu análisis en donde se incluye al menos: (1) Tabla de frecuencia, (opcional) Tablas cruzadas, (2-3) Gráficos de datos cualitativos y cuantitativos, así como (2-3) Gráficos de dispersión.

Analisis Estadistico Descriptivo

#describe(bd1)

Función no posible por la versión que se tiene en R

Tabla de Frecuencia

#install.packages("epiDisplay")
library(epiDisplay)
## Loading required package: foreign
## Loading required package: survival
## Loading required package: MASS
## Loading required package: nnet
tab1<-table(bd2$Fecha, bd2$Kilos) # A will be rows, B will be columns
tab1
##             
##              790 810 1040 2130 2480 2680 2830 2950 2980 2990 3050 3140 3290
##   0022-01-11   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-01-22   0   0    0    0    0    1    0    0    0    1    0    0    0
##   0022-02-18   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-02-24   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-03-03   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-03-08   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-03-11   0   0    0    0    0    0    0    0    1    0    0    0    0
##   0022-03-16   0   0    0    0    0    0    0    0    0    0    0    0    1
##   0022-03-23   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-03-30   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-04-04   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-04-11   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-04-14   0   0    0    0    0    0    0    1    0    0    0    0    0
##   0022-04-21   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-04-27   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-05-02   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-05-09   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-05-14   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-05-24   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-05-25   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-06-07   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-06-15   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-06-20   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-06-27   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-07-04   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-07-11   0   0    0    1    0    0    0    0    0    0    0    0    0
##   0022-07-16   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-07-21   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-07-27   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-08   0   0    0    0    0    0    0    0    0    0    0    1    0
##   0022-08-10   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-11   0   0    0    0    0    0    0    0    0    0    0    1    0
##   0022-08-13   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-15   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-22   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-29   0   1    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-30   0   0    1    0    0    0    0    0    0    0    0    0    0
##   0022-08-31   1   0    0    0    1    0    0    0    0    0    0    0    0
##   0022-09-05   0   0    0    0    0    0    0    0    0    0    1    0    0
##   0022-09-07   0   0    0    0    0    0    1    0    0    0    0    0    0
##   0022-09-15   0   0    0    0    0    0    0    0    0    0    0    0    0
##   0022-09-21   0   0    0    0    0    0    0    0    0    0    0    0    0
##             
##              3410 3590 3650 3680 3690 3739 3780 3810 3870 3920 3930 3940 3960
##   0022-01-11    0    0    0    0    0    0    0    1    0    0    0    0    0
##   0022-01-22    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-02-18    1    1    1    0    0    0    0    0    1    0    0    0    0
##   0022-02-24    0    0    0    0    0    0    0    0    0    0    1    0    0
##   0022-03-03    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-03-08    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-03-11    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-03-16    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-03-23    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-03-30    0    0    0    0    0    0    0    1    0    0    0    0    0
##   0022-04-04    0    0    0    0    0    0    0    0    0    0    0    1    0
##   0022-04-11    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-04-14    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-04-21    0    0    0    0    1    0    0    0    0    0    0    0    0
##   0022-04-27    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-05-02    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-05-09    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-05-14    0    0    0    1    0    0    0    0    0    0    0    0    0
##   0022-05-24    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-05-25    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-06-07    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-06-15    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-06-20    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-06-27    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-07-04    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-07-11    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-07-16    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-07-21    0    0    0    0    0    0    0    0    0    1    0    0    0
##   0022-07-27    0    0    0    0    0    0    0    0    0    0    0    0    1
##   0022-08-08    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-10    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-11    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-13    0    0    0    0    0    0    1    0    0    0    0    0    0
##   0022-08-15    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-22    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-29    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-30    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-31    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-09-05    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-09-07    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-09-15    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-09-21    0    0    0    0    0    1    0    0    0    0    0    0    0
##             
##              3967 4000 4050 4130 4190 4200 4210 4240 4260 4270 4310 4330 4380
##   0022-01-11    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-01-22    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-02-18    0    0    0    0    0    0    0    0    0    0    0    0    1
##   0022-02-24    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-03-03    0    1    0    0    0    0    0    0    0    0    0    0    0
##   0022-03-08    0    0    0    0    1    0    0    0    0    0    0    0    0
##   0022-03-11    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-03-16    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-03-23    0    0    0    0    0    1    0    0    0    0    0    0    0
##   0022-03-30    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-04-04    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-04-11    0    0    0    0    1    0    0    0    0    0    0    0    0
##   0022-04-14    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-04-21    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-04-27    0    0    1    0    0    0    0    0    0    0    0    0    0
##   0022-05-02    0    0    0    0    0    0    0    0    0    0    1    0    0
##   0022-05-09    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-05-14    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-05-24    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-05-25    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-06-07    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-06-15    0    0    0    0    0    0    0    0    0    0    0    1    0
##   0022-06-20    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-06-27    0    0    0    0    0    0    0    0    1    0    0    0    0
##   0022-07-04    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-07-11    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-07-16    0    0    0    1    0    0    0    0    0    0    0    0    0
##   0022-07-21    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-07-27    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-08    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-10    0    0    0    0    0    0    1    0    0    0    0    0    0
##   0022-08-11    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-13    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-15    0    0    0    0    0    0    0    1    0    0    0    0    0
##   0022-08-22    0    0    0    0    0    1    0    0    0    0    0    0    0
##   0022-08-29    0    0    0    0    0    0    0    0    0    1    0    0    0
##   0022-08-30    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-08-31    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-09-05    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-09-07    0    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-09-15    1    0    0    0    0    0    0    0    0    0    0    0    0
##   0022-09-21    0    0    0    0    0    0    0    0    0    0    0    0    0
##             
##              4510 4680 4770 5010 5080 5230 6140
##   0022-01-11    0    0    0    0    1    0    0
##   0022-01-22    0    0    0    0    0    0    0
##   0022-02-18    0    0    0    0    0    0    0
##   0022-02-24    0    0    0    0    0    0    0
##   0022-03-03    0    0    0    0    0    0    0
##   0022-03-08    0    0    0    0    0    0    0
##   0022-03-11    0    0    0    0    0    0    0
##   0022-03-16    0    0    0    0    0    0    0
##   0022-03-23    0    0    0    0    0    0    0
##   0022-03-30    0    0    0    0    0    0    0
##   0022-04-04    0    0    0    0    0    0    0
##   0022-04-11    0    0    0    0    0    0    0
##   0022-04-14    0    0    0    0    0    0    0
##   0022-04-21    0    0    0    0    0    0    0
##   0022-04-27    0    0    0    0    0    0    0
##   0022-05-02    0    0    0    0    0    0    0
##   0022-05-09    0    0    1    0    0    0    0
##   0022-05-14    0    0    0    0    0    0    0
##   0022-05-24    0    0    0    0    0    0    1
##   0022-05-25    1    0    0    0    0    0    0
##   0022-06-07    0    1    0    0    0    0    0
##   0022-06-15    0    0    0    0    0    0    0
##   0022-06-20    0    0    0    1    0    0    0
##   0022-06-27    0    0    0    0    0    0    0
##   0022-07-04    0    0    0    0    0    1    0
##   0022-07-11    0    0    0    0    0    0    0
##   0022-07-16    0    0    0    0    0    0    0
##   0022-07-21    0    0    0    0    0    0    0
##   0022-07-27    0    0    0    0    0    0    0
##   0022-08-08    0    0    0    0    0    0    0
##   0022-08-10    0    0    0    0    0    0    0
##   0022-08-11    0    0    0    0    0    0    0
##   0022-08-13    0    0    0    0    0    0    0
##   0022-08-15    0    0    0    0    0    0    0
##   0022-08-22    0    0    0    0    0    0    0
##   0022-08-29    0    0    0    0    0    0    0
##   0022-08-30    0    0    0    0    0    0    0
##   0022-08-31    0    0    0    0    0    0    0
##   0022-09-05    0    0    0    0    0    0    0
##   0022-09-07    0    0    0    0    0    0    0
##   0022-09-15    0    0    0    0    0    0    0
##   0022-09-21    0    0    0    0    0    0    0
prop.table(tab1, 2) # column percentages
##             
##              790 810 1040 2130 2480 2680 2830 2950 2980 2990 3050 3140 3290
##   0022-01-11 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-01-22 0.0 0.0  0.0  0.0  0.0  1.0  0.0  0.0  0.0  1.0  0.0  0.0  0.0
##   0022-02-18 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-02-24 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-03 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-08 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-11 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  1.0  0.0  0.0  0.0  0.0
##   0022-03-16 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  1.0
##   0022-03-23 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-30 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-04 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-11 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-14 0.0 0.0  0.0  0.0  0.0  0.0  0.0  1.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-21 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-27 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-05-02 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-05-09 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-05-14 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-05-24 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-05-25 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-06-07 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-06-15 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-06-20 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-06-27 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-07-04 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-07-11 0.0 0.0  0.0  1.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-07-16 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-07-21 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-07-27 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-08 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.5  0.0
##   0022-08-10 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-11 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.5  0.0
##   0022-08-13 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-15 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-22 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-29 0.0 1.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-30 0.0 0.0  1.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-31 1.0 0.0  0.0  0.0  1.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-09-05 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  1.0  0.0  0.0
##   0022-09-07 0.0 0.0  0.0  0.0  0.0  0.0  1.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-09-15 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-09-21 0.0 0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##             
##              3410 3590 3650 3680 3690 3739 3780 3810 3870 3920 3930 3940 3960
##   0022-01-11  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.5  0.0  0.0  0.0  0.0  0.0
##   0022-01-22  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-02-18  1.0  1.0  1.0  0.0  0.0  0.0  0.0  0.0  1.0  0.0  0.0  0.0  0.0
##   0022-02-24  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  1.0  0.0  0.0
##   0022-03-03  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-08  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-11  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-16  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-23  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-30  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.5  0.0  0.0  0.0  0.0  0.0
##   0022-04-04  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  1.0  0.0
##   0022-04-11  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-14  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-21  0.0  0.0  0.0  0.0  1.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-27  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-05-02  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-05-09  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-05-14  0.0  0.0  0.0  1.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-05-24  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-05-25  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-06-07  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-06-15  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-06-20  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-06-27  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-07-04  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-07-11  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-07-16  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-07-21  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  1.0  0.0  0.0  0.0
##   0022-07-27  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  1.0
##   0022-08-08  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-10  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-11  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-13  0.0  0.0  0.0  0.0  0.0  0.0  1.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-15  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-22  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-29  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-30  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-31  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-09-05  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-09-07  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-09-15  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-09-21  0.0  0.0  0.0  0.0  0.0  1.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##             
##              3967 4000 4050 4130 4190 4200 4210 4240 4260 4270 4310 4330 4380
##   0022-01-11  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-01-22  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-02-18  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  1.0
##   0022-02-24  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-03  0.0  1.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-08  0.0  0.0  0.0  0.0  0.5  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-11  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-16  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-23  0.0  0.0  0.0  0.0  0.0  0.5  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-30  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-04  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-11  0.0  0.0  0.0  0.0  0.5  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-14  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-21  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-27  0.0  0.0  1.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-05-02  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  1.0  0.0  0.0
##   0022-05-09  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-05-14  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-05-24  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-05-25  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-06-07  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-06-15  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  1.0  0.0
##   0022-06-20  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-06-27  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  1.0  0.0  0.0  0.0  0.0
##   0022-07-04  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-07-11  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-07-16  0.0  0.0  0.0  1.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-07-21  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-07-27  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-08  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-10  0.0  0.0  0.0  0.0  0.0  0.0  1.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-11  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-13  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-15  0.0  0.0  0.0  0.0  0.0  0.0  0.0  1.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-22  0.0  0.0  0.0  0.0  0.0  0.5  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-29  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  1.0  0.0  0.0  0.0
##   0022-08-30  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-31  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-09-05  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-09-07  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-09-15  1.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-09-21  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##             
##              4510 4680 4770 5010 5080 5230 6140
##   0022-01-11  0.0  0.0  0.0  0.0  1.0  0.0  0.0
##   0022-01-22  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-02-18  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-02-24  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-03  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-08  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-11  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-16  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-23  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-03-30  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-04  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-11  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-14  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-21  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-04-27  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-05-02  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-05-09  0.0  0.0  1.0  0.0  0.0  0.0  0.0
##   0022-05-14  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-05-24  0.0  0.0  0.0  0.0  0.0  0.0  1.0
##   0022-05-25  1.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-06-07  0.0  1.0  0.0  0.0  0.0  0.0  0.0
##   0022-06-15  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-06-20  0.0  0.0  0.0  1.0  0.0  0.0  0.0
##   0022-06-27  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-07-04  0.0  0.0  0.0  0.0  0.0  1.0  0.0
##   0022-07-11  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-07-16  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-07-21  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-07-27  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-08  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-10  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-11  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-13  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-15  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-22  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-29  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-30  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-08-31  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-09-05  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-09-07  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-09-15  0.0  0.0  0.0  0.0  0.0  0.0  0.0
##   0022-09-21  0.0  0.0  0.0  0.0  0.0  0.0  0.0

Grafica Cualitativa

bd3 <- table(bd2$Kilos)
bd3 <- prop.table(bd3)
bd3
## 
##  790  810 1040 2130 2480 2680 2830 2950 2980 2990 3050 3140 3290 3410 3590 3650 
## 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.04 0.02 0.02 0.02 0.02 
## 3680 3690 3739 3780 3810 3870 3920 3930 3940 3960 3967 4000 4050 4130 4190 4200 
## 0.02 0.02 0.02 0.02 0.04 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.04 0.04 
## 4210 4240 4260 4270 4310 4330 4380 4510 4680 4770 5010 5080 5230 6140 
## 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.02
barplot(bd3, xlab='Kilos',
        ylab='Frecuencia Relativa', las=3, col="blue1")

#### Grafica Cuantitativa

plot(x = bd2$Kilos, y = bd2$Fecha,col = c("#99cc99", "#cc9999", "#9999cc", "#9c9c9c"))

tabla <- table(bd2$Kilos, bd2$Fecha)
barplot(tabla, xlab='Fecha',
        ylab='Frecuencia Relativa', las=3)

#### Grafica Dispersión

library(ggplot2)
## 
## Attaching package: 'ggplot2'
## The following object is masked from 'package:epiDisplay':
## 
##     alpha
ggplot(bd2, aes(x = bd2$Kilos, y = bd2$Fecha)) + 
  geom_point(shape=19, size=3) + labs(title = "Relación entre Fecha y Kilos",caption ="FORM Merma",x="Kilos", y="Fecha") + theme_classic()

#### Grafica de Dispersión Relación Kilos y Fecha (Merma)

boxplot(x = bd2$Fecha , y =bd2$Kilos, main = "Grafica Dispersión", xlab = "Kilos", ylab = "Fecha", las=3)

boxplot(Kilos ~ Fecha, data = bd2, las=3)

Propuestas

Nos brindaron una base de datos en la cual realice un analisis de la información para poder proponer las siguientes propuestas para FORM:

  1. Como primer punto es recomendable para la empresa un control prioritario de materia prima, con el objetivo de disminuir el merma producido en cada pedido, por lo que el departamento encargado llevará el control de pedido y comunicando al proveedor de la cantidad establecida. Al realizar el analisis esta cantidad sería no mayor a los 4000 kilos, a menos que la producción lo requiera para algun proyecto.

  2. Mayor control de clientes, que quiere decir esto, tener una cartera de clientes que sean tanto principales como secundarios, enfocados a que sean pedidos fijos y constantes, de esta manera el control de pedidos al proveedor será controlado. Esto también implica el tener control de clientes que no sean constantes y ademas sea una pequeña empreza, ya que esto puede generar mayor merma por el pedido.

6. Incluye una breve reflexión

Para poder llevar a cabo correctamente el analisis de la base de datos tuve que llevar a cabo los siguientes pasos, con el fin de poder tener una base de datos limpia:

  1. Checar base de Datos en el excel y modificar el formato de registros.
  2. Exportar base de datos
  3. Entender la base de datos
  4. Identificar las diferentes variables y registros, así mismo diferenciar los tipos del variables junto con su escala de medida.
  5. Limpieza con herramienta de datos para ser más eficaz y rapido que manualmente en Excel.
  6. Realización de analisis descriptivo de la base de datos (Tomar en cuenta la función Describe y tener actualizado R), y realizar una tabla de frecuencia de los datos.
  7. Hacer graficas con diversas variables para ver su comportamiento y poder obtener información importante para aportar a la empresa.

Con todos estos paso entendí la importancia de tener cuidado con los distintos codigos y estar atento para no tener errores y llegar al resultado esperado con un analisis preciso y de valor para la empresa.

LS0tCnRpdGxlOiAiRk9STSAtIE1lcm1hIgphdXRob3I6ICJSaWNhcmRvIEdhbGljaWEgLSBBMDE2NTMyNzkiCmRhdGU6ICcyMDIyLTA5LTI3JwpvdXRwdXQ6IAogIGh0bWxfZG9jdW1lbnQ6CiAgICB0b2M6IHRydWUKICAgIHRvY19mbG9hdDogdHJ1ZQogICAgY29kZV9kb3dubG9hZDogdHJ1ZSAKLS0tCgojIyAqKkVudHJlZ2FibGUgMi40IC0gRk9STSBNZXJtYSoqCgohW10oL1VzZXJzL3JpY2FyZG9nYy9EZXNrdG9wL0VudHJlZ2FibGUgMi40IFJldG8vcGFwZWwteS1jYXJ0b8yBbi1yZWN1cGVyYWRvLlBORykKIyMjIExsYW1hciBiYXNlIGRlIGRhdG9zLgoKYGBge3J9CiNmaWxlLmNob29zZSgpCkZPUk0gPC0gcmVhZC5jc3YoIi9Vc2Vycy9yaWNhcmRvZ2MvRGVza3RvcC9FbnRyZWdhYmxlIDIuNCBSZXRvL0ZPUk0gLSBNZXJtYSBsaW1waWEuY3N2IikKYGBgCgojIyMgRW50ZW5kZXIgQmFzZSBkZSBEYXRvcwpgYGB7cn0KcmVzdW1lbiA8LSBzdW1tYXJ5KEZPUk0pCnJlc3VtZW4KYGBgCgojIyMgKjEuwr9DdcOhbnRhcyB2YXJpYWJsZXMgeSBjdcOhbnRvcyByZWdpc3Ryb3MgdGllbmUgbGEgYmFzZSBkZSBkYXRvcz8qCjxjZW50ZXI+IDxzcGFuIHN0eWxlPSJjb2xvcjpSZWQiPiBSPSA1MiByZWdpc3Ryb3MgeSAyIHZhcmlhYmxlcyA8L2NlbnRlcj4KYGBge3J9CnN0cihGT1JNKQojbGlicmFyeShwc3ljaCkKI2luc3RhbGwucGFja2FnZXMoInBzeWNoIikKI2Rlc2NyaWJlKEZPUk0pCmBgYAoKIyMjIyBOb3RhOiBEZWJpZG8gYSBsYSB2ZXJzacOzbiBkZSBSLCBub3MgZGVqYSBkZXNjYXJnYXIgZWwgcGFxdWV0ZSAicHN5Y2giLCBwb3IgbG8gcXVlIHRhbXBvY28gbm8gbm9zIGRlamEgbGxhbWFyIGEgbGEgbGlicmVyw61hICJwc3ljaCIsIHBvciBsbyB0YW50byB1dGlsaXphbW9zIHN0ciwgcGFyYSBvYnRlbmVyIGVsIG51bWVybyBkZSBsYXMgdmFyaWFibGVzIGRlIGxhIGJhc2UgZGUgZGF0b3MuCgojIyMgKjIuQ2xhc2lmaWNhIGNhZGEgdmFyaWFibGUgZW4gY3VhbGl0YXRpdmEsIGN1YW50aXRhdGl2YSBkaXNjcmV0YSBvIGN1YW50aXRhdGl2YSBjb250aW51YS4qCiMjIyMgUmVhbGl6YW1vcyB1bmEgdGFibGEgcGFyYSBwb2RlciBjbGFzaWZpY2FyIGNhZGEgdW5hIGRlIGxhcyB2YXJpYWJsZXMgZGUgbGEgYmFzZSBkZSBEYXRvcyBiZDEKCmBgYHtyfQpWYXJpYWJsZTwtYygiS2lsb3MiLCJGZWNoYSIpClR5cGU8LWMoIkN1YW50aXRhdGl2YSAoRGlzY3JldGEpIiwiQ3VhbnRpdGF0aXZhIChEaXNjcmV0YSkiICkKdGFibGU8LWRhdGEuZnJhbWUoVmFyaWFibGUsVHlwZSkKa25pdHI6OmthYmxlKHRhYmxlKQpgYGAKCiMjIyAqMy4gRWxpZ2UgbGEgZXNjYWxhIGRlIG1lZGljacOzbiBkZSBjYWRhIHZhcmlhYmxlLiogCiMjIyMgUmVhbGl6YW1vcyB1bmEgdGFibGEgZG9uZGUgdmllbmUgY2xhc2lmaWNhZG8gY2FkYSB2YXJpYWJsZSB5IGFncmVnYW1vcyB1bmEgY29sdW1uYSBjb24gbGEgZXNjYWxhIGRlIG1lZGljacOzbiBwYXJhIGNhZGEgdmFyaWFibGUuIApgYGB7cn0KVmFyaWFibGU8LWMoIktpbG9zIiwiRmVjaGEiKQpUeXBlPC1jKCJDdWFudGl0YXRpdmEgKERpc2NyZXRhKSIsIkN1YW50aXRhdGl2YSAoRGlzY3JldGEpIiApCkVzY2FsYV9kZV9NZWRpY2nDs24gPC0gYygiTWVybWFzIiwiRmVjaGEiKQp0YWJsZTwtZGF0YS5mcmFtZShWYXJpYWJsZSxUeXBlLEVzY2FsYV9kZV9NZWRpY2nDs24pCmtuaXRyOjprYWJsZSh0YWJsZSkKYGBgCgojIyMgKjQuIEFwbGljYSBhbCBtZW5vcyAyIHRlY25pY2FzIGRlIGxpbXBpZXphIGRlIGJhc2UgZGUgZGF0b3MgeSBleHBsaWNhbGFzIGJyZXZlbWVudGUsIMK/UG9ycXXDqSByZWFsaXphc3RlIGVzdGFzIHRlY25pY2FzPyoKCiMjIyAqVGVjbmljYSA0LiogQ29udmVydGlyIHRpcG9zIGRlIGRhdG9zCiMjIyMgIyMjIyBDb252ZXJ0aXIgZGUgY2FyYWN0ZXIgYSBmZWNoYQpgYGB7cn0KYmQxPC1GT1JNCmJkMSRGZWNoYTwtIGFzLkRhdGUoYmQxJEZlY2hhLCBmb3JtYXQ9ICIlZC8lbS8lWSIpCnN1bW1hcnkoYmQxKQojdGliYmxlKGJkMSkKYGBgCgojIyMjIE5vdGE6IFNlIGNhbWJpYSBlbCB0aXBvIGRlIGRhdG8sIGRlIGNhcmFjdGVyIGEgZmVjaGEsIHNlIHZlIGVsIGNhbWJpbyBjb24gbGEgZnVuY2nDs24gdGliYmxlLCBzaW4gZW1iYXJnbywgZGViaWRvIGEgbGEgdmVyc2nDs24gbm8gc2UgcHVlZGUgaW5zdGFsYXIgZWwgcGFxdWV0ZSBjb24gbGEgZnVuY2nDs24uCgojIyMgKlRlY25pY2EgNS4qIFZhbG9yZXMgRmFsdGFudGVzCiMjIyMgRWxpbWluYXIgTkEgCmBgYHtyfQpiZDIgPC0gYmQxCmJkMjwtIG5hLm9taXQoYmQyKQpzdW1tYXJ5KGJkMikKYGBgCiMjIyBFbGltaW5hbW9zIGxvcyBOQSBlbmNvbnRyYWRvcyBlbiBsYSBiYXNlIGRlIGRhdG9zLCB5YSBxdWUgbm8gbm9zIGFwb3J0YW4gbmFkYSBhbCBhbmFsaXNpcy4gCgojIyMgKjUuIEluY2x1aXIgdW5hIGJyZXZlIHJlZmxleGnDs24gZGUgbGEgYWN0aXZpZGFkLioKUmVhbGl6YXIgdW4gYW7DoWxpc2lzIGVzdGFkw61zdGljbyBkZXNjcmlwdGl2byBlbiBlbCBxdWUgbG9ncmVzIGRlc3RhY2FyIGVsIGNvbmp1bnRvIGRlIGRhdG9zLCBxdWUgYXBveWFuIGEgbGEgZW1wcmVzYSBhIG1lam9yYXIgc3Ugb3BlcmFjacOzbi4gSW5jb3Jwb3JhIGFsIG1lbm9zIGRvcyBwcm9wdWVzdGFzIGNvbmNyZXRhcywgYXBveWFkYXMgZGUgdHUgYW7DoWxpc2lzIGVuIGRvbmRlIHNlIGluY2x1eWUgYWwgbWVub3M6ICgxKSBUYWJsYSBkZSBmcmVjdWVuY2lhLCAob3BjaW9uYWwpIFRhYmxhcyBjcnV6YWRhcywgKDItMykgR3LDoWZpY29zIGRlIGRhdG9zIGN1YWxpdGF0aXZvcyB5IGN1YW50aXRhdGl2b3MsIGFzw60gY29tbyAoMi0zKSBHcsOhZmljb3MgZGUgZGlzcGVyc2nDs24uCgojIyMgKkFuYWxpc2lzIEVzdGFkaXN0aWNvIERlc2NyaXB0aXZvKgpgYGB7cn0KI2Rlc2NyaWJlKGJkMSkKYGBgCkZ1bmNpw7NuIG5vIHBvc2libGUgcG9yIGxhIHZlcnNpw7NuIHF1ZSBzZSB0aWVuZSBlbiBSCgojIyMjIFRhYmxhIGRlIEZyZWN1ZW5jaWEgCmBgYHtyfQojaW5zdGFsbC5wYWNrYWdlcygiZXBpRGlzcGxheSIpCmxpYnJhcnkoZXBpRGlzcGxheSkKdGFiMTwtdGFibGUoYmQyJEZlY2hhLCBiZDIkS2lsb3MpICMgQSB3aWxsIGJlIHJvd3MsIEIgd2lsbCBiZSBjb2x1bW5zCnRhYjEKcHJvcC50YWJsZSh0YWIxLCAyKSAjIGNvbHVtbiBwZXJjZW50YWdlcwpgYGAKIyMjIyBHcmFmaWNhIEN1YWxpdGF0aXZhCmBgYHtyfQpiZDMgPC0gdGFibGUoYmQyJEtpbG9zKQpiZDMgPC0gcHJvcC50YWJsZShiZDMpCmJkMwoKYmFycGxvdChiZDMsIHhsYWI9J0tpbG9zJywKICAgICAgICB5bGFiPSdGcmVjdWVuY2lhIFJlbGF0aXZhJywgbGFzPTMsIGNvbD0iYmx1ZTEiKQpgYGAKIyMjIyBHcmFmaWNhIEN1YW50aXRhdGl2YQpgYGB7cn0KcGxvdCh4ID0gYmQyJEtpbG9zLCB5ID0gYmQyJEZlY2hhLGNvbCA9IGMoIiM5OWNjOTkiLCAiI2NjOTk5OSIsICIjOTk5OWNjIiwgIiM5YzljOWMiKSkKdGFibGEgPC0gdGFibGUoYmQyJEtpbG9zLCBiZDIkRmVjaGEpCmJhcnBsb3QodGFibGEsIHhsYWI9J0ZlY2hhJywKICAgICAgICB5bGFiPSdGcmVjdWVuY2lhIFJlbGF0aXZhJywgbGFzPTMpCmBgYAojIyMjIEdyYWZpY2EgRGlzcGVyc2nDs24KYGBge3J9CmxpYnJhcnkoZ2dwbG90MikKZ2dwbG90KGJkMiwgYWVzKHggPSBiZDIkS2lsb3MsIHkgPSBiZDIkRmVjaGEpKSArIAogIGdlb21fcG9pbnQoc2hhcGU9MTksIHNpemU9MykgKyBsYWJzKHRpdGxlID0gIlJlbGFjacOzbiBlbnRyZSBGZWNoYSB5IEtpbG9zIixjYXB0aW9uID0iRk9STSBNZXJtYSIseD0iS2lsb3MiLCB5PSJGZWNoYSIpICsgdGhlbWVfY2xhc3NpYygpCmBgYAojIyMjIEdyYWZpY2EgZGUgRGlzcGVyc2nDs24gUmVsYWNpw7NuIEtpbG9zIHkgRmVjaGEgKE1lcm1hKQpgYGB7cn0KYm94cGxvdCh4ID0gYmQyJEZlY2hhICwgeSA9YmQyJEtpbG9zLCBtYWluID0gIkdyYWZpY2EgRGlzcGVyc2nDs24iLCB4bGFiID0gIktpbG9zIiwgeWxhYiA9ICJGZWNoYSIsIGxhcz0zKQoKYm94cGxvdChLaWxvcyB+IEZlY2hhLCBkYXRhID0gYmQyLCBsYXM9MykKCmBgYAoKIyMgKipQcm9wdWVzdGFzKioKCk5vcyBicmluZGFyb24gdW5hIGJhc2UgZGUgZGF0b3MgZW4gbGEgY3VhbCByZWFsaWNlIHVuIGFuYWxpc2lzIGRlIGxhIGluZm9ybWFjacOzbiBwYXJhIHBvZGVyIHByb3BvbmVyIGxhcyBzaWd1aWVudGVzIHByb3B1ZXN0YXMgcGFyYSBGT1JNOgoKMS4gQ29tbyBwcmltZXIgcHVudG8gZXMgcmVjb21lbmRhYmxlIHBhcmEgbGEgZW1wcmVzYSB1biBjb250cm9sIHByaW9yaXRhcmlvIGRlIG1hdGVyaWEgcHJpbWEsIGNvbiBlbCBvYmpldGl2byBkZSBkaXNtaW51aXIgZWwgbWVybWEgcHJvZHVjaWRvIGVuIGNhZGEgcGVkaWRvLCBwb3IgbG8gcXVlIGVsIGRlcGFydGFtZW50byBlbmNhcmdhZG8gbGxldmFyw6EgZWwgY29udHJvbCBkZSBwZWRpZG8geSBjb211bmljYW5kbyBhbCBwcm92ZWVkb3IgZGUgbGEgY2FudGlkYWQgZXN0YWJsZWNpZGEuIEFsIHJlYWxpemFyIGVsIGFuYWxpc2lzIGVzdGEgY2FudGlkYWQgc2Vyw61hIG5vIG1heW9yIGEgbG9zIDQwMDAga2lsb3MsIGEgbWVub3MgcXVlIGxhIHByb2R1Y2Npw7NuIGxvIHJlcXVpZXJhIHBhcmEgYWxndW4gcHJveWVjdG8uIAoKMi4gTWF5b3IgY29udHJvbCBkZSBjbGllbnRlcywgcXVlIHF1aWVyZSBkZWNpciBlc3RvLCB0ZW5lciB1bmEgY2FydGVyYSBkZSBjbGllbnRlcyBxdWUgc2VhbiB0YW50byBwcmluY2lwYWxlcyBjb21vIHNlY3VuZGFyaW9zLCBlbmZvY2Fkb3MgYSBxdWUgc2VhbiBwZWRpZG9zIGZpam9zIHkgY29uc3RhbnRlcywgZGUgZXN0YSBtYW5lcmEgZWwgY29udHJvbCBkZSBwZWRpZG9zIGFsIHByb3ZlZWRvciBzZXLDoSBjb250cm9sYWRvLiBFc3RvIHRhbWJpw6luIGltcGxpY2EgZWwgdGVuZXIgY29udHJvbCBkZSBjbGllbnRlcyBxdWUgbm8gc2VhbiBjb25zdGFudGVzIHkgYWRlbWFzIHNlYSB1bmEgcGVxdWXDsWEgZW1wcmV6YSwgeWEgcXVlIGVzdG8gcHVlZGUgZ2VuZXJhciBtYXlvciBtZXJtYSBwb3IgZWwgcGVkaWRvLiAKCiMjICoqNi4gSW5jbHV5ZSB1bmEgYnJldmUgcmVmbGV4acOzbioqCgpQYXJhIHBvZGVyIGxsZXZhciBhIGNhYm8gY29ycmVjdGFtZW50ZSBlbCBhbmFsaXNpcyBkZSBsYSBiYXNlIGRlIGRhdG9zIHR1dmUgcXVlIGxsZXZhciBhIGNhYm8gbG9zIHNpZ3VpZW50ZXMgcGFzb3MsIGNvbiBlbCBmaW4gZGUgcG9kZXIgdGVuZXIgdW5hIGJhc2UgZGUgZGF0b3MgbGltcGlhOgoKMS4gQ2hlY2FyIGJhc2UgZGUgRGF0b3MgZW4gZWwgZXhjZWwgeSBtb2RpZmljYXIgZWwgZm9ybWF0byBkZSByZWdpc3Ryb3MuIAoyLiBFeHBvcnRhciBiYXNlIGRlIGRhdG9zIAozLiBFbnRlbmRlciBsYSBiYXNlIGRlIGRhdG9zCjQuIElkZW50aWZpY2FyIGxhcyBkaWZlcmVudGVzIHZhcmlhYmxlcyB5IHJlZ2lzdHJvcywgYXPDrSBtaXNtbyBkaWZlcmVuY2lhciBsb3MgdGlwb3MgZGVsIHZhcmlhYmxlcyBqdW50byBjb24gc3UgZXNjYWxhIGRlIG1lZGlkYS4KNC4gTGltcGllemEgY29uIGhlcnJhbWllbnRhIGRlIGRhdG9zIHBhcmEgc2VyIG3DoXMgZWZpY2F6IHkgcmFwaWRvIHF1ZSBtYW51YWxtZW50ZSBlbiBFeGNlbC4gCjUuIFJlYWxpemFjacOzbiBkZSBhbmFsaXNpcyBkZXNjcmlwdGl2byBkZSBsYSBiYXNlIGRlIGRhdG9zIChUb21hciBlbiBjdWVudGEgbGEgZnVuY2nDs24gRGVzY3JpYmUgeSB0ZW5lciBhY3R1YWxpemFkbyBSKSwgeSByZWFsaXphciB1bmEgdGFibGEgZGUgZnJlY3VlbmNpYSBkZSBsb3MgZGF0b3MuIAo2LiBIYWNlciBncmFmaWNhcyBjb24gZGl2ZXJzYXMgdmFyaWFibGVzIHBhcmEgdmVyIHN1IGNvbXBvcnRhbWllbnRvIHkgcG9kZXIgb2J0ZW5lciBpbmZvcm1hY2nDs24gaW1wb3J0YW50ZSBwYXJhIGFwb3J0YXIgYSBsYSBlbXByZXNhLiAKCkNvbiB0b2RvcyBlc3RvcyBwYXNvIGVudGVuZMOtIGxhIGltcG9ydGFuY2lhIGRlIHRlbmVyIGN1aWRhZG8gY29uIGxvcyBkaXN0aW50b3MgY29kaWdvcyB5IGVzdGFyIGF0ZW50byBwYXJhIG5vIHRlbmVyIGVycm9yZXMgeSBsbGVnYXIgYWwgcmVzdWx0YWRvIGVzcGVyYWRvIGNvbiB1biBhbmFsaXNpcyBwcmVjaXNvIHkgZGUgdmFsb3IgcGFyYSBsYSBlbXByZXNhLiAK