# file.choose()
bd <- read.csv( "/Users/mayracampoyramos/Desktop/Analisis de Datos Concentracion/Reto/FORM - Recursos Humanos - colaboradores.csv")
library(plyr)
# install.packages("dplyr")
library(dplyr)
# install.packages("janitor")
library(janitor)
library(data.table)
library(ggplot2)
library(naniar)
library(Hmisc)
library(psych)
library(tidyverse)
library(knitr)
# install.packages("pollster")
library(pollster)
library(epiDisplay)
library(descr)
library(tidyr)
colaboradores <- clean_names(bd)
summary(colaboradores)
## no_empleado nombre_completo edad genero
## Min. : 1 Length:113 Min. :18.00 Length:113
## 1st Qu.: 29 Class :character 1st Qu.:26.00 Class :character
## Median : 57 Mode :character Median :34.00 Mode :character
## Mean : 57 Mean :36.06
## 3rd Qu.: 85 3rd Qu.:45.00
## Max. :113 Max. :73.00
##
## fecha_alta antiguedad puesto mano_de_obra
## Length:113 Min. : 0.000 Length:113 Length:113
## Class :character 1st Qu.: 0.000 Class :character Class :character
## Mode :character Median : 0.000 Mode :character Mode :character
## Mean : 1.425
## 3rd Qu.: 2.000
## Max. :12.000
##
## salario_diario estado_civil
## Min. :144.4 Length:113
## 1st Qu.:176.7 Class :character
## Median :180.7 Mode :character
## Mean :179.1
## 3rd Qu.:180.7
## Max. :337.1
## NA's :2
describeData(colaboradores,head=1,tail=1)
## n.obs = 113 of which 111 are complete cases. Number of variables = 10 of which all are numeric FALSE
## variable # n.obs type H1
## no_empleado 1 113 1 1
## nombre_completo* 2 113 3 NICOLAS MARTINEZ DE LOERA
## edad 3 113 1 67
## genero* 4 113 3 MASCULINO
## fecha_alta* 5 113 3 01/07/2010
## antiguedad 6 113 1 12
## puesto* 7 113 3 SUPERVISOR DE MAQUINA
## mano_de_obra* 8 113 3 Indirecto
## salario_diario 9 111 1 176.72
## estado_civil* 10 113 3 Soltero
## T1
## no_empleado 113
## nombre_completo* SOFIA VAZQUEZ GAYTAN
## edad 50
## genero* FEMENINO
## fecha_alta* 23/08/2022
## antiguedad 0
## puesto* AYUDANTE GENERAL
## mano_de_obra* Directo
## salario_diario 180.68
## estado_civil* Casado
colaboradores <- subset(colaboradores, select = -c(no_empleado, nombre_completo, fecha_alta, mano_de_obra))
colaboradores$salario_diario[is.na(colaboradores$salario_diario)]<-mean(colaboradores$salario_diario, na.rm = TRUE)
summary (colaboradores)
## edad genero antiguedad puesto
## Min. :18.00 Length:113 Min. : 0.000 Length:113
## 1st Qu.:26.00 Class :character 1st Qu.: 0.000 Class :character
## Median :34.00 Mode :character Median : 0.000 Mode :character
## Mean :36.06 Mean : 1.425
## 3rd Qu.:45.00 3rd Qu.: 2.000
## Max. :73.00 Max. :12.000
## salario_diario estado_civil
## Min. :144.4 Length:113
## 1st Qu.:176.7 Class :character
## Median :180.7 Mode :character
## Mean :179.1
## 3rd Qu.:180.7
## Max. :337.1
write.csv(colaboradores, file="colaboradores_bd_limpia.csv", row.names = FALSE)
Variable <-c("Edad","Genero", "Antiguedad","Puesto", "Salario Diario", "Estado Civil")
Type<-c("quantitative (discreta)", "qualitative", "quantitative (discreta)","qualitative", "quantitative (continua)", "qualitative")
Measurement<-c("Años","NA","Meses trabajados","NA", "Cantidad de dinero","NA")
table<-data.frame(Variable,Type,Measurement)
knitr::kable(table)
Variable | Type | Measurement |
---|---|---|
Edad | quantitative (discreta) | Años |
Genero | qualitative | NA |
Antiguedad | quantitative (discreta) | Meses trabajados |
Puesto | qualitative | NA |
Salario Diario | quantitative (continua) | Cantidad de dinero |
Estado Civil | qualitative | NA |
media_edad <- mean(colaboradores$edad)
media_edad
## [1] 36.06195
media_antiguedad <- mean(colaboradores$antiguedad)
media_antiguedad
## [1] 1.424779
media_salario <- mean(colaboradores$salario_diario)
media_salario
## [1] 179.0981
mediana_edad <- median(colaboradores$edad)
mediana_edad
## [1] 34
mediana_antiguedad <- median(colaboradores$antiguedad)
mediana_antiguedad
## [1] 0
mediana_salario <- median(colaboradores$salario_diario)
mediana_salario
## [1] 180.68
mode <- function(x) {
ux <- unique(x)
ux[which.max(tabulate(match(x, ux)))]
}
moda_edad <- mode(colaboradores$edad)
moda_edad
## [1] 32
moda_antiguedad <- mode(colaboradores$antiguedad)
moda_antiguedad
## [1] 0
moda_salario <- mode(colaboradores$salario_diario)
moda_salario
## [1] 180.68
varianza_edad <-var(colaboradores$edad)
varianza_edad
## [1] 165.0051
varianza_antiguedad <-var(colaboradores$antiguedad)
varianza_antiguedad
## [1] 6.353666
varianza_salario <-var(colaboradores$salario_diario)
varianza_salario
## [1] 589.7227
desviacion_edad <- sqrt(varianza_edad)
desviacion_edad
## [1] 12.84543
desviacion_antiguedad <- sqrt(varianza_antiguedad)
desviacion_antiguedad
## [1] 2.520648
desviacion_salario <- sqrt(varianza_salario)
desviacion_salario
## [1] 24.28421
Variable <-c("Edad","Antiguedad","Salario Diario")
Promedio <-c("36", "1.42","179.098")
Moda <-c("32","0","180.68")
Mediana <-c("34","0","180.68")
Varianza <-c("165.005","6.353","589.722")
Desviación_Estándar <-c ("12.845","2.520","24.284")
tabla1 <-data.frame(Variable,Promedio, Moda, Mediana, Varianza, Desviación_Estándar)
tabla1
## Variable Promedio Moda Mediana Varianza Desviación_Estándar
## 1 Edad 36 32 34 165.005 12.845
## 2 Antiguedad 1.42 0 0 6.353 2.520
## 3 Salario Diario 179.098 180.68 180.68 589.722 24.284
knitr::kable(tabla1)
Variable | Promedio | Moda | Mediana | Varianza | Desviación_Estándar |
---|---|---|---|---|---|
Edad | 36 | 32 | 34 | 165.005 | 12.845 |
Antiguedad | 1.42 | 0 | 0 | 6.353 | 2.520 |
Salario Diario | 179.098 | 180.68 | 180.68 | 589.722 | 24.284 |
Sueldo <- colaboradores$salario_diario
hist(Sueldo, main = "Sueldo de los empleados", ylab = "# de empleados", col = "lightblue")
hist(colaboradores$edad, freq=TRUE, col="purple", main="Edad en años de los Colaboradores actuales")
ggplot(colaboradores, aes(x=genero, y=salario_diario, fill=genero)) +
geom_bar(stat="identity") +
facet_grid(~estado_civil) + scale_fill_brewer(palette = "Set2")
ggplot(data=colaboradores, mapping = aes(edad, salario_diario)) + geom_point(aes(color = genero)) + theme_bw()
# file.choose()
bajas <- read.csv("/Users/mayracampoyramos/Desktop/Analisis de Datos Concentracion/FORM - Recursos Humanos - BAJAS evidencia).csv")
bajas <- clean_names(bajas)
summary(bajas)
## apellidos nombre fecha_de_nacimiento edad
## Length:237 Length:237 Length:237 Min. :19.00
## Class :character Class :character Class :character 1st Qu.:23.00
## Mode :character Mode :character Mode :character Median :29.00
## Mean :31.09
## 3rd Qu.:37.00
## Max. :61.00
## NA's :3
## genero rfc fecha_de_alta motivo_de_baja
## Length:237 Length:237 Length:237 Length:237
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## no_dias baja puesto departamento
## Min. : 0.00 Length:237 Length:237 Length:237
## 1st Qu.: 9.00 Class :character Class :character Class :character
## Median : 19.00 Mode :character Mode :character Mode :character
## Mean : 79.47
## 3rd Qu.: 48.75
## Max. :1966.00
## NA's :23
## no_seguro_social salario_diario_imss factor_cred_infonavit
## Length:237 Min. :144.4 Length:237
## Class :character 1st Qu.:180.7 Class :character
## Mode :character Median :180.7 Mode :character
## Mean :178.0
## 3rd Qu.:180.7
## Max. :500.0
## NA's :1
## n_credito_infonavit lugar_de_nacimiento curp calle
## Length:237 Length:237 Length:237 Length:237
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## numero_interno colonia codigo_postal municipio
## Length:237 Length:237 Length:237 Length:237
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## estado estado_civil tarjeta_cuenta
## Length:237 Length:237 Length:237
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
describeData(bajas,head=1,tail=1)
## n.obs = 237 of which 210 are complete cases. Number of variables = 26 of which all are numeric FALSE
## variable # n.obs type H1
## apellidos* 1 237 3 VALDEZ ORTIZ
## nombre* 2 237 3 MARIO
## fecha_de_nacimiento* 3 237 3 24/06/90
## edad 4 234 1 32
## genero* 5 237 3 MASCULINO
## rfc* 6 237 3 VAOM900624HG8
## fecha_de_alta* 7 237 3 09/03/20
## motivo_de_baja* 8 237 3 RENUNCIA VOLUNTARIA
## no_dias 9 214 1 628
## baja* 10 237 3 27/11/21
## puesto* 11 237 3 DISEÑO
## departamento* 12 237 3 ADMINISTRATIVO
## no_seguro_social* 13 237 3 43139026090
## salario_diario_imss 14 236 1 500
## factor_cred_infonavit* 15 237 3 N/A
## n_credito_infonavit* 16 237 3 N/A
## lugar_de_nacimiento* 17 237 3 AVENIDA DEL COLEGIO
## curp* 18 237 3 VAOM900624HCLLRR09
## calle* 19 237 3 LAS FLORES
## numero_interno* 20 237 3 66438
## colonia* 21 237 3 SAN NICOLAS DE LOS G
## codigo_postal* 22 237 3 66438
## municipio* 23 237 3 SAN NICOLAS DE LOS G
## estado* 24 237 3 Nuevo León
## estado_civil* 25 237 3 SOLTERO
## tarjeta_cuenta* 26 237 3 BANORTE
## T1
## apellidos* MUÑOZ BOLAÑOS
## nombre* LIZETH GUADALUPE
## fecha_de_nacimiento* 30/09/99
## edad 23
## genero* FEMENINO
## rfc* MUBL9909302Z9
## fecha_de_alta* 12/08/22
## motivo_de_baja* BAJA POR FALTAS
## no_dias 6
## baja* 18/08/22
## puesto* AYUDANTE GENERAL
## departamento*
## no_seguro_social* 17159986540
## salario_diario_imss 180.68
## factor_cred_infonavit* N/A
## n_credito_infonavit* N/A
## lugar_de_nacimiento* SAN NICOLAS DE LOS GARZA, NUEVO LEON
## curp* MUBL990930MNLXLZ09
## calle* RIO CAURA
## numero_interno* 629
## colonia* SAN ISIDRO
## codigo_postal* APODACA
## municipio* NUEVO LEON
## estado* 66646
## estado_civil* UNION LIBRE
## tarjeta_cuenta* BANORTE
bajas <- subset(bajas, select = -c(apellidos, nombre, fecha_de_nacimiento,rfc, fecha_de_alta, baja, departamento, no_seguro_social, factor_cred_infonavit, n_credito_infonavit, lugar_de_nacimiento, curp, calle, numero_interno, colonia, codigo_postal, municipio, estado, tarjeta_cuenta))
bajas$edad<-as.numeric(bajas$edad)
bajas$genero<-as.factor(bajas$genero)
bajas$motivo_de_baja<-as.factor(bajas$motivo_de_baja)
bajas$no_dias<-as.numeric(bajas$no_dias)
bajas$puesto<-as.factor(bajas$puesto)
bajas$salario_diario_imss<-as.numeric(bajas$salario_diario_imss)
bajas$estado_civil<-as.factor(bajas$estado_civil)
summary (bajas)
## edad genero motivo_de_baja
## Min. :19.00 CAPJ000926597: 1 ABANDONO : 1
## 1st Qu.:23.00 FEMENINO :139 BAJA POR FALTAS :141
## Median :29.00 MASCULINO : 97 JUBILACION : 1
## Mean :31.09 RENUNCIA VOLUNTARIA: 86
## 3rd Qu.:37.00 TERMINO DE CONTRATO: 8
## Max. :61.00
## NA's :3
## no_dias puesto salario_diario_imss
## Min. : 0.00 AYUDANTE GENERAL :179 Min. :144.4
## 1st Qu.: 9.00 COSTURERA : 11 1st Qu.:180.7
## Median : 19.00 SOLDADOR : 11 Median :180.7
## Mean : 79.47 AYUDANTE DE EMBARQUES: 7 Mean :178.0
## 3rd Qu.: 48.75 MONTACARGUISTA : 5 3rd Qu.:180.7
## Max. :1966.00 INSPECTOR CALIDAD : 4 Max. :500.0
## NA's :23 (Other) : 20 NA's :1
## estado_civil
## : 2
## CASADO : 64
## DIVORCIADO : 3
## SOLTERO :108
## UNION LIBRE: 60
##
##
bajas$edad[is.na(bajas$edad)]<-mean(bajas$edad, na.rm = TRUE)
bajas$salario_diario_imss[is.na(bajas$salario_diario_imss)]<-mean(bajas$salario_diario_imss, na.rm = TRUE)
bajas$no_dias[is.na(bajas$no_dias)]<-mean(bajas$no_dias, na.rm = TRUE)
summary (bajas)
## edad genero motivo_de_baja
## Min. :19.00 CAPJ000926597: 1 ABANDONO : 1
## 1st Qu.:23.00 FEMENINO :139 BAJA POR FALTAS :141
## Median :29.00 MASCULINO : 97 JUBILACION : 1
## Mean :31.09 RENUNCIA VOLUNTARIA: 86
## 3rd Qu.:37.00 TERMINO DE CONTRATO: 8
## Max. :61.00
##
## no_dias puesto salario_diario_imss
## Min. : 0.00 AYUDANTE GENERAL :179 Min. :144.4
## 1st Qu.: 9.00 COSTURERA : 11 1st Qu.:180.7
## Median : 23.00 SOLDADOR : 11 Median :180.7
## Mean : 79.47 AYUDANTE DE EMBARQUES: 7 Mean :178.0
## 3rd Qu.: 79.47 MONTACARGUISTA : 5 3rd Qu.:180.7
## Max. :1966.00 INSPECTOR CALIDAD : 4 Max. :500.0
## (Other) : 20
## estado_civil
## : 2
## CASADO : 64
## DIVORCIADO : 3
## SOLTERO :108
## UNION LIBRE: 60
##
##
write.csv(bajas, file="rh_bajas_bd_limpia.csv", row.names = FALSE)
Variable_rhb <-c("Edad","Genero", "motivo_de baja", "no_dias", "Puesto", "Salario Diario", "Estado Civil")
Type_rhb <-c( "quantitative (discreta)", "qualitative","qualitative", "quantitative (discreta)","qualitative", "quantitative (continua)", "qualitative")
Measurement_rhb <-c("Años","NA", "NA", "Dias trabajados","NA", "Cantidad de dinero","NA")
table_rhb <-data.frame(Variable_rhb ,Type_rhb ,Measurement_rhb )
knitr::kable(table_rhb)
Variable_rhb | Type_rhb | Measurement_rhb |
---|---|---|
Edad | quantitative (discreta) | Años |
Genero | qualitative | NA |
motivo_de baja | qualitative | NA |
no_dias | quantitative (discreta) | Dias trabajados |
Puesto | qualitative | NA |
Salario Diario | quantitative (continua) | Cantidad de dinero |
Estado Civil | qualitative | NA |
media_edad1 <- mean(bajas$edad)
media_edad1
## [1] 31.08974
media_antiguedad1 <- mean(bajas$no_dias)
media_antiguedad1
## [1] 79.47196
media_salario1 <- mean(bajas$salario_diario)
media_salario1
## [1] 177.9627
mediana_edad1 <- median(bajas$edad)
mediana_edad1
## [1] 29
mediana_antiguedad1 <- median(bajas$no_dias)
mediana_antiguedad1
## [1] 23
mediana_salario1 <- median(bajas$salario_diario)
mediana_salario1
## [1] 180.68
mode <- function(x) {
ux <- unique(x)
ux[which.max(tabulate(match(x, ux)))]
}
moda_edad1 <- mode(bajas$edad)
moda_edad1
## [1] 22
moda_antiguedad1 <- mode(bajas$no_dias)
moda_antiguedad1
## [1] 79.47196
moda_salario1 <- mode(bajas$salario_diario)
moda_salario1
## [1] 180.68
varianza_edad1 <-var(bajas$edad)
varianza_edad1
## [1] 91.5132
varianza_antiguedad1 <-var(bajas$no_dias)
varianza_antiguedad1
## [1] 45479.59
varianza_salario1 <-var(bajas$salario_diario)
varianza_salario1
## [1] 538.6969
desviacion_edad1 <- sqrt(varianza_edad1)
desviacion_edad1
## [1] 9.566253
desviacion_antiguedad1 <- sqrt(varianza_antiguedad1)
desviacion_antiguedad1
## [1] 213.2594
desviacion_salario1 <- sqrt(varianza_salario1)
desviacion_salario1
## [1] 23.20985
Variable_rhb1 <-c("Edad","Antiguedad","Salario Diario")
Promedio_rhb1 <-c("31.05","79.47","177.985")
Moda_rhb1 <-c("22","79","180.68")
Mediana_rhb1 <-c("29","23","180.68")
Varianza_rhb1 <-c("91.513","45479.59","538.6969")
Desviación_Estándar_rhb1 <-c ("9.566","213.2594","23.20")
tabla_rhb1 <-data.frame (Variable_rhb1,Promedio_rhb1,Moda_rhb1, Mediana_rhb1, Varianza_rhb1,Desviación_Estándar_rhb1 )
tabla_rhb1
## Variable_rhb1 Promedio_rhb1 Moda_rhb1 Mediana_rhb1 Varianza_rhb1
## 1 Edad 31.05 22 29 91.513
## 2 Antiguedad 79.47 79 23 45479.59
## 3 Salario Diario 177.985 180.68 180.68 538.6969
## Desviación_Estándar_rhb1
## 1 9.566
## 2 213.2594
## 3 23.20
knitr::kable(tabla_rhb1)
Variable_rhb1 | Promedio_rhb1 | Moda_rhb1 | Mediana_rhb1 | Varianza_rhb1 | Desviación_Estándar_rhb1 |
---|---|---|---|---|---|
Edad | 31.05 | 22 | 29 | 91.513 | 9.566 |
Antiguedad | 79.47 | 79 | 23 | 45479.59 | 213.2594 |
Salario Diario | 177.985 | 180.68 | 180.68 | 538.6969 | 23.20 |
table(bajas$motivo_baja)
## < table of extent 0 >
proporciones <- c(1, 141, 1, 87, 8)
etiquetas <- c("Abandono", "Baja por Faltas", "Jubilaciòn", "Renuncia Voluntaria", "Termino de Contrato")
pct <- round(proporciones/sum(proporciones)*100)
etiquetas <- paste(etiquetas, pct)
etiquetas <- paste(etiquetas,"%",sep="")
pie(proporciones,labels = etiquetas,
col=rainbow(length(etiquetas)),
main="Motivo de bajas de los Colaboradores")
hist(bajas$edad, freq=TRUE, col="pink", main="Edad en años de los Ex-Colaboradores")
library(data.table)
library(dplyr)
library(plyr)
library(ggplot2)
library(naniar)
library(Hmisc)
library(psych)
library(tidyverse)
library(janitor)
library(knitr)
library(pollster)
library(epiDisplay)
library(descr)
library(tidyr)
library(ggeasy)
library(stringr)
library(patchwork)
# file.choose()
delivery_plan<- read.csv("/Users/mayracampoyramos/Desktop/Analisis de Datos Concentracion/Delivery Plan FINAL - EQUIPO 4 .csv")
describeData(delivery_plan,head=1,tail=1)
## n.obs = 231 of which 231 are complete cases. Number of variables = 27 of which all are numeric FALSE
## variable # n.obs type H1
## CLIENTE.PLANTA* 1 231 3 STB3
## PROYECTO* 2 231 3 CANASTILLA GRIS
## ID.ODOO* 3 231 3 15.785
## ITEM* 4 231 3 CABLE SET CAJA BACK UP CANASTILLA
## JUNIO 5 231 1 0
## JULIO 6 231 1 140
## AGOSTO 7 231 1 530
## SEPTIEMBRE 8 231 1 0
## OCTUBRE 9 231 1 200
## NOVIEMBRE 10 231 1 0
## DICIEMBRE 11 231 1 150
## ene.22 12 231 1 230
## feb.22 13 231 1 500
## mar.22 14 231 1 0
## abr.22 15 231 1 0
## may.22 16 231 1 0
## jun.22 17 231 1 200
## jul.22 18 231 1 900
## ago.22 19 231 1 1000
## sep.22 20 231 1 0
## OCTUBRE.22 21 231 1 0
## nov.22 22 231 1 0
## dic.22 23 231 1 0
## ene.23 24 231 1 0
## feb.23 25 231 1 0
## mar.23 26 231 1 0
## TOTAL.MESES 27 231 1 3850
## T1
## CLIENTE.PLANTA* VARROC
## PROYECTO* CURRENT
## ID.ODOO*
## ITEM* U553 KIT
## JUNIO 0
## JULIO 0
## AGOSTO 0
## SEPTIEMBRE 0
## OCTUBRE 30
## NOVIEMBRE 200
## DICIEMBRE 0
## ene.22 0
## feb.22 0
## mar.22 0
## abr.22 0
## may.22 0
## jun.22 0
## jul.22 0
## ago.22 0
## sep.22 0
## OCTUBRE.22 0
## nov.22 0
## dic.22 0
## ene.23 0
## feb.23 0
## mar.23 0
## TOTAL.MESES 230
delivery_plan <- clean_names(delivery_plan)
delivery_plan <- delivery_plan %>% dplyr::rename(cliente=cliente_planta,
A_jun_21=junio,
B_jul_21=julio,
C_ago_21=agosto,
D_sep_21=septiembre,
E_oct_21=octubre,
F_nov_21=noviembre,
G_dic_21=diciembre,
H_ene_22=ene_22,
I_feb_22=feb_22,
J_mar_22=mar_22,
K_abr_22=abr_22,
L_may_22=may_22,
M_jun_22=jun_22,
N_jul_22=jul_22,
O_ago_22=ago_22,
P_sep_22=sep_22,
Q_oct_22=octubre_22,
R_nov_22=nov_22,
S_dic_22=dic_22,
T_ene_23=ene_23,
U_feb_23=feb_23,
V_mar_23=feb_23
)
colnames(delivery_plan)
## [1] "cliente" "proyecto" "id_odoo" "item" "A_jun_21"
## [6] "B_jul_21" "C_ago_21" "D_sep_21" "E_oct_21" "F_nov_21"
## [11] "G_dic_21" "H_ene_22" "I_feb_22" "J_mar_22" "K_abr_22"
## [16] "L_may_22" "M_jun_22" "N_jul_22" "O_ago_22" "P_sep_22"
## [21] "Q_oct_22" "R_nov_22" "S_dic_22" "T_ene_23" "V_mar_23"
## [26] "mar_23" "total_meses"
delivery_plan <- pivot_longer(delivery_plan, cols=5:14, names_to = "Mes", values_to = "Unidades")
deliveryplan1 <- filter(delivery_plan, Unidades>0)
deliveryplan2 <- deliveryplan1
deliveryplan2 <- subset (deliveryplan1, select = -c (proyecto, id_odoo, item, K_abr_22, L_may_22, M_jun_22,N_jul_22,O_ago_22, P_sep_22, Q_oct_22, R_nov_22, S_dic_22, T_ene_23, V_mar_23, mar_23, total_meses))
summary(deliveryplan2)
## cliente Mes Unidades
## Length:590 Length:590 Min. : 1.0
## Class :character Class :character 1st Qu.: 30.0
## Mode :character Mode :character Median : 80.0
## Mean : 358.4
## 3rd Qu.: 300.0
## Max. :13120.0
Delivery_Plan <- deliveryplan2
write.csv(Delivery_Plan, file = "Ddeliveryplan_bd_limpia.csv", row.names = FALSE)
Variable_dplan<-c("Unidades", "Mes", "cliente")
Type_dplan <-c("quantitative (discreta)", "qualitative","qualitative")
Measurement_dplan <-c("piezas que se entregan", "NA", "NA")
table_dplan <-data.frame(Variable_dplan,Type_dplan,Measurement_dplan)
knitr::kable(table_dplan)
Variable_dplan | Type_dplan | Measurement_dplan |
---|---|---|
Unidades | quantitative (discreta) | piezas que se entregan |
Mes | qualitative | NA |
cliente | qualitative | NA |
Media <- mean(deliveryplan2$Unidades)
Media
## [1] 358.3729
Mediana <- median(deliveryplan2$Unidades)
Mediana
## [1] 80
mode <- function(x) {
ux <- unique(x)
ux[which.max(tabulate(match(x, ux)))]
}
Moda_clientes <- mode(deliveryplan2$cliente)
Moda_clientes
## [1] "VARROC"
Moda_mes <- mode(deliveryplan2$Mes)
Moda_mes
## [1] "H_ene_22"
Moda_unidades <- mode(deliveryplan2$Unidades)
Moda_unidades
## [1] 60
varianza_unidades_prog <- var(deliveryplan2$Unidades)
varianza_unidades_prog
## [1] 1005677
desviacion_unidades_prog<- sqrt(varianza_unidades_prog)
desviacion_unidades_prog
## [1] 1002.834
Variable_dplan<-c("Unidades", "Mes", "cliente")
Media_dplan<-c("358.3729", "NA", "NA")
Mediana_dplan<-c("80", "NA", "NA")
Moda_dplan<-c(Moda_unidades, Moda_mes, Moda_clientes)
Varianza_dplan<-c("1005677", "NA", "NA")
Desviacion_Estandar_dplan<-c("1002.834", "NA", "NA")
table_dplan <- data.frame(Variable_dplan, Media_dplan, Mediana_dplan, Moda_dplan,Varianza_dplan, Desviacion_Estandar_dplan)
knitr::kable(table_dplan)
Variable_dplan | Media_dplan | Mediana_dplan | Moda_dplan | Varianza_dplan | Desviacion_Estandar_dplan |
---|---|---|---|---|---|
Unidades | 358.3729 | 80 | 60 | 1005677 | 1002.834 |
Mes | NA | NA | H_ene_22 | NA | NA |
cliente | NA | NA | VARROC | NA | NA |
ggplot(deliveryplan2, aes(x = Mes, y = Unidades)) +
geom_point(shape=19, size=3) +
labs(title = "Relación entre Unidades y Meses",caption ="FORM Merma",x="Mes", y="Unidades") +
theme_classic()
ggplot(deliveryplan2,aes(x= Unidades, y=Mes,fill=cliente)) +
geom_bar(stat="identity")
# file.choose()
deliveryperf <- read.csv("/Users/mayracampoyramos/Downloads/FORM - Delivery Performance BD BUENA.csv")
library(dplyr)
library(janitor)
performance <- clean_names(deliveryperf)
summary(performance)
## fecha printel mahle magna
## Length:324 Min. :0.0000 Min. :-11.650 Min. :0
## Class :character 1st Qu.:0.0000 1st Qu.: 1.800 1st Qu.:0
## Mode :character Median :0.0000 Median : 3.000 Median :0
## Mean :0.4418 Mean : 2.364 Mean :0
## 3rd Qu.:1.0000 3rd Qu.: 3.150 3rd Qu.:0
## Max. :4.4000 Max. : 20.000 Max. :0
## NA's :25 NA's :25 NA's :25
## varroc x x_1 x_2 x_3
## Min. :0 Mode:logical Mode:logical Mode:logical Mode:logical
## 1st Qu.:0 NA's:324 NA's:324 NA's:324 NA's:324
## Median :0
## Mean :0
## 3rd Qu.:0
## Max. :0
## NA's :25
describeData(performance,head=1,tail=1)
## n.obs = 324 of which 0 are complete cases. Number of variables = 9 of which all are numeric FALSE
## variable # n.obs type H1 T1
## fecha* 1 324 3 22/07/2021
## printel 2 299 1 0 <NA>
## mahle 3 299 1 2.65 <NA>
## magna 4 299 1 0 <NA>
## varroc 5 299 1 0 <NA>
## x* 6 0 2 <NA> <NA>
## x_1* 7 0 2 <NA> <NA>
## x_2* 8 0 2 <NA> <NA>
## x_3* 9 0 2 <NA> <NA>
performance <- subset(performance, select = -c(x, x_1, x_2, x_3))
summary(performance)
## fecha printel mahle magna
## Length:324 Min. :0.0000 Min. :-11.650 Min. :0
## Class :character 1st Qu.:0.0000 1st Qu.: 1.800 1st Qu.:0
## Mode :character Median :0.0000 Median : 3.000 Median :0
## Mean :0.4418 Mean : 2.364 Mean :0
## 3rd Qu.:1.0000 3rd Qu.: 3.150 3rd Qu.:0
## Max. :4.4000 Max. : 20.000 Max. :0
## NA's :25 NA's :25 NA's :25
## varroc
## Min. :0
## 1st Qu.:0
## Median :0
## Mean :0
## 3rd Qu.:0
## Max. :0
## NA's :25
performance$fecha <- as.Date(performance$fecha, format = "%d/%m/%Y")
tibble(performance)
## # A tibble: 324 × 5
## fecha printel mahle magna varroc
## <date> <dbl> <dbl> <dbl> <dbl>
## 1 2021-07-22 0 2.65 0 0
## 2 2021-07-25 1.8 2.85 0 0
## 3 2021-07-26 1.1 2.5 0 0
## 4 2021-07-27 0.5 2.5 0 0
## 5 2021-07-28 0.5 2.55 0 0
## 6 2021-07-29 1 2.65 0 0
## 7 2021-08-01 1 2.51 0 0
## 8 2021-08-02 1 3 0 0
## 9 2021-08-03 0 3 0 0
## 10 2021-08-04 1.2 3.05 0 0
## # … with 314 more rows
performance$printel <- substr(performance$printel, start = 1, stop = 2)
tibble(performance)
## # A tibble: 324 × 5
## fecha printel mahle magna varroc
## <date> <chr> <dbl> <dbl> <dbl>
## 1 2021-07-22 0 2.65 0 0
## 2 2021-07-25 1. 2.85 0 0
## 3 2021-07-26 1. 2.5 0 0
## 4 2021-07-27 0. 2.5 0 0
## 5 2021-07-28 0. 2.55 0 0
## 6 2021-07-29 1 2.65 0 0
## 7 2021-08-01 1 2.51 0 0
## 8 2021-08-02 1 3 0 0
## 9 2021-08-03 0 3 0 0
## 10 2021-08-04 1. 3.05 0 0
## # … with 314 more rows
performance$printel <- as.numeric(performance$printel)
str(performance)
## 'data.frame': 324 obs. of 5 variables:
## $ fecha : Date, format: "2021-07-22" "2021-07-25" ...
## $ printel: num 0 1 1 0 0 1 1 1 0 1 ...
## $ mahle : num 2.65 2.85 2.5 2.5 2.55 2.65 2.51 3 3 3.05 ...
## $ magna : num 0 0 0 0 0 0 0 0 0 0 ...
## $ varroc : num 0 0 0 0 0 0 0 0 0 0 ...
performance$mahle <- substr(performance$mahle, start = 1, stop = 2)
performance$mahle <- as.numeric(performance$mahle)
performance$magna <- substr(performance$magna, start = 1, stop = 2)
performance$magna <- as.numeric(performance$magna)
str(performance)
## 'data.frame': 324 obs. of 5 variables:
## $ fecha : Date, format: "2021-07-22" "2021-07-25" ...
## $ printel: num 0 1 1 0 0 1 1 1 0 1 ...
## $ mahle : num 2 2 2 2 2 2 2 3 3 3 ...
## $ magna : num 0 0 0 0 0 0 0 0 0 0 ...
## $ varroc : num 0 0 0 0 0 0 0 0 0 0 ...
performance$varroc <- substr(performance$varroc, start = 1, stop = 2)
performance$varroc <- as.numeric(performance$varroc)
str(performance)
## 'data.frame': 324 obs. of 5 variables:
## $ fecha : Date, format: "2021-07-22" "2021-07-25" ...
## $ printel: num 0 1 1 0 0 1 1 1 0 1 ...
## $ mahle : num 2 2 2 2 2 2 2 3 3 3 ...
## $ magna : num 0 0 0 0 0 0 0 0 0 0 ...
## $ varroc : num 0 0 0 0 0 0 0 0 0 0 ...
sapply(performance, function(x) sum(is.na(x)))
## fecha printel mahle magna varroc
## 25 25 25 25 25
performance$fecha[is.na(performance$fecha)]<-median(performance$fecha, na.rm = TRUE)
performance$printel[is.na(performance$printel)]<-median(performance$printel, na.rm = TRUE)
performance$mahle[is.na(performance$mahle)]<-median(performance$mahle, na.rm = TRUE)
performance$magna[is.na(performance$magna)]<-median(performance$magna, na.rm = TRUE)
performance$varroc[is.na(performance$varroc)]<-median(performance$varroc, na.rm = TRUE)
summary(performance)
## fecha printel mahle magna varroc
## Min. :2021-07-22 Min. :0.0000 Min. :-9.00 Min. :0 Min. :0
## 1st Qu.:2021-10-20 1st Qu.:0.0000 1st Qu.: 2.00 1st Qu.:0 1st Qu.:0
## Median :2022-02-07 Median :0.0000 Median : 3.00 Median :0 Median :0
## Mean :2022-01-30 Mean :0.3395 Mean : 2.21 Mean :0 Mean :0
## 3rd Qu.:2022-04-27 3rd Qu.:0.2500 3rd Qu.: 3.00 3rd Qu.:0 3rd Qu.:0
## Max. :2022-07-23 Max. :4.0000 Max. :20.00 Max. :0 Max. :0
write.csv(performance, file="performance_bd_limpia.csv", row.names = FALSE)
Variable_performance<-c("Fecha"," Printel","Mahle", "Magna", "Varroc")
Type_performance<-c("qualitative", "quantiative (continous)", "quantitative (continous)", "quantitative (continous)", "quantitative (continous)")
escalas_performance <- c("NA", "Piezas Entregadas","Piezas Entregadas","Piezas Entregadas","Piezas Entregadas")
table_performance <- data.frame (Variable_performance, Type_performance, escalas_performance)
knitr::kable(table_performance)
Variable_performance | Type_performance | escalas_performance |
---|---|---|
Fecha | qualitative | NA |
Printel | quantiative (continous) | Piezas Entregadas |
Mahle | quantitative (continous) | Piezas Entregadas |
Magna | quantitative (continous) | Piezas Entregadas |
Varroc | quantitative (continous) | Piezas Entregadas |
media_printel <- mean(performance$printel)
media_printel
## [1] 0.3395062
media_mahle <- mean(performance$mahle)
media_mahle
## [1] 2.209877
media_magna <- mean(performance$magna)
media_magna
## [1] 0
media_varroc <- mean(performance$varroc)
media_varroc
## [1] 0
mediana_printel <- median(performance$printel)
mediana_printel
## [1] 0
mediana_mahle <- median(performance$mahle)
mediana_mahle
## [1] 3
mediana_magna <- median(performance$magna)
mediana_magna
## [1] 0
mediana_varroc <- median(performance$varroc)
mediana_varroc
## [1] 0
mode <- function(x) {
ux <- unique(x)
ux[which.max(tabulate(match(x, ux)))]
}
moda_printel <- mode(performance$printel)
moda_printel
## [1] 0
moda_mahle <- mode(performance$mahle)
moda_mahle
## [1] 3
moda_magna <- mode(performance$magna)
moda_magna
## [1] 0
moda_varroc <- mode(performance$varroc)
moda_varroc
## [1] 0
varianza_printel <-var(performance$printel)
varianza_printel
## [1] 0.4416542
varianza_mahle <-var(performance$mahle)
varianza_mahle
## [1] 2.909376
varianza_magna <-var(performance$magna)
varianza_magna
## [1] 0
varianza_varroc <-var(performance$varroc)
varianza_varroc
## [1] 0
desviacion_printel <- sqrt(varianza_printel)
desviacion_printel
## [1] 0.6645707
desviacion_mahle <- sqrt(varianza_mahle)
desviacion_mahle
## [1] 1.705689
desviacion_magna <- sqrt(varianza_magna)
desviacion_magna
## [1] 0
desviacion_varroc <- sqrt(varianza_varroc)
desviacion_varroc
## [1] 0
Variable_performance<-c("Fecha"," Printel","Mahle", "Magna", "Varroc")
Promedio_performance <-c("NA","0.339", "2.209","0", "0")
Moda_performance <-c("NA","3","0","0", "0")
Mediana_performance <-c("NA","0","3","0", "0")
Varianza_performance <-c("NA","0.441","2.909","0", "0")
Desviación_Estándar_performance <-c ("NA","0.664","1.705","0", "0")
tabla_performance <-data.frame(Variable_performance,Promedio_performance, Moda_performance, Mediana_performance, Varianza_performance, Desviación_Estándar_performance)
knitr::kable(tabla_performance)
Variable_performance | Promedio_performance | Moda_performance | Mediana_performance | Varianza_performance | Desviación_Estándar_performance |
---|---|---|---|---|---|
Fecha | NA | NA | NA | NA | NA |
Printel | 0.339 | 3 | 0 | 0.441 | 0.664 |
Mahle | 2.209 | 0 | 3 | 2.909 | 1.705 |
Magna | 0 | 0 | 0 | 0 | 0 |
Varroc | 0 | 0 | 0 | 0 | 0 |
ggplot(performance,aes(x=fecha))+
geom_line(aes(y=printel),color="blue")+
geom_line(aes(y=mahle),color="orange")+
geom_line(aes(y=magna),color="green")+
geom_line(aes(y=varroc),color="green")+
labs(x="Fecha",y="Retraso en horas", color="Legend")+
ggtitle("Retrasos de entrega por cliente")
#file.choose()
bd4 <- read.csv("/Users/mayracampoyramos/Desktop/Analisis de Datos Concentracion/EMI_CARTON.csv")
library(janitor)
produccion <- clean_names(bd4)
summary(produccion)
## fecha cliente id_form producto
## Length:3988 Length:3988 Length:3988 Length:3988
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## piezas_prog tmo_min hr_fin estacion_arranque
## Length:3988 Length:3988 Length:3988 Length:3988
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## laminas_procesadas inicio_sep_up fin_inicio_de_sep_up inicio_de_proceso
## Min. : 0 Length:3988 Length:3988 Length:3988
## 1st Qu.: 0 Class :character Class :character Class :character
## Median : 51 Mode :character Mode :character Mode :character
## Mean : 102
## 3rd Qu.: 184
## Max. :1263
##
## fin_de_proceso tiempo_calidad tiempo_materiales
## Length:3988 Length:3988 Min. : 0.000
## Class :character Class :character 1st Qu.: 0.000
## Mode :character Mode :character Median : 0.000
## Mean : 3.187
## 3rd Qu.: 1.000
## Max. :60.000
## NA's :3491
produccion <- subset(produccion,select = -c (id_form, producto, hr_fin, inicio_sep_up, fin_inicio_de_sep_up, inicio_de_proceso, fin_de_proceso, tiempo_materiales))
summary(produccion)
## fecha cliente piezas_prog tmo_min
## Length:3988 Length:3988 Length:3988 Length:3988
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## estacion_arranque laminas_procesadas tiempo_calidad
## Length:3988 Min. : 0 Length:3988
## Class :character 1st Qu.: 0 Class :character
## Mode :character Median : 51 Mode :character
## Mean : 102
## 3rd Qu.: 184
## Max. :1263
library(data.table)
library(plyr)
library(dplyr)
library(ggplot2)
library(naniar)
library(Hmisc)
library(psych)
library(tidyverse)
library(knitr)
# install.packages("pollster")
library(pollster)
library(epiDisplay)
library(descr)
library(tidyr)
describeData(produccion,head=1,tail=1)
## n.obs = 3988 of which 3987 are complete cases. Number of variables = 7 of which all are numeric FALSE
## variable # n.obs type H1 T1
## fecha* 1 3988 3 16/07/2022 07/09/2022
## cliente* 2 3987 3 TRMX
## piezas_prog* 3 3988 3 1
## tmo_min* 4 3988 3 10 20
## estacion_arranque* 5 3988 3 C1Y2 ROTATIVA
## laminas_procesadas 6 3988 1 3 0
## tiempo_calidad* 7 3988 3 1
produccion$piezas_prog<-as.numeric(produccion$piezas_prog)
produccion$tmo_min<-as.numeric(produccion$tmo_min)
produccion$laminas_procesadas<-as.numeric(produccion$laminas_procesadas)
produccion$tiempo_calidad<-as.numeric(produccion$tiempo_calidad)
produccion$fecha <- as.Date(produccion$fecha, format = "%d/%m/%Y")
summary(produccion)
## fecha cliente piezas_prog tmo_min
## Min. :2022-07-15 Length:3988 Min. : 1.0 Min. : 0.00
## 1st Qu.:2022-08-03 Class :character 1st Qu.: 100.0 1st Qu.: 15.00
## Median :2022-08-20 Mode :character Median : 153.5 Median : 20.00
## Mean :2022-08-19 Mean : 180.3 Mean : 22.37
## 3rd Qu.:2022-09-06 3rd Qu.: 200.0 3rd Qu.: 25.00
## Max. :2022-09-21 Max. :2000.0 Max. :150.00
## NA's :180 NA's :824
## estacion_arranque laminas_procesadas tiempo_calidad
## Length:3988 Min. : 0 Min. : 0.0000
## Class :character 1st Qu.: 0 1st Qu.: 0.0000
## Mode :character Median : 51 Median : 1.0000
## Mean : 102 Mean : 0.8631
## 3rd Qu.: 184 3rd Qu.: 1.0000
## Max. :1263 Max. :22.0000
## NA's :346
produccion$tmo_min[is.na(produccion$tmo_min)]<-mean(produccion$tmo_min, na.rm = TRUE)
produccion$tiempo_calidad[is.na(produccion$tiempo_calidad)]<-mean(produccion$tiempo_calidad, na.rm = TRUE)
produccion$piezas_prog[is.na(produccion$piezas_prog)]<-mean(produccion$piezas_prog, na.rm = TRUE)
summary(produccion)
## fecha cliente piezas_prog tmo_min
## Min. :2022-07-15 Length:3988 Min. : 1.0 Min. : 0.00
## 1st Qu.:2022-08-03 Class :character 1st Qu.: 100.0 1st Qu.: 15.00
## Median :2022-08-20 Mode :character Median : 180.3 Median : 22.37
## Mean :2022-08-19 Mean : 180.3 Mean : 22.37
## 3rd Qu.:2022-09-06 3rd Qu.: 200.0 3rd Qu.: 25.00
## Max. :2022-09-21 Max. :2000.0 Max. :150.00
## estacion_arranque laminas_procesadas tiempo_calidad
## Length:3988 Min. : 0 Min. : 0.0000
## Class :character 1st Qu.: 0 1st Qu.: 0.8631
## Mode :character Median : 51 Median : 1.0000
## Mean : 102 Mean : 0.8631
## 3rd Qu.: 184 3rd Qu.: 1.0000
## Max. :1263 Max. :22.0000
produccion$piezas_prog <- str_replace(produccion$piezas_prog, "[aeiouLAM=NbBsS]", "")
produccion$piezas_prog <- as.integer(produccion$laminas_procesadas)
bd_Produccion_limpia <- produccion
write.csv(bd_Produccion_limpia, file="bd_produccion_limpia.csv", row.names = FALSE)
Variablep <-c("Fecha", "Cliente", "piezas_prog","tmo_min ","estacion_arranque", "laminas_procesadas", "tiempo_calidad")
Typep<-c("qualitative", "qualitative", "quantitative (discreta)", "quantitative (continua)", "qualitative", "quantitative (discreta)", "quantitative (continuo)")
escalasp <- c("NA", "NA", "piezas asignadas", "Minutos", "NA", "piezas terminadas", "horas" )
tablep <- data.frame (Variablep, Typep, escalasp)
knitr::kable(tablep)
Variablep | Typep | escalasp |
---|---|---|
Fecha | qualitative | NA |
Cliente | qualitative | NA |
piezas_prog | quantitative (discreta) | piezas asignadas |
tmo_min | quantitative (continua) | Minutos |
estacion_arranque | qualitative | NA |
laminas_procesadas | quantitative (discreta) | piezas terminadas |
tiempo_calidad | quantitative (continuo) | horas |
media_piezas_prog<- mean(produccion$piezas_prog)
media_piezas_prog
## [1] 102.0105
media_tmo_min<- mean(produccion$tmo_min)
media_tmo_min
## [1] 22.37042
media_laminas_procesadas <- mean(produccion$laminas_procesadas)
media_laminas_procesadas
## [1] 102.0105
media_tiempo_calidad<- mean(produccion$tiempo_calidad)
media_tiempo_calidad
## [1] 0.8630972
median_piezas_prog<- median(produccion$piezas_prog)
median_piezas_prog
## [1] 51
median_tmo_min<- median(produccion$tmo_min)
median_tmo_min
## [1] 22.37042
median_laminas_procesadas <- median(produccion$laminas_procesadas)
media_laminas_procesadas
## [1] 102.0105
median_tiempo_calidad<- median(produccion$tiempo_calidad)
median_tiempo_calidad
## [1] 1
mode <- function(x) {
ux <- unique(x)
ux[which.max(tabulate(match(x, ux)))]
}
moda_piezas_prog <- mode(produccion$piezas_prog)
moda_piezas_prog
## [1] 0
moda_tmo_min <- mode(produccion$tmo_min)
moda_tmo_min
## [1] 25
moda_laminas_procesadas<- mode(produccion$laminas_procesadas)
moda_laminas_procesadas
## [1] 0
moda_tiempo_calidad <- mode(produccion$tiempo_calidad)
moda_tiempo_calidad
## [1] 1
varianza_piezas_prog <-var(produccion$piezas_prog)
varianza_piezas_prog
## [1] 18056.03
varianza_tmo_min <-var(produccion$tmo_min)
varianza_tmo_min
## [1] 142.3682
varianza_laminas_procesadas<-var(produccion$laminas_procesadas)
varianza_laminas_procesadas
## [1] 18056.03
varianza_tiempo_calidad <-var(produccion$tiempo_calidad)
varianza_tiempo_calidad
## [1] 0.9819163
desviacion_piezas_prog<- sqrt(varianza_piezas_prog)
desviacion_piezas_prog
## [1] 134.3727
desviacion_tmo_min <- sqrt(varianza_tmo_min)
desviacion_tmo_min
## [1] 11.93181
desviacion_laminas_procesadas <- sqrt(varianza_laminas_procesadas)
desviacion_laminas_procesadas
## [1] 134.3727
desviacion_tiempo_calidad <- sqrt(varianza_tiempo_calidad)
desviacion_tiempo_calidad
## [1] 0.9909169
Variable2 <-c("piezas_prog","tmo_min ", "laminas_procesadas", "tiempo_calidad")
Promedio2 <-c("180.323", "22.370","102.01", "0.86")
Moda2 <-c("200", "25","0", "1")
Mediana2 <-c("180.23","22.37","102.0105", "1")
Varianza2 <-c("21940.88","142.3682","18056.03", "0.9819163")
Desviación_Estándar2 <-c ("148.1245","11.93181","134.3727", "0.9909169")
tabla2 <-data.frame(Variable2,Promedio2, Moda2, Mediana2, Varianza2, Desviación_Estándar2)
tabla2
## Variable2 Promedio2 Moda2 Mediana2 Varianza2 Desviación_Estándar2
## 1 piezas_prog 180.323 200 180.23 21940.88 148.1245
## 2 tmo_min 22.370 25 22.37 142.3682 11.93181
## 3 laminas_procesadas 102.01 0 102.0105 18056.03 134.3727
## 4 tiempo_calidad 0.86 1 1 0.9819163 0.9909169
knitr::kable(tabla2)
Variable2 | Promedio2 | Moda2 | Mediana2 | Varianza2 | Desviación_Estándar2 |
---|---|---|---|---|---|
piezas_prog | 180.323 | 200 | 180.23 | 21940.88 | 148.1245 |
tmo_min | 22.370 | 25 | 22.37 | 142.3682 | 11.93181 |
laminas_procesadas | 102.01 | 0 | 102.0105 | 18056.03 | 134.3727 |
tiempo_calidad | 0.86 | 1 | 1 | 0.9819163 | 0.9909169 |
ggplot(produccion,aes(x=fecha))+
geom_line(aes(y=piezas_prog),color="blue")+
labs(x="Fecha",y="piezas programadas", color="blue")+
ggtitle("Grafica de las piezas programadas por fecha")
ggplot(produccion, aes(x=tmo_min, y=laminas_procesadas)) +
geom_bar(stat="identity", fill="grey") + scale_fill_grey() +
labs(title = "Grafico de barras de las piezas programadas dentro del tiempo minimo",
x = "tiempo minimo", y = "laminas procesadas")
ggplot(produccion,aes(x=reorder(tmo_min, piezas_prog), y=piezas_prog,fill=cliente)) +
geom_bar(stat="identity")
ggplot(produccion, aes(x=piezas_prog, y=cliente)) +
geom_point()
# file.choose()
merma<- read.csv("/Users/mayracampoyramos/Desktop/Analisis de Datos Concentracion/Reto/FORM - Merma 1.csv")
describeData(merma,head=1,tail=1)
## n.obs = 60 of which 60 are complete cases. Number of variables = 3 of which all are numeric FALSE
## variable # n.obs type H1 T1
## Fecha* 1 60 3 11/01/22
## Mes* 2 60 3 ENERO Total general
## Kilos* 3 60 3 5080 185,426
merma1<- merma[-c(5,12,19,25,31,36,42,54,59,60),]
merma1$Kilos <- as.integer(merma1$Kilos)
str(merma1)
## 'data.frame': 50 obs. of 3 variables:
## $ Fecha: chr "11/01/22" "11/01/22" "22/01/22" "22/01/22" ...
## $ Mes : chr "ENERO" "ENERO" "ENERO" "ENERO" ...
## $ Kilos: int 5080 3810 2990 2680 3650 4380 3870 3590 3410 3930 ...
merma_limpia <- merma1
write.csv(merma_limpia, file ="merma_bd_limpia.csv", row.names = FALSE)
Variable_merma<-c("Fecha", "Mes", "Kilos")
Type_merma<-c("cualitativa ", "cualitativa", "cuantitativa discreta")
Measurement_merma <-c("dia", "NA", "cantidad")
table_merma<-data.frame(Variable_merma,Type_merma, Measurement_merma)
knitr::kable(table_merma)
Variable_merma | Type_merma | Measurement_merma |
---|---|---|
Fecha | cualitativa | dia |
Mes | cualitativa | NA |
Kilos | cuantitativa discreta | cantidad |
media_kilos <- mean(merma1$Kilos)
media_kilos
## [1] 3708.52
mediana_kilos <- median(merma1$Kilos)
mediana_kilos
## [1] 3925
mode <- function (x) {
ux <- unique(x)
ux [which.max(tabulate(match(x,ux)))]
}
mode_fecha <- mode(merma1$Fecha)
mode_fecha
## [1] "18/02/22"
mode_mes <- mode(merma1$Mes)
mode_mes
## [1] "AGOSTO"
mode_kilos <- mode(merma1$Kilos)
mode_kilos
## [1] 3810
varianza_kilos <- var(merma1$Kilos)
varianza_kilos
## [1] 1048555
desviacionestandar_kilos <- sqrt(varianza_kilos)
desviacionestandar_kilos
## [1] 1023.99
Variable_merma<-c("Fecha", "Mes", "Kilos")
Media_merma<-c("NA", "NA", media_kilos)
Mediana_merma<-c("NA", "NA", mediana_kilos)
Moda_merma<-c(mode_fecha, mode_mes, mode_kilos)
Varianza_merma<-c("NA", "NA",varianza_kilos )
Desviacion_Estandar_merma<-c("NA", "NA", desviacionestandar_kilos)
table_merma<-data.frame(Variable_merma,Media_merma,Mediana_merma,Moda_merma,Varianza_merma,Desviacion_Estandar_merma)
knitr::kable(table_merma)
Variable_merma | Media_merma | Mediana_merma | Moda_merma | Varianza_merma | Desviacion_Estandar_merma |
---|---|---|---|---|---|
Fecha | NA | NA | 18/02/22 | NA | NA |
Mes | NA | NA | AGOSTO | NA | NA |
Kilos | 3708.52 | 3925 | 3810 | 1048554.70367347 | 1023.98960135026 |
# install.packages("ggplot2")
library(ggplot2)
ggplot(data=merma1, mapping = aes(Mes, Kilos)) + geom_point() + theme_bw()
boxplot(merma1$Kilos)
# file.choose()
scrap<- read.csv("/Users/mayracampoyramos/Desktop/Analisis de Datos Concentracion/Reto/FORM - Scrap.csv")
# install.packages("dplyr")
library(dplyr)
# install.packages("psych")
library(psych)
describeData(scrap,head=1,tail=1)
## n.obs = 251 of which 251 are complete cases. Number of variables = 9 of which all are numeric FALSE
## variable # n.obs type H1
## Referencia* 1 251 3 agosto 2022 (250)
## Fecha* 2 251 3
## Producto* 3 251 3
## Cantidad 4 251 1 1674.002
## Unidad.de.medida* 5 251 3
## Ubicación.de.origen* 6 251 3
## Ubicación.de.desecho* 7 251 3
## Estado* 8 251 3
## Hora* 9 251 3
## T1
## Referencia* SP/08479
## Fecha* 01/08/22
## Producto* [N61506747 TAPA] N61506747. Kit. Tapa.
## Cantidad 1
## Unidad.de.medida* Unidad(es)
## Ubicación.de.origen* SAB/Calidad/Entrega de PT
## Ubicación.de.desecho* Virtual Locations/Scrapped
## Estado* Hecho
## Hora* 13:59:47
scrap1<- scrap [-1,]
scrap1 <- subset(scrap1, select = -c ( Referencia, Producto,Unidad.de.medida, Ubicación.de.desecho, Estado, Hora))
summary(scrap1)
## Fecha Cantidad Ubicación.de.origen
## Length:250 Min. : 0.000 Length:250
## Class :character 1st Qu.: 1.000 Class :character
## Mode :character Median : 2.000 Mode :character
## Mean : 6.696
## 3rd Qu.: 7.000
## Max. :96.000
scrap1$Cantidad <- as.integer(scrap1$Cantidad)
str(scrap1)
## 'data.frame': 250 obs. of 3 variables:
## $ Fecha : chr "31/08/22" "31/08/22" "31/08/22" "31/08/22" ...
## $ Cantidad : int 2 1 1 31 1 1 1 9 2 1 ...
## $ Ubicación.de.origen: chr "SAB/Calidad/Entrega de PT" "SAB/Calidad/Entrega de PT" "SAB/Calidad/Entrega de PT" "SAB/Pre-Production" ...
scrap_limpia <- scrap1
write.csv(scrap_limpia, file ="scrap_bd_limpia.csv", row.names = FALSE)
Variable_scrap<-c("Fecha", "Cantidad", "Ubicación_de_origen")
Type_scrap<-c("cualitativa", "cuantitativa discreta", "cualitativa")
Measurement_scrap <-c("NA", "cantidad generada", "NA")
table_scrap<-data.frame(Variable_scrap,Type_scrap, Measurement_scrap)
knitr::kable(table_scrap)
Variable_scrap | Type_scrap | Measurement_scrap |
---|---|---|
Fecha | cualitativa | NA |
Cantidad | cuantitativa discreta | cantidad generada |
Ubicación_de_origen | cualitativa | NA |
media_cantidad <- mean(scrap1$Cantidad)
media_cantidad
## [1] 6.692
mediana_cantidad <- median(scrap1$Cantidad)
mediana_cantidad
## [1] 2
mode <- function (x) {
ux <- unique(x)
ux [which.max(tabulate(match(x,ux)))]
}
mode_fecha1 <- mode(scrap1$Fecha)
mode_fecha1
## [1] "16/08/22"
mode_cantidad <- mode(scrap1$Cantidad)
mode_cantidad
## [1] 1
mode_ubicacion <- mode(scrap1$Ubicación.de.origen)
mode_ubicacion
## [1] "SAB/Pre-Production"
varianza_cantidad <- var(scrap1$Cantidad)
varianza_cantidad
## [1] 140.4309
desviacionestandar_cantidad <- sqrt(varianza_cantidad)
desviacionestandar_cantidad
## [1] 11.85035
Variable_scrap<-c("Fecha", "Cantidad", "Ubicación_de_origen")
Media_scrap<-c("NA", media_cantidad, "NA")
Mediana_scrap<-c("NA",mediana_cantidad, "NA")
Moda_scrap<-c(mode_fecha1, mode_cantidad, mode_ubicacion)
Varianza_scrap<-c("NA",varianza_cantidad, "NA")
Desviacion_Estandar_scrap<-c("NA", desviacionestandar_cantidad, "NA")
table_scrap<-data.frame(Variable_scrap,Media_scrap,Mediana_scrap,Moda_scrap,Varianza_scrap,Desviacion_Estandar_scrap)
knitr::kable(table_scrap)
Variable_scrap | Media_scrap | Mediana_scrap | Moda_scrap | Varianza_scrap | Desviacion_Estandar_scrap |
---|---|---|---|---|---|
Fecha | NA | NA | 16/08/22 | NA | NA |
Cantidad | 6.692 | 2 | 1 | 140.430859437751 | 11.8503527136432 |
Ubicación_de_origen | NA | NA | SAB/Pre-Production | NA | NA |
pie(table(scrap1$Ubicación.de.origen))
# install.packages("ggplot2")
library(ggplot2)
ggplot(scrap1, aes(x=Ubicación.de.origen, y=Cantidad)) +
geom_bar(stat="identity", fill="brown") + scale_fill_grey() + # Add bars to the plot
labs(title = "Donde se genera el scrap", # Add a title
subtitle = "RH empresa FORM", # Add a subtitle
caption = "Relación", # Add a caption
x = "Ubicación de origen")
# file.choose()
bd_externa <-read.csv("/Users/mayracampoyramos/Desktop/Analisis de Datos Concentracion/Reto/Producción de cartón en México 1.csv")
externa <- bd_externa
externa <- subset (externa,select = -c(Industry.Group.ID))
summary(externa)
## State.ID State Region Industry.Group
## Min. : 1.00 Length:999 Min. :1.000 Length:999
## 1st Qu.:10.75 Class :character 1st Qu.:1.000 Class :character
## Median :18.00 Mode :character Median :2.000 Mode :character
## Mean :17.62 Mean :2.333
## 3rd Qu.:25.25 3rd Qu.:3.000
## Max. :31.00 Max. :4.000
## NA's :975 NA's :975
## Economic.Unit
## Min. : 1.00
## 1st Qu.: 1.75
## Median : 5.00
## Mean : 13.17
## 3rd Qu.: 8.75
## Max. :151.00
## NA's :975
#?Cuantos NA tengo en la base de datos?
sum(is.na(externa))
## [1] 2925
#?Cuantos NA tengo por variable?
sapply(externa, function(x) sum (is.na(x)))
## State.ID State Region Industry.Group Economic.Unit
## 975 0 975 0 975
#Borrar todos los registros NA de una tabla
externa1 <- externa
externa1 <- na.omit(externa1)
summary(externa1)
## State.ID State Region Industry.Group
## Min. : 1.00 Length:24 Min. :1.000 Length:24
## 1st Qu.:10.75 Class :character 1st Qu.:1.000 Class :character
## Median :18.00 Mode :character Median :2.000 Mode :character
## Mean :17.62 Mean :2.333
## 3rd Qu.:25.25 3rd Qu.:3.000
## Max. :31.00 Max. :4.000
## Economic.Unit
## Min. : 1.00
## 1st Qu.: 1.75
## Median : 5.00
## Mean : 13.17
## 3rd Qu.: 8.75
## Max. :151.00
media_region <- mean(externa1$Region)
media_region
## [1] 2.333333
media_economic <- mean(externa1$Economic.Unit)
media_economic
## [1] 13.16667
mediana_region <- median(externa1$Region)
mediana_region
## [1] 2
mediana_economic <- median(externa1$Economic.Unit)
mediana_economic
## [1] 5
mode <- function (x) {
ux <- unique(x)
ux [which.max(tabulate(match(x,ux)))]
}
mode_state <- mode(externa1$State.ID)
mode_state
## [1] 1
mode_region <- mode(externa1$Region)
mode_region
## [1] 1
mode_economic <- mode(externa1$Economic.Unit)
mode_economic
## [1] 1
varianza_region <- var(externa1$Region)
varianza_region
## [1] 1.188406
varianza_economic <- var(externa1$Economic.Unit)
varianza_economic
## [1] 946.1449
desviacionestandar_region <- sqrt(varianza_region)
desviacionestandar_region
## [1] 1.09014
desviacionestandar_economic <- sqrt(varianza_economic)
desviacionestandar_economic
## [1] 30.75947
Variable_externa<-c("State.ID", "Region", "Economic.Unit")
Media_externa<-c("NA", media_region, media_economic)
Mediana_externa<-c("NA",mediana_region, mediana_economic)
Moda_externa<-c(mode_state, mode_region, mode_economic)
Varianza_externa<-c("NA",varianza_region, varianza_economic)
Desviacion_Estandar_externa<-c("NA", desviacionestandar_region, desviacionestandar_economic)
table_externa<-data.frame(Variable_externa,Media_externa,Mediana_externa,Moda_externa,Varianza_externa,Desviacion_Estandar_externa)
knitr::kable(table_externa)
Variable_externa | Media_externa | Mediana_externa | Moda_externa | Varianza_externa | Desviacion_Estandar_externa |
---|---|---|---|---|---|
State.ID | NA | NA | 1 | NA | NA |
Region | 2.33333333333333 | 2 | 1 | 1.18840579710145 | 1.09014026487487 |
Economic.Unit | 13.1666666666667 | 5 | 1 | 946.144927536232 | 30.7594689085529 |
ggplot(externa1, aes(x =Region, y =Economic.Unit)) +
geom_point(shape=19, size=3) +
labs(title = "Relación entre Unidades Economicas y Region de Mexico",caption ="Base de Externa",x="Region", y="Economic Unit") +
theme_classic()
ggplot(externa1 ,aes(x=reorder(Region, Economic.Unit), y=Economic.Unit ,fill=State)) +
geom_bar(stat="identity")
#file.choose()
bd_prediccion <- read.csv("/Users/mayracampoyramos/Desktop/Analisis de Datos Concentracion/encoded-bd_prediccion.csv")
vehiculos_circulacion <- read.csv("/Users/mayracampoyramos/Desktop/Analisis de Datos Concentracion/encoded-vehiculos_en_circulacion (2).csv")
produccion <- read.csv("/Users/mayracampoyramos/Desktop/Analisis de Datos Concentracion/bd_produccion_limpia (1).csv")
#install.packages("tseries")
library(tseries)
#install.packages("forecast")
library(forecast)
#install.packages("astsa")
library(astsa)
#install.packages("dplyr")
library(dplyr)
#install.packages("jtools")
library(jtools)
#install.packages("lmtest")
library(lmtest)
#install.packages("car")
library(car)
#install.packages("olsrr")
library(olsrr)
#install.packages("corrplot")
library(corrplot)
summary(vehiculos_circulacion)
## Año Total Automóviles
## Length:47 Min. : 4010430 Min. : 3950042
## Class :character 1st Qu.: 6748523 1st Qu.: 6654340
## Mode :character Median :11002046 Median :10764080
## Mean :14899354 Mean :14673142
## 3rd Qu.:22392796 3rd Qu.:22068938
## Max. :35913468 Max. :35460804
## NA's :5 NA's :5
## Camiones.para.pasajeros Camiones.y.camionetas.para.carga Motocicletas
## Min. : 60388 Min. : 1470816 Min. : 128960
## 1st Qu.: 90931 1st Qu.: 3046906 1st Qu.: 248248
## Median :233490 Median : 5166812 Median : 295262
## Mean :226212 Mean : 5920971 Mean :1156467
## 3rd Qu.:336420 3rd Qu.: 9199181 3rd Qu.:1284405
## Max. :461089 Max. :11262666 Max. :5939262
## NA's :5 NA's :5 NA's :5
## X X.1
## Mode:logical Mode:logical
## NA's:47 NA's:47
##
##
##
##
##
str(vehiculos_circulacion)
## 'data.frame': 47 obs. of 8 variables:
## $ Año : chr "1980" "1981" "1982" "1983" ...
## $ Total : int 4010430 4406336 4686130 4797562 5047043 5360870 5286295 5420592 5682964 6093682 ...
## $ Automóviles : int 3950042 4341363 4616897 4726236 4970526 5281842 5202922 5336228 5597735 6003532 ...
## $ Camiones.para.pasajeros : int 60388 64973 69233 71326 76517 79028 83373 84364 85229 90150 ...
## $ Camiones.y.camionetas.para.carga: int 1470816 1636899 1751799 1893206 2009875 2114395 2213025 2292078 2424025 2691551 ...
## $ Motocicletas : int 277084 296601 257235 250484 248148 250358 232692 221059 217898 223815 ...
## $ X : logi NA NA NA NA NA NA ...
## $ X.1 : logi NA NA NA NA NA NA ...
vehiculos_circulacion1 <- subset(vehiculos_circulacion, select = -c (Camiones.y.camionetas.para.carga, Motocicletas, X, X.1))
vehiculos_circulacion1
## Año
## 1 1980
## 2 1981
## 3 1982
## 4 1983
## 5 1984
## 6 1985
## 7 1986
## 8 1987
## 9 1988
## 10 1989
## 11 1990
## 12 1991
## 13 1992
## 14 1993
## 15 1994
## 16 1995
## 17 1996
## 18 1997
## 19 1998
## 20 1999
## 21 2000
## 22 2001
## 23 2002
## 24 2003
## 25 2004
## 26 2005
## 27 2006
## 28 2007
## 29 2008
## 30 2009
## 31 2010
## 32 2011
## 33 2012
## 34 2013
## 35 2014
## 36 2015
## 37 2016
## 38 2017
## 39 2018
## 40 2019
## 41 2020
## 42 2021
## 43
## 44
## 45
## 46 FUENTE: INEGI. Estadísticas de vehículos de motor registrados en circulación.
## 47
## Total Automóviles Camiones.para.pasajeros
## 1 4010430 3950042 60388
## 2 4406336 4341363 64973
## 3 4686130 4616897 69233
## 4 4797562 4726236 71326
## 5 5047043 4970526 76517
## 6 5360870 5281842 79028
## 7 5286295 5202922 83373
## 8 5420592 5336228 84364
## 9 5682964 5597735 85229
## 10 6093682 6003532 90150
## 11 6648825 6555550 93275
## 12 7047618 6950708 96910
## 13 7494357 7399178 95179
## 14 7801892 7715951 85941
## 15 7332309 7217732 114577
## 16 7590001 7469504 120497
## 17 7927797 7830864 96933
## 18 8528440 8402995 125445
## 19 9262652 9086209 176443
## 20 9783153 9582796 200357
## 21 10378575 10176179 202396
## 22 11625518 11351982 273536
## 23 12554275 12254910 299365
## 24 13050150 12742049 308101
## 25 13652596 13388011 264585
## 26 14569197 14300380 268817
## 27 16722002 16411813 310189
## 28 18018701 17696623 322078
## 29 19754229 19420942 333287
## 30 20856689 20519224 337465
## 31 21465511 21152773 312738
## 32 22701891 22374326 327565
## 33 23908143 23569623 338520
## 34 25167066 24819922 347144
## 35 25891628 25543908 347720
## 36 27265446 26907994 357452
## 37 29032067 28664295 367772
## 38 31359162 30958042 401120
## 39 32733646 32290067 443579
## 40 34057197 33603591 453606
## 41 34886784 34425695 461089
## 42 35913468 35460804 452664
## 43 NA NA NA
## 44 NA NA NA
## 45 NA NA NA
## 46 NA NA NA
## 47 NA NA NA
vehiculos_circulacion2 <- vehiculos_circulacion1[-c(43,44,45,46,47),]
vehiculos_circulacion2
## Año Total Automóviles Camiones.para.pasajeros
## 1 1980 4010430 3950042 60388
## 2 1981 4406336 4341363 64973
## 3 1982 4686130 4616897 69233
## 4 1983 4797562 4726236 71326
## 5 1984 5047043 4970526 76517
## 6 1985 5360870 5281842 79028
## 7 1986 5286295 5202922 83373
## 8 1987 5420592 5336228 84364
## 9 1988 5682964 5597735 85229
## 10 1989 6093682 6003532 90150
## 11 1990 6648825 6555550 93275
## 12 1991 7047618 6950708 96910
## 13 1992 7494357 7399178 95179
## 14 1993 7801892 7715951 85941
## 15 1994 7332309 7217732 114577
## 16 1995 7590001 7469504 120497
## 17 1996 7927797 7830864 96933
## 18 1997 8528440 8402995 125445
## 19 1998 9262652 9086209 176443
## 20 1999 9783153 9582796 200357
## 21 2000 10378575 10176179 202396
## 22 2001 11625518 11351982 273536
## 23 2002 12554275 12254910 299365
## 24 2003 13050150 12742049 308101
## 25 2004 13652596 13388011 264585
## 26 2005 14569197 14300380 268817
## 27 2006 16722002 16411813 310189
## 28 2007 18018701 17696623 322078
## 29 2008 19754229 19420942 333287
## 30 2009 20856689 20519224 337465
## 31 2010 21465511 21152773 312738
## 32 2011 22701891 22374326 327565
## 33 2012 23908143 23569623 338520
## 34 2013 25167066 24819922 347144
## 35 2014 25891628 25543908 347720
## 36 2015 27265446 26907994 357452
## 37 2016 29032067 28664295 367772
## 38 2017 31359162 30958042 401120
## 39 2018 32733646 32290067 443579
## 40 2019 34057197 33603591 453606
## 41 2020 34886784 34425695 461089
## 42 2021 35913468 35460804 452664
summary(vehiculos_circulacion2)
## Año Total Automóviles
## Length:42 Min. : 4010430 Min. : 3950042
## Class :character 1st Qu.: 6748523 1st Qu.: 6654340
## Mode :character Median :11002046 Median :10764080
## Mean :14899354 Mean :14673142
## 3rd Qu.:22392796 3rd Qu.:22068938
## Max. :35913468 Max. :35460804
## Camiones.para.pasajeros
## Min. : 60388
## 1st Qu.: 90931
## Median :233490
## Mean :226212
## 3rd Qu.:336420
## Max. :461089
plot(vehiculos_circulacion2$Año,vehiculos_circulacion2$Total, type="l",col="blue", lwd=1.5, xlab ="Año",ylab ="Unidades", main = "Vehiculos de motor en circulación registrados anualmente")
lines(vehiculos_circulacion2$Año,vehiculos_circulacion2$Automóviles,col="red",lty=3)
legend("topleft", legend=c("Total de vehiculos en circulación", "Automóviles en circulación"),
col=c("blue", "red"), lty = 1:2, cex=0.8)
autoregressive_model <- arma(vehiculos_circulacion2$Total, order = c(1,0))
summary(autoregressive_model <- arma(vehiculos_circulacion2$Total, order = c(1,0)))
##
## Call:
## arma(x = vehiculos_circulacion2$Total, order = c(1, 0))
##
## Model:
## ARMA(1,0)
##
## Residuals:
## Min 1Q Median 3Q Max
## -964598 -203485 -37324 133579 1366807
##
## Coefficient(s):
## Estimate Std. Error t value Pr(>|t|)
## ar1 1.043e+00 3.792e-03 275 <2e-16 ***
## intercept 1.595e+05 NaN NaN NaN
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Fit:
## sigma^2 estimated as 1.852e+11, Conditional Sum-of-Squares = 7.406257e+12, AIC = 1212.86
autoregressive_model_forecast<-forecast(autoregressive_model$fitted,h=5,level=c(95))
autoregressive_model_forecast
## Point Forecast Lo 95 Hi 95
## 43 37884281 35240406 40528155
## 44 39222087 34802632 43641541
## 45 40559893 34284299 46835486
## 46 41897698 33625820 50169577
## 47 43235504 32811356 53659653
plot(autoregressive_model_forecast)
mam_circulacion <- arma(vehiculos_circulacion2$Total,order = c(1,1))
summary(mam_circulacion <- arma(vehiculos_circulacion2$Total,order = c(1,1)))
##
## Call:
## arma(x = vehiculos_circulacion2$Total, order = c(1, 1))
##
## Model:
## ARMA(1,1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -907766 -184323 -41323 113291 1305470
##
## Coefficient(s):
## Estimate Std. Error t value Pr(>|t|)
## ar1 1.042e+00 4.680e-03 222.585 < 2e-16 ***
## ma1 3.442e-01 1.237e-01 2.783 0.00539 **
## intercept 1.767e+05 NaN NaN NaN
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Fit:
## sigma^2 estimated as 1.598e+11, Conditional Sum-of-Squares = 6.391897e+12, AIC = 1208.67
mam_circulacion_forecast <- forecast(mam_circulacion$fitted,h=5,level=c(95))
mam_circulacion_forecast
## Point Forecast Lo 95 Hi 95
## 43 37635019 34318781 40951258
## 44 38948870 33832084 44065655
## 45 40262720 33315250 47210190
## 46 41576570 32704146 50448994
## 47 42890421 31977035 53803806
plot(mam_circulacion_forecast)
summary(produccion)
## fecha cliente piezas_prog tmo_min
## Length:3985 Length:3985 Min. : 0.0 Min. : 0.00
## Class :character Class :character 1st Qu.: 0.0 1st Qu.: 15.00
## Mode :character Mode :character Median : 51.0 Median : 20.00
## Mean : 102.1 Mean : 21.89
## 3rd Qu.: 184.0 3rd Qu.: 25.00
## Max. :1263.0 Max. :150.00
## estacion_arranque laminas_procesadas tiempo_calidad
## Length:3985 Min. : 0.0 Min. : 0.0000
## Class :character 1st Qu.: 0.0 1st Qu.: 1.0000
## Mode :character Median : 51.0 Median : 1.0000
## Mean : 102.1 Mean : 0.8754
## 3rd Qu.: 184.0 3rd Qu.: 1.0000
## Max. :1263.0 Max. :22.0000
str(produccion)
## 'data.frame': 3985 obs. of 7 variables:
## $ fecha : chr "16/07/2022" "22/07/2022" "28/07/2022" "12/08/2022" ...
## $ cliente : chr "TRMX" "STABILUS 3" "STABILUS 3" "TRMX" ...
## $ piezas_prog : int 3 2 2 1 1 1 0 2 5 5 ...
## $ tmo_min : int 10 10 10 10 10 10 10 10 10 10 ...
## $ estacion_arranque : chr "C1Y2" "C1Y2" "C1Y2" "C1" ...
## $ laminas_procesadas: int 3 2 2 1 1 1 0 2 5 5 ...
## $ tiempo_calidad : num 1 1 2 1 1 1 0 0 1 1 ...
produccion$cliente <- as.factor(produccion$cliente)
str(produccion)
## 'data.frame': 3985 obs. of 7 variables:
## $ fecha : chr "16/07/2022" "22/07/2022" "28/07/2022" "12/08/2022" ...
## $ cliente : Factor w/ 13 levels "DENSO","HANON SYSTEMS",..: 9 7 7 9 9 1 3 10 10 6 ...
## $ piezas_prog : int 3 2 2 1 1 1 0 2 5 5 ...
## $ tmo_min : int 10 10 10 10 10 10 10 10 10 10 ...
## $ estacion_arranque : chr "C1Y2" "C1Y2" "C1Y2" "C1" ...
## $ laminas_procesadas: int 3 2 2 1 1 1 0 2 5 5 ...
## $ tiempo_calidad : num 1 1 2 1 1 1 0 0 1 1 ...
summary(produccion)
## fecha cliente piezas_prog tmo_min
## Length:3985 STABILUS 1:1343 Min. : 0.0 Min. : 0.00
## Class :character TRMX : 686 1st Qu.: 0.0 1st Qu.: 15.00
## Mode :character STABILUS 3: 599 Median : 51.0 Median : 20.00
## YANFENG : 431 Mean : 102.1 Mean : 21.89
## DENSO : 399 3rd Qu.: 184.0 3rd Qu.: 25.00
## (Other) : 526 Max. :1263.0 Max. :150.00
## NA's : 1
## estacion_arranque laminas_procesadas tiempo_calidad
## Length:3985 Min. : 0.0 Min. : 0.0000
## Class :character 1st Qu.: 0.0 1st Qu.: 1.0000
## Mode :character Median : 51.0 Median : 1.0000
## Mean : 102.1 Mean : 0.8754
## 3rd Qu.: 184.0 3rd Qu.: 1.0000
## Max. :1263.0 Max. :22.0000
##
produccion1 <- produccion
produccion1<- produccion1[-c(624),]
summary (produccion1)
## fecha cliente piezas_prog tmo_min
## Length:3984 STABILUS 1:1343 Min. : 0.0 Min. : 0.00
## Class :character TRMX : 686 1st Qu.: 0.0 1st Qu.: 15.00
## Mode :character STABILUS 3: 599 Median : 51.0 Median : 20.00
## YANFENG : 431 Mean : 102.1 Mean : 21.89
## DENSO : 399 3rd Qu.: 184.0 3rd Qu.: 25.00
## VARROC : 269 Max. :1263.0 Max. :150.00
## (Other) : 257
## estacion_arranque laminas_procesadas tiempo_calidad
## Length:3984 Min. : 0.0 Min. : 0.0000
## Class :character 1st Qu.: 0.0 1st Qu.: 1.0000
## Mode :character Median : 51.0 Median : 1.0000
## Mean : 102.1 Mean : 0.8754
## 3rd Qu.: 184.0 3rd Qu.: 1.0000
## Max. :1263.0 Max. :22.0000
##
autoregressive_model_produccion <- arma(produccion1$piezas_prog, order = c(1,0))
summary(autoregressive_model_produccion <- arma(produccion1$piezas_prog, order = c(1,0)))
##
## Call:
## arma(x = produccion1$piezas_prog, order = c(1, 0))
##
## Model:
## ARMA(1,0)
##
## Residuals:
## Min 1Q Median 3Q Max
## -645.89 -52.84 -30.07 50.72 1191.16
##
## Coefficient(s):
## Estimate Std. Error t value Pr(>|t|)
## ar1 0.48255 0.01388 34.77 <2e-16 ***
## intercept 52.84244 2.34226 22.56 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Fit:
## sigma^2 estimated as 13861, Conditional Sum-of-Squares = 55195736, AIC = 49304.94
autoregressive_model_produccion_forecast<-forecast(autoregressive_model_produccion$fitted,h=5,level=c(95))
autoregressive_model_produccion_forecast
## Point Forecast Lo 95 Hi 95
## 3985 82.70478 3.234460 162.1751
## 3986 82.70478 3.191276 162.2183
## 3987 82.70478 3.148106 162.2614
## 3988 82.70478 3.104950 162.3046
## 3989 82.70478 3.061809 162.3477
plot(autoregressive_model_produccion_forecast)
mam_produccion <- arma(produccion1$piezas_prog,order = c(1,1))
summary(mam_produccion <- arma(produccion1$piezas_prog,order = c(1,1)))
##
## Call:
## arma(x = produccion1$piezas_prog, order = c(1, 1))
##
## Model:
## ARMA(1,1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -791.67 -53.47 -22.33 37.73 1208.91
##
## Coefficient(s):
## Estimate Std. Error t value Pr(>|t|)
## ar1 0.83882 0.02370 35.400 < 2e-16 ***
## ma1 -0.51985 0.04204 -12.365 < 2e-16 ***
## intercept 16.48077 2.57279 6.406 1.5e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Fit:
## sigma^2 estimated as 13444, Conditional Sum-of-Squares = 53534365, AIC = 49185.18
mam_produccion_forecast <- forecast(mam_produccion$fitted,h=5,level=c(95))
mam_produccion_forecast
## Point Forecast Lo 95 Hi 95
## 3985 165.7268 90.147513 241.3062
## 3986 165.7268 59.600542 271.8531
## 3987 165.7268 36.060547 295.3931
## 3988 165.7268 16.181181 315.2725
## 3989 165.7268 -1.349372 332.8031
plot(mam_produccion_forecast)
summary(bd_prediccion)
## Año Mes Venta Producción
## Min. :2006 Min. : 1.00 Min. : 34927 Min. : 3722
## 1st Qu.:2010 1st Qu.: 3.00 1st Qu.: 78543 1st Qu.:189031
## Median :2014 Median : 6.00 Median : 88580 Median :248433
## Mean :2014 Mean : 6.42 Mean : 94178 Mean :241511
## 3rd Qu.:2018 3rd Qu.: 9.00 3rd Qu.:110134 3rd Qu.:292709
## Max. :2022 Max. :12.00 Max. :192741 Max. :382110
## NA's :2 NA's :2 NA's :2 NA's :2
## Exportación Tipo.de.cambio Inflación porcentaje_ocu
## Min. : 15139 Min. :10.09 Min. :-0.250 Min. :93.58
## 1st Qu.:153219 1st Qu.:12.66 1st Qu.: 0.815 1st Qu.:95.06
## Median :209160 Median :13.56 Median : 1.480 Median :95.88
## Mean :201664 Mean :15.48 Mean : 1.951 Mean :95.76
## 3rd Qu.:243900 3rd Qu.:19.10 3rd Qu.: 2.895 3rd Qu.:96.47
## Max. :327454 Max. :24.24 Max. : 7.360 Max. :97.16
## NA's :2 NA's :2 NA's :2 NA's :2
## porcentaje_desocu conf_consumidor
## Min. :2.840 Min. :28.67
## 1st Qu.:3.527 1st Qu.:36.69
## Median :4.125 Median :38.47
## Mean :4.244 Mean :39.15
## 3rd Qu.:4.940 3rd Qu.:42.59
## Max. :6.420 Max. :47.83
## NA's :2 NA's :2
str(bd_prediccion)
## 'data.frame': 202 obs. of 10 variables:
## $ Año : int 2006 2006 2006 2006 2006 2006 2006 2006 2006 2006 ...
## $ Mes : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Venta : int 96227 89079 96871 77879 86462 87084 83069 90937 92083 97469 ...
## $ Producción : int 155291 166830 192643 132212 171557 194327 118602 179527 164577 179897 ...
## $ Exportación : int 112165 121001 153877 115798 131578 156008 85752 136114 125918 132470 ...
## $ Tipo.de.cambio : num 10.6 10.5 10.7 11 11.1 ...
## $ Inflación : num 0.59 0.74 0.87 1.01 0.56 0.65 0.93 1.44 2.47 2.91 ...
## $ porcentaje_ocu : num 96.5 96.2 96.7 96.8 97.2 ...
## $ porcentaje_desocu: num 3.48 3.75 3.31 3.2 2.84 3.26 4.01 3.87 4 3.82 ...
## $ conf_consumidor : num 43.9 43.9 45.6 44.8 44.7 ...
bd_prediccion1 <- subset(bd_prediccion, select = -c (Producción))
bd_prediccion1
## Año Mes Venta Exportación Tipo.de.cambio Inflación porcentaje_ocu
## 1 2006 1 96227 112165 10.56964 0.59 96.52
## 2 2006 2 89079 121001 10.48426 0.74 96.25
## 3 2006 3 96871 153877 10.69772 0.87 96.69
## 4 2006 4 77879 115798 11.02994 1.01 96.80
## 5 2006 5 86462 131578 11.07152 0.56 97.16
## 6 2006 6 87084 156008 11.38702 0.65 96.74
## 7 2006 7 83069 85752 11.03922 0.93 95.99
## 8 2006 8 90937 136114 10.87617 1.44 96.13
## 9 2006 9 92083 125918 10.97558 2.47 96.00
## 10 2006 10 97469 132470 10.91245 2.91 96.18
## 11 2006 11 102201 152396 10.87905 3.45 96.50
## 12 2006 12 140375 113718 10.87084 4.05 96.68
## 13 2007 1 97675 88915 10.93192 0.52 95.95
## 14 2007 2 86060 111084 10.98198 0.80 95.95
## 15 2007 3 96487 138877 11.12237 1.02 96.27
## 16 2007 4 75020 110462 10.99081 0.96 96.49
## 17 2007 5 84756 140387 10.83582 0.46 96.85
## 18 2007 6 80462 153243 10.83519 0.58 96.72
## 19 2007 7 83105 129581 10.79959 1.01 96.21
## 20 2007 8 88573 168210 11.04243 1.42 96.17
## 21 2007 9 86547 156237 11.03762 2.21 96.24
## 22 2007 10 97182 144970 10.84063 2.61 96.23
## 23 2007 11 97694 149964 10.85821 3.33 96.65
## 24 2007 12 126329 121383 10.85206 3.76 96.89
## 25 2008 1 96846 118416 10.91741 0.46 95.88
## 26 2008 2 86997 140501 10.78461 0.76 96.11
## 27 2008 3 80119 129405 10.73085 1.49 96.39
## 28 2008 4 83106 144234 10.52556 1.72 96.52
## 29 2008 5 85827 150514 10.45804 1.61 96.71
## 30 2008 6 81424 153345 10.32862 2.03 96.63
## 31 2008 7 85324 122144 10.23761 2.60 95.87
## 32 2008 8 86119 143464 10.09196 3.20 95.94
## 33 2008 9 76620 144454 10.60434 3.90 95.86
## 34 2008 10 83307 167497 12.48947 4.61 95.83
## 35 2008 11 78555 138439 13.09469 5.80 95.68
## 36 2008 12 101300 109206 13.37363 6.53 95.98
## 37 2009 1 69664 51061 13.86394 0.23 94.99
## 38 2009 2 61579 77833 14.50219 0.45 94.76
## 39 2009 3 64242 101830 14.72083 1.03 95.34
## 40 2009 4 51395 85121 13.47903 1.38 94.94
## 41 2009 5 53440 83910 13.25065 1.09 94.77
## 42 2009 6 55974 84934 13.34374 1.28 95.02
## 43 2009 7 56443 90872 13.36679 1.55 94.18
## 44 2009 8 58926 111273 13.01394 1.79 93.85
## 45 2009 9 58505 117433 13.40757 2.30 93.58
## 46 2009 10 67882 145761 13.25259 2.61 94.33
## 47 2009 11 64914 134873 13.13145 3.15 94.89
## 48 2009 12 91961 138432 12.85556 3.57 95.27
## 49 2010 1 64064 114193 12.83263 1.09 94.24
## 50 2010 2 59518 153148 12.96185 1.67 94.72
## 51 2010 3 65414 163641 12.60465 2.39 95.26
## 52 2010 4 60432 133406 12.26208 2.07 94.65
## 53 2010 5 61632 145909 12.68247 1.42 95.00
## 54 2010 6 59910 177575 12.71818 1.39 95.08
## 55 2010 7 61960 143521 12.83341 1.61 94.41
## 56 2010 8 66931 175904 12.72952 1.89 94.58
## 57 2010 9 65934 169507 12.86421 2.43 94.34
## 58 2010 10 74095 166931 12.45569 3.06 94.52
## 59 2010 11 75582 168226 12.31381 3.89 94.83
## 60 2010 12 104941 147551 12.40058 4.40 95.06
## 61 2011 1 68767 165045 12.15321 0.49 94.66
## 62 2011 2 66990 155808 12.07712 0.86 94.66
## 63 2011 3 75125 192783 12.01917 1.06 95.36
## 64 2011 4 65246 141334 11.75536 1.05 94.87
## 65 2011 5 68634 176951 11.65234 0.30 94.82
## 66 2011 6 68366 188223 11.80157 0.30 94.60
## 67 2011 7 68533 196835 11.67069 0.78 94.52
## 68 2011 8 75681 170086 12.20000 0.94 94.29
## 69 2011 9 73998 193590 13.08912 1.19 94.57
## 70 2011 10 75748 192244 13.46868 1.87 95.01
## 71 2011 11 83107 199665 13.63712 2.97 95.04
## 72 2011 12 115698 171319 13.74813 3.82 95.49
## 73 2012 1 75297 156417 13.48802 0.71 95.12
## 74 2012 2 74704 197600 12.80356 0.91 94.72
## 75 2012 3 83574 226555 12.75781 0.97 95.48
## 76 2012 4 69890 180545 13.02576 0.65 95.14
## 77 2012 5 80268 184302 13.53816 0.34 95.33
## 78 2012 6 78508 229089 13.97611 0.80 95.25
## 79 2012 7 76378 208151 13.39195 1.36 95.01
## 80 2012 8 83326 188392 13.18333 1.67 94.67
## 81 2012 9 79961 193350 13.00449 2.12 95.09
## 82 2012 10 83172 216576 12.86915 2.63 94.97
## 83 2012 11 91966 219864 12.86915 3.33 94.95
## 84 2012 12 110998 154724 12.87298 3.57 95.60
## 85 2013 1 84403 178562 12.71282 0.40 94.59
## 86 2013 2 80285 175338 12.71638 0.90 95.25
## 87 2013 3 82860 204475 12.40242 1.64 95.52
## 88 2013 4 83647 185548 12.21560 1.70 95.04
## 89 2013 5 87638 191205 12.23945 1.37 95.09
## 90 2013 6 83858 225753 12.95020 1.30 95.00
## 91 2013 7 86760 192940 12.76920 1.27 94.87
## 92 2013 8 88586 226893 12.88348 1.56 94.82
## 93 2013 9 78555 215962 13.08974 1.94 94.69
## 94 2013 10 88416 240316 13.02170 2.43 94.99
## 95 2013 11 100571 224873 13.06409 3.38 95.52
## 96 2013 12 119519 161208 13.00105 3.97 95.73
## 97 2014 1 85614 177928 13.20104 0.89 94.93
## 98 2014 2 80037 197504 13.29067 1.15 95.34
## 99 2014 3 85767 230772 13.21485 1.43 95.20
## 100 2014 4 76941 202328 13.07712 1.24 95.15
## 101 2014 5 88388 234629 12.95623 0.91 95.06
## 102 2014 6 84207 230410 12.97570 1.09 95.18
## 103 2014 7 96366 231934 12.97300 1.37 94.53
## 104 2014 8 103994 226757 13.15002 1.73 94.81
## 105 2014 9 89313 220239 13.21131 2.18 94.91
## 106 2014 10 101090 257382 13.47454 2.74 95.22
## 107 2014 11 111837 237923 13.59030 3.57 95.47
## 108 2014 12 133411 195091 14.45304 4.08 96.24
## 109 2015 1 103805 204907 14.67395 -0.09 95.49
## 110 2015 2 97659 222351 14.90437 0.10 95.67
## 111 2015 3 105034 261256 15.20997 0.51 96.14
## 112 2015 4 94953 233515 15.22746 0.25 95.69
## 113 2015 5 102156 240709 15.25361 -0.25 95.55
## 114 2015 6 107097 242720 15.45056 -0.09 95.59
## 115 2015 7 111863 226511 15.87623 0.06 95.28
## 116 2015 8 112307 234668 16.50888 0.27 95.32
## 117 2015 9 111705 216587 16.83229 0.65 95.50
## 118 2015 10 120214 245224 16.59932 1.16 95.45
## 119 2015 11 126750 223797 16.63219 1.72 96.04
## 120 2015 12 160901 206651 17.01278 2.13 96.04
## 121 2016 1 119833 213244 17.94565 0.38 95.74
## 122 2016 2 111126 219670 18.45920 0.82 95.86
## 123 2016 3 117252 224184 17.67208 0.97 96.25
## 124 2016 4 118754 197020 17.48096 0.65 96.20
## 125 2016 5 121879 226240 18.05380 0.20 95.99
## 126 2016 6 134913 247005 18.62127 0.31 96.08
## 127 2016 7 132109 225530 18.58811 0.57 96.00
## 128 2016 8 134388 262673 18.46011 0.86 96.02
## 129 2016 9 131888 235612 19.11921 1.47 95.88
## 130 2016 10 137503 255115 18.97319 2.09 96.33
## 131 2016 11 154779 245330 19.96946 2.89 96.50
## 132 2016 12 192741 216645 20.54282 3.36 96.62
## 133 2017 1 123447 219061 21.39550 1.70 96.40
## 134 2017 2 118193 248288 20.35246 2.29 96.66
## 135 2017 3 137245 305403 19.41648 2.92 96.81
## 136 2017 4 114938 240141 18.78122 3.04 96.53
## 137 2017 5 123429 269067 18.79971 2.92 96.45
## 138 2017 6 127752 287979 18.20815 3.18 96.71
## 139 2017 7 122678 258557 17.85459 3.57 96.58
## 140 2017 8 125985 276108 17.80650 4.08 96.48
## 141 2017 9 116716 286400 17.80554 4.41 96.41
## 142 2017 10 123602 303514 18.71362 5.06 96.49
## 143 2017 11 141724 290569 18.98973 6.15 96.59
## 144 2017 12 159234 268772 19.10129 6.77 96.85
## 145 2018 1 109445 231088 19.02896 0.53 96.64
## 146 2018 2 109846 271228 18.61594 0.91 96.83
## 147 2018 3 119127 317398 18.65489 1.24 97.06
## 148 2018 4 109748 271048 18.34659 0.90 96.61
## 149 2018 5 115155 288659 19.45515 0.73 96.78
## 150 2018 6 120298 315130 20.31281 1.12 96.63
## 151 2018 7 115047 247367 19.09664 1.66 96.53
## 152 2018 8 119487 322779 18.80423 2.26 96.54
## 153 2018 9 114888 306009 19.03592 2.69 96.42
## 154 2018 10 117602 313471 19.09212 3.22 96.73
## 155 2018 11 134143 291018 20.25495 4.10 96.75
## 156 2018 12 142300 275962 20.15294 4.83 96.64
## 157 2019 1 111514 243652 19.22744 0.09 96.44
## 158 2019 2 104009 273173 19.18334 0.06 96.71
## 159 2019 3 117529 325703 19.24878 0.44 96.78
## 160 2019 4 98366 288756 19.01630 0.50 96.50
## 161 2019 5 102422 309017 19.09191 0.21 96.50
## 162 2019 6 106782 327454 19.26678 0.27 96.43
## 163 2019 7 106104 276818 19.06189 0.65 96.26
## 164 2019 8 108074 286075 19.58659 0.63 96.29
## 165 2019 9 100757 286806 19.60990 0.89 96.22
## 166 2019 10 107110 259158 19.36886 1.44 96.31
## 167 2019 11 124804 274845 19.30748 2.26 96.58
## 168 2019 12 130460 236848 19.16932 2.83 97.09
## 169 2020 1 104852 238749 18.81445 0.48 96.22
## 170 2020 2 104338 273634 18.77705 0.90 96.47
## 171 2020 3 87541 295199 21.97384 0.85 97.09
## 172 2020 4 34927 31183 24.23988 -0.17 95.31
## 173 2020 5 42034 15139 23.58032 0.22 95.81
## 174 2020 6 62861 198084 22.26918 0.76 94.51
## 175 2020 7 72921 264520 22.48030 1.43 94.65
## 176 2020 8 77120 264478 22.23107 1.82 94.74
## 177 2020 9 77808 257562 21.60516 2.06 94.87
## 178 2020 10 84351 280474 21.38085 2.68 95.29
## 179 2020 11 95707 287703 20.53330 2.76 95.65
## 180 2020 12 105603 275081 19.97817 3.15 96.21
## 181 2021 1 81657 223533 19.90262 0.86 95.30
## 182 2021 2 82863 213987 20.29248 1.50 95.60
## 183 2021 3 96319 256119 20.76205 2.34 96.13
## 184 2021 4 84287 234584 20.10944 2.67 95.35
## 185 2021 5 86710 242020 20.05320 2.88 96.01
## 186 2021 6 88688 234394 20.04272 3.43 95.98
## 187 2021 7 82157 202021 19.98552 4.04 95.62
## 188 2021 8 78235 212687 20.05125 4.24 95.67
## 189 2021 9 76930 195294 19.99092 4.88 95.82
## 190 2021 10 76640 224535 20.47244 5.76 96.05
## 191 2021 11 82829 240341 20.78256 6.97 96.34
## 192 2021 12 97420 227465 20.98530 7.36 96.49
## 193 2022 1 78585 216630 20.48354 0.59 96.29
## 194 2022 2 79598 201868 20.48437 1.43 96.26
## 195 2022 3 95199 262494 20.60089 2.43 97.03
## 196 2022 4 83459 241286 20.04452 2.98 96.97
## 197 2022 5 91215 244643 20.11331 3.17 96.73
## 198 2022 6 90368 237674 19.96650 4.04 96.65
## 199 2022 7 83137 210170 20.53081 4.81 96.57
## 200 2022 8 91124 248704 20.12613 5.54 96.47
## 201 NA NA NA NA NA NA NA
## 202 NA NA NA NA NA NA NA
## porcentaje_desocu conf_consumidor
## 1 3.48 43.9415
## 2 3.75 43.9100
## 3 3.31 45.6029
## 4 3.20 44.7854
## 5 2.84 44.6508
## 6 3.26 44.2339
## 7 4.01 44.8674
## 8 3.87 45.0383
## 9 4.00 45.0604
## 10 3.82 44.3016
## 11 3.50 43.1883
## 12 3.32 44.7871
## 13 4.05 42.7412
## 14 4.05 42.3778
## 15 3.73 43.5677
## 16 3.51 43.4415
## 17 3.15 43.7534
## 18 3.28 43.0694
## 19 3.79 42.9629
## 20 3.83 43.9863
## 21 3.76 43.0238
## 22 3.77 41.2666
## 23 3.35 40.8568
## 24 3.11 42.8202
## 25 4.12 42.1822
## 26 3.89 41.2208
## 27 3.61 41.8964
## 28 3.48 40.1531
## 29 3.29 38.9120
## 30 3.37 37.6903
## 31 4.13 36.7035
## 32 4.06 37.2616
## 33 4.14 36.6558
## 34 4.17 34.2078
## 35 4.32 34.9500
## 36 4.02 34.9987
## 37 5.01 34.4084
## 38 5.24 33.4023
## 39 4.66 33.4728
## 40 5.06 34.6003
## 41 5.23 33.1933
## 42 4.98 34.2256
## 43 5.82 36.0502
## 44 6.15 34.5306
## 45 6.42 34.4993
## 46 5.67 32.6096
## 47 5.11 33.1707
## 48 4.73 33.9865
## 49 5.76 34.8020
## 50 5.28 34.2586
## 51 4.74 34.6691
## 52 5.35 35.0361
## 53 5.00 35.5938
## 54 4.92 36.7799
## 55 5.59 36.9279
## 56 5.42 37.2006
## 57 5.66 38.3303
## 58 5.48 37.4086
## 59 5.17 37.1774
## 60 4.94 38.1767
## 61 5.34 38.4624
## 62 5.34 38.4413
## 63 4.64 38.3233
## 64 5.13 37.6265
## 65 5.18 37.3597
## 66 5.40 38.7674
## 67 5.48 39.7537
## 68 5.71 38.9023
## 69 5.43 38.4823
## 70 4.99 37.7094
## 71 4.96 37.4238
## 72 4.51 37.7149
## 73 4.88 39.3604
## 74 5.28 38.9804
## 75 4.52 38.8750
## 76 4.86 40.2245
## 77 4.67 39.7323
## 78 4.75 39.7133
## 79 4.99 41.1478
## 80 5.33 40.7832
## 81 4.91 39.3550
## 82 5.03 39.6293
## 83 5.05 39.1214
## 84 4.40 41.1395
## 85 5.41 41.6134
## 86 4.75 39.6882
## 87 4.48 39.9339
## 88 4.96 39.8361
## 89 4.91 39.4471
## 90 5.00 38.7706
## 91 5.13 40.6562
## 92 5.18 40.5308
## 93 5.31 39.1825
## 94 5.01 38.0775
## 95 4.48 36.9465
## 96 4.27 37.3707
## 97 5.07 35.5508
## 98 4.66 35.7346
## 99 4.80 37.1351
## 100 4.85 37.6101
## 101 4.94 37.7513
## 102 4.82 37.9049
## 103 5.47 37.5518
## 104 5.19 37.4502
## 105 5.09 38.2199
## 106 4.78 37.6935
## 107 4.53 38.4760
## 108 3.76 38.6914
## 109 4.51 38.0625
## 110 4.33 37.4911
## 111 3.86 38.5052
## 112 4.31 37.8429
## 113 4.45 38.0317
## 114 4.41 39.1119
## 115 4.72 38.1319
## 116 4.68 37.3836
## 117 4.50 37.4490
## 118 4.55 37.8131
## 119 3.96 38.1829
## 120 3.96 38.3685
## 121 4.26 38.1815
## 122 4.14 36.7321
## 123 3.75 36.8144
## 124 3.80 36.7139
## 125 4.01 37.4848
## 126 3.92 38.3491
## 127 4.00 36.5060
## 128 3.98 35.6554
## 129 4.12 34.7550
## 130 3.67 35.0319
## 131 3.50 34.8752
## 132 3.38 35.4784
## 133 3.60 28.6679
## 134 3.34 31.5156
## 135 3.19 33.7951
## 136 3.47 34.9345
## 137 3.55 35.8733
## 138 3.29 36.0104
## 139 3.42 36.4886
## 140 3.52 36.5055
## 141 3.59 36.7879
## 142 3.51 36.4370
## 143 3.41 36.7168
## 144 3.15 36.3155
## 145 3.36 34.8018
## 146 3.17 34.1893
## 147 2.94 34.3367
## 148 3.39 35.6116
## 149 3.22 36.6479
## 150 3.37 37.1483
## 151 3.47 43.3411
## 152 3.46 43.0057
## 153 3.58 42.1327
## 154 3.27 42.5330
## 155 3.25 41.6750
## 156 3.36 44.8654
## 157 3.56 45.9299
## 158 3.29 47.8261
## 159 3.22 46.3411
## 160 3.50 45.4850
## 161 3.50 44.3235
## 162 3.57 43.6658
## 163 3.74 43.3177
## 164 3.71 43.8192
## 165 3.78 45.2995
## 166 3.69 44.0597
## 167 3.42 43.8407
## 168 2.91 43.7574
## 169 3.78 44.1205
## 170 3.53 43.3299
## 171 2.91 42.0593
## 172 4.69 32.2235
## 173 4.19 31.0682
## 174 5.49 31.9572
## 175 5.35 34.4173
## 176 5.26 35.0648
## 177 5.13 36.2820
## 178 4.71 37.8912
## 179 4.35 37.0767
## 180 3.79 38.7487
## 181 4.70 39.2114
## 182 4.40 38.6401
## 183 3.87 40.5816
## 184 4.65 42.5091
## 185 3.99 42.4227
## 186 4.02 44.3477
## 187 4.38 44.2934
## 188 4.33 42.4746
## 189 4.18 43.3421
## 190 3.95 43.8431
## 191 3.66 45.9354
## 192 3.51 44.8964
## 193 3.71 43.5909
## 194 3.74 42.9401
## 195 2.97 43.5603
## 196 3.03 44.3017
## 197 3.27 43.7823
## 198 3.35 43.2086
## 199 3.43 41.2699
## 200 3.53 40.2979
## 201 NA NA
## 202 NA NA
bd_prediccion2 <- bd_prediccion1[-c(201, 202),]
bd_prediccion2
## Año Mes Venta Exportación Tipo.de.cambio Inflación porcentaje_ocu
## 1 2006 1 96227 112165 10.56964 0.59 96.52
## 2 2006 2 89079 121001 10.48426 0.74 96.25
## 3 2006 3 96871 153877 10.69772 0.87 96.69
## 4 2006 4 77879 115798 11.02994 1.01 96.80
## 5 2006 5 86462 131578 11.07152 0.56 97.16
## 6 2006 6 87084 156008 11.38702 0.65 96.74
## 7 2006 7 83069 85752 11.03922 0.93 95.99
## 8 2006 8 90937 136114 10.87617 1.44 96.13
## 9 2006 9 92083 125918 10.97558 2.47 96.00
## 10 2006 10 97469 132470 10.91245 2.91 96.18
## 11 2006 11 102201 152396 10.87905 3.45 96.50
## 12 2006 12 140375 113718 10.87084 4.05 96.68
## 13 2007 1 97675 88915 10.93192 0.52 95.95
## 14 2007 2 86060 111084 10.98198 0.80 95.95
## 15 2007 3 96487 138877 11.12237 1.02 96.27
## 16 2007 4 75020 110462 10.99081 0.96 96.49
## 17 2007 5 84756 140387 10.83582 0.46 96.85
## 18 2007 6 80462 153243 10.83519 0.58 96.72
## 19 2007 7 83105 129581 10.79959 1.01 96.21
## 20 2007 8 88573 168210 11.04243 1.42 96.17
## 21 2007 9 86547 156237 11.03762 2.21 96.24
## 22 2007 10 97182 144970 10.84063 2.61 96.23
## 23 2007 11 97694 149964 10.85821 3.33 96.65
## 24 2007 12 126329 121383 10.85206 3.76 96.89
## 25 2008 1 96846 118416 10.91741 0.46 95.88
## 26 2008 2 86997 140501 10.78461 0.76 96.11
## 27 2008 3 80119 129405 10.73085 1.49 96.39
## 28 2008 4 83106 144234 10.52556 1.72 96.52
## 29 2008 5 85827 150514 10.45804 1.61 96.71
## 30 2008 6 81424 153345 10.32862 2.03 96.63
## 31 2008 7 85324 122144 10.23761 2.60 95.87
## 32 2008 8 86119 143464 10.09196 3.20 95.94
## 33 2008 9 76620 144454 10.60434 3.90 95.86
## 34 2008 10 83307 167497 12.48947 4.61 95.83
## 35 2008 11 78555 138439 13.09469 5.80 95.68
## 36 2008 12 101300 109206 13.37363 6.53 95.98
## 37 2009 1 69664 51061 13.86394 0.23 94.99
## 38 2009 2 61579 77833 14.50219 0.45 94.76
## 39 2009 3 64242 101830 14.72083 1.03 95.34
## 40 2009 4 51395 85121 13.47903 1.38 94.94
## 41 2009 5 53440 83910 13.25065 1.09 94.77
## 42 2009 6 55974 84934 13.34374 1.28 95.02
## 43 2009 7 56443 90872 13.36679 1.55 94.18
## 44 2009 8 58926 111273 13.01394 1.79 93.85
## 45 2009 9 58505 117433 13.40757 2.30 93.58
## 46 2009 10 67882 145761 13.25259 2.61 94.33
## 47 2009 11 64914 134873 13.13145 3.15 94.89
## 48 2009 12 91961 138432 12.85556 3.57 95.27
## 49 2010 1 64064 114193 12.83263 1.09 94.24
## 50 2010 2 59518 153148 12.96185 1.67 94.72
## 51 2010 3 65414 163641 12.60465 2.39 95.26
## 52 2010 4 60432 133406 12.26208 2.07 94.65
## 53 2010 5 61632 145909 12.68247 1.42 95.00
## 54 2010 6 59910 177575 12.71818 1.39 95.08
## 55 2010 7 61960 143521 12.83341 1.61 94.41
## 56 2010 8 66931 175904 12.72952 1.89 94.58
## 57 2010 9 65934 169507 12.86421 2.43 94.34
## 58 2010 10 74095 166931 12.45569 3.06 94.52
## 59 2010 11 75582 168226 12.31381 3.89 94.83
## 60 2010 12 104941 147551 12.40058 4.40 95.06
## 61 2011 1 68767 165045 12.15321 0.49 94.66
## 62 2011 2 66990 155808 12.07712 0.86 94.66
## 63 2011 3 75125 192783 12.01917 1.06 95.36
## 64 2011 4 65246 141334 11.75536 1.05 94.87
## 65 2011 5 68634 176951 11.65234 0.30 94.82
## 66 2011 6 68366 188223 11.80157 0.30 94.60
## 67 2011 7 68533 196835 11.67069 0.78 94.52
## 68 2011 8 75681 170086 12.20000 0.94 94.29
## 69 2011 9 73998 193590 13.08912 1.19 94.57
## 70 2011 10 75748 192244 13.46868 1.87 95.01
## 71 2011 11 83107 199665 13.63712 2.97 95.04
## 72 2011 12 115698 171319 13.74813 3.82 95.49
## 73 2012 1 75297 156417 13.48802 0.71 95.12
## 74 2012 2 74704 197600 12.80356 0.91 94.72
## 75 2012 3 83574 226555 12.75781 0.97 95.48
## 76 2012 4 69890 180545 13.02576 0.65 95.14
## 77 2012 5 80268 184302 13.53816 0.34 95.33
## 78 2012 6 78508 229089 13.97611 0.80 95.25
## 79 2012 7 76378 208151 13.39195 1.36 95.01
## 80 2012 8 83326 188392 13.18333 1.67 94.67
## 81 2012 9 79961 193350 13.00449 2.12 95.09
## 82 2012 10 83172 216576 12.86915 2.63 94.97
## 83 2012 11 91966 219864 12.86915 3.33 94.95
## 84 2012 12 110998 154724 12.87298 3.57 95.60
## 85 2013 1 84403 178562 12.71282 0.40 94.59
## 86 2013 2 80285 175338 12.71638 0.90 95.25
## 87 2013 3 82860 204475 12.40242 1.64 95.52
## 88 2013 4 83647 185548 12.21560 1.70 95.04
## 89 2013 5 87638 191205 12.23945 1.37 95.09
## 90 2013 6 83858 225753 12.95020 1.30 95.00
## 91 2013 7 86760 192940 12.76920 1.27 94.87
## 92 2013 8 88586 226893 12.88348 1.56 94.82
## 93 2013 9 78555 215962 13.08974 1.94 94.69
## 94 2013 10 88416 240316 13.02170 2.43 94.99
## 95 2013 11 100571 224873 13.06409 3.38 95.52
## 96 2013 12 119519 161208 13.00105 3.97 95.73
## 97 2014 1 85614 177928 13.20104 0.89 94.93
## 98 2014 2 80037 197504 13.29067 1.15 95.34
## 99 2014 3 85767 230772 13.21485 1.43 95.20
## 100 2014 4 76941 202328 13.07712 1.24 95.15
## 101 2014 5 88388 234629 12.95623 0.91 95.06
## 102 2014 6 84207 230410 12.97570 1.09 95.18
## 103 2014 7 96366 231934 12.97300 1.37 94.53
## 104 2014 8 103994 226757 13.15002 1.73 94.81
## 105 2014 9 89313 220239 13.21131 2.18 94.91
## 106 2014 10 101090 257382 13.47454 2.74 95.22
## 107 2014 11 111837 237923 13.59030 3.57 95.47
## 108 2014 12 133411 195091 14.45304 4.08 96.24
## 109 2015 1 103805 204907 14.67395 -0.09 95.49
## 110 2015 2 97659 222351 14.90437 0.10 95.67
## 111 2015 3 105034 261256 15.20997 0.51 96.14
## 112 2015 4 94953 233515 15.22746 0.25 95.69
## 113 2015 5 102156 240709 15.25361 -0.25 95.55
## 114 2015 6 107097 242720 15.45056 -0.09 95.59
## 115 2015 7 111863 226511 15.87623 0.06 95.28
## 116 2015 8 112307 234668 16.50888 0.27 95.32
## 117 2015 9 111705 216587 16.83229 0.65 95.50
## 118 2015 10 120214 245224 16.59932 1.16 95.45
## 119 2015 11 126750 223797 16.63219 1.72 96.04
## 120 2015 12 160901 206651 17.01278 2.13 96.04
## 121 2016 1 119833 213244 17.94565 0.38 95.74
## 122 2016 2 111126 219670 18.45920 0.82 95.86
## 123 2016 3 117252 224184 17.67208 0.97 96.25
## 124 2016 4 118754 197020 17.48096 0.65 96.20
## 125 2016 5 121879 226240 18.05380 0.20 95.99
## 126 2016 6 134913 247005 18.62127 0.31 96.08
## 127 2016 7 132109 225530 18.58811 0.57 96.00
## 128 2016 8 134388 262673 18.46011 0.86 96.02
## 129 2016 9 131888 235612 19.11921 1.47 95.88
## 130 2016 10 137503 255115 18.97319 2.09 96.33
## 131 2016 11 154779 245330 19.96946 2.89 96.50
## 132 2016 12 192741 216645 20.54282 3.36 96.62
## 133 2017 1 123447 219061 21.39550 1.70 96.40
## 134 2017 2 118193 248288 20.35246 2.29 96.66
## 135 2017 3 137245 305403 19.41648 2.92 96.81
## 136 2017 4 114938 240141 18.78122 3.04 96.53
## 137 2017 5 123429 269067 18.79971 2.92 96.45
## 138 2017 6 127752 287979 18.20815 3.18 96.71
## 139 2017 7 122678 258557 17.85459 3.57 96.58
## 140 2017 8 125985 276108 17.80650 4.08 96.48
## 141 2017 9 116716 286400 17.80554 4.41 96.41
## 142 2017 10 123602 303514 18.71362 5.06 96.49
## 143 2017 11 141724 290569 18.98973 6.15 96.59
## 144 2017 12 159234 268772 19.10129 6.77 96.85
## 145 2018 1 109445 231088 19.02896 0.53 96.64
## 146 2018 2 109846 271228 18.61594 0.91 96.83
## 147 2018 3 119127 317398 18.65489 1.24 97.06
## 148 2018 4 109748 271048 18.34659 0.90 96.61
## 149 2018 5 115155 288659 19.45515 0.73 96.78
## 150 2018 6 120298 315130 20.31281 1.12 96.63
## 151 2018 7 115047 247367 19.09664 1.66 96.53
## 152 2018 8 119487 322779 18.80423 2.26 96.54
## 153 2018 9 114888 306009 19.03592 2.69 96.42
## 154 2018 10 117602 313471 19.09212 3.22 96.73
## 155 2018 11 134143 291018 20.25495 4.10 96.75
## 156 2018 12 142300 275962 20.15294 4.83 96.64
## 157 2019 1 111514 243652 19.22744 0.09 96.44
## 158 2019 2 104009 273173 19.18334 0.06 96.71
## 159 2019 3 117529 325703 19.24878 0.44 96.78
## 160 2019 4 98366 288756 19.01630 0.50 96.50
## 161 2019 5 102422 309017 19.09191 0.21 96.50
## 162 2019 6 106782 327454 19.26678 0.27 96.43
## 163 2019 7 106104 276818 19.06189 0.65 96.26
## 164 2019 8 108074 286075 19.58659 0.63 96.29
## 165 2019 9 100757 286806 19.60990 0.89 96.22
## 166 2019 10 107110 259158 19.36886 1.44 96.31
## 167 2019 11 124804 274845 19.30748 2.26 96.58
## 168 2019 12 130460 236848 19.16932 2.83 97.09
## 169 2020 1 104852 238749 18.81445 0.48 96.22
## 170 2020 2 104338 273634 18.77705 0.90 96.47
## 171 2020 3 87541 295199 21.97384 0.85 97.09
## 172 2020 4 34927 31183 24.23988 -0.17 95.31
## 173 2020 5 42034 15139 23.58032 0.22 95.81
## 174 2020 6 62861 198084 22.26918 0.76 94.51
## 175 2020 7 72921 264520 22.48030 1.43 94.65
## 176 2020 8 77120 264478 22.23107 1.82 94.74
## 177 2020 9 77808 257562 21.60516 2.06 94.87
## 178 2020 10 84351 280474 21.38085 2.68 95.29
## 179 2020 11 95707 287703 20.53330 2.76 95.65
## 180 2020 12 105603 275081 19.97817 3.15 96.21
## 181 2021 1 81657 223533 19.90262 0.86 95.30
## 182 2021 2 82863 213987 20.29248 1.50 95.60
## 183 2021 3 96319 256119 20.76205 2.34 96.13
## 184 2021 4 84287 234584 20.10944 2.67 95.35
## 185 2021 5 86710 242020 20.05320 2.88 96.01
## 186 2021 6 88688 234394 20.04272 3.43 95.98
## 187 2021 7 82157 202021 19.98552 4.04 95.62
## 188 2021 8 78235 212687 20.05125 4.24 95.67
## 189 2021 9 76930 195294 19.99092 4.88 95.82
## 190 2021 10 76640 224535 20.47244 5.76 96.05
## 191 2021 11 82829 240341 20.78256 6.97 96.34
## 192 2021 12 97420 227465 20.98530 7.36 96.49
## 193 2022 1 78585 216630 20.48354 0.59 96.29
## 194 2022 2 79598 201868 20.48437 1.43 96.26
## 195 2022 3 95199 262494 20.60089 2.43 97.03
## 196 2022 4 83459 241286 20.04452 2.98 96.97
## 197 2022 5 91215 244643 20.11331 3.17 96.73
## 198 2022 6 90368 237674 19.96650 4.04 96.65
## 199 2022 7 83137 210170 20.53081 4.81 96.57
## 200 2022 8 91124 248704 20.12613 5.54 96.47
## porcentaje_desocu conf_consumidor
## 1 3.48 43.9415
## 2 3.75 43.9100
## 3 3.31 45.6029
## 4 3.20 44.7854
## 5 2.84 44.6508
## 6 3.26 44.2339
## 7 4.01 44.8674
## 8 3.87 45.0383
## 9 4.00 45.0604
## 10 3.82 44.3016
## 11 3.50 43.1883
## 12 3.32 44.7871
## 13 4.05 42.7412
## 14 4.05 42.3778
## 15 3.73 43.5677
## 16 3.51 43.4415
## 17 3.15 43.7534
## 18 3.28 43.0694
## 19 3.79 42.9629
## 20 3.83 43.9863
## 21 3.76 43.0238
## 22 3.77 41.2666
## 23 3.35 40.8568
## 24 3.11 42.8202
## 25 4.12 42.1822
## 26 3.89 41.2208
## 27 3.61 41.8964
## 28 3.48 40.1531
## 29 3.29 38.9120
## 30 3.37 37.6903
## 31 4.13 36.7035
## 32 4.06 37.2616
## 33 4.14 36.6558
## 34 4.17 34.2078
## 35 4.32 34.9500
## 36 4.02 34.9987
## 37 5.01 34.4084
## 38 5.24 33.4023
## 39 4.66 33.4728
## 40 5.06 34.6003
## 41 5.23 33.1933
## 42 4.98 34.2256
## 43 5.82 36.0502
## 44 6.15 34.5306
## 45 6.42 34.4993
## 46 5.67 32.6096
## 47 5.11 33.1707
## 48 4.73 33.9865
## 49 5.76 34.8020
## 50 5.28 34.2586
## 51 4.74 34.6691
## 52 5.35 35.0361
## 53 5.00 35.5938
## 54 4.92 36.7799
## 55 5.59 36.9279
## 56 5.42 37.2006
## 57 5.66 38.3303
## 58 5.48 37.4086
## 59 5.17 37.1774
## 60 4.94 38.1767
## 61 5.34 38.4624
## 62 5.34 38.4413
## 63 4.64 38.3233
## 64 5.13 37.6265
## 65 5.18 37.3597
## 66 5.40 38.7674
## 67 5.48 39.7537
## 68 5.71 38.9023
## 69 5.43 38.4823
## 70 4.99 37.7094
## 71 4.96 37.4238
## 72 4.51 37.7149
## 73 4.88 39.3604
## 74 5.28 38.9804
## 75 4.52 38.8750
## 76 4.86 40.2245
## 77 4.67 39.7323
## 78 4.75 39.7133
## 79 4.99 41.1478
## 80 5.33 40.7832
## 81 4.91 39.3550
## 82 5.03 39.6293
## 83 5.05 39.1214
## 84 4.40 41.1395
## 85 5.41 41.6134
## 86 4.75 39.6882
## 87 4.48 39.9339
## 88 4.96 39.8361
## 89 4.91 39.4471
## 90 5.00 38.7706
## 91 5.13 40.6562
## 92 5.18 40.5308
## 93 5.31 39.1825
## 94 5.01 38.0775
## 95 4.48 36.9465
## 96 4.27 37.3707
## 97 5.07 35.5508
## 98 4.66 35.7346
## 99 4.80 37.1351
## 100 4.85 37.6101
## 101 4.94 37.7513
## 102 4.82 37.9049
## 103 5.47 37.5518
## 104 5.19 37.4502
## 105 5.09 38.2199
## 106 4.78 37.6935
## 107 4.53 38.4760
## 108 3.76 38.6914
## 109 4.51 38.0625
## 110 4.33 37.4911
## 111 3.86 38.5052
## 112 4.31 37.8429
## 113 4.45 38.0317
## 114 4.41 39.1119
## 115 4.72 38.1319
## 116 4.68 37.3836
## 117 4.50 37.4490
## 118 4.55 37.8131
## 119 3.96 38.1829
## 120 3.96 38.3685
## 121 4.26 38.1815
## 122 4.14 36.7321
## 123 3.75 36.8144
## 124 3.80 36.7139
## 125 4.01 37.4848
## 126 3.92 38.3491
## 127 4.00 36.5060
## 128 3.98 35.6554
## 129 4.12 34.7550
## 130 3.67 35.0319
## 131 3.50 34.8752
## 132 3.38 35.4784
## 133 3.60 28.6679
## 134 3.34 31.5156
## 135 3.19 33.7951
## 136 3.47 34.9345
## 137 3.55 35.8733
## 138 3.29 36.0104
## 139 3.42 36.4886
## 140 3.52 36.5055
## 141 3.59 36.7879
## 142 3.51 36.4370
## 143 3.41 36.7168
## 144 3.15 36.3155
## 145 3.36 34.8018
## 146 3.17 34.1893
## 147 2.94 34.3367
## 148 3.39 35.6116
## 149 3.22 36.6479
## 150 3.37 37.1483
## 151 3.47 43.3411
## 152 3.46 43.0057
## 153 3.58 42.1327
## 154 3.27 42.5330
## 155 3.25 41.6750
## 156 3.36 44.8654
## 157 3.56 45.9299
## 158 3.29 47.8261
## 159 3.22 46.3411
## 160 3.50 45.4850
## 161 3.50 44.3235
## 162 3.57 43.6658
## 163 3.74 43.3177
## 164 3.71 43.8192
## 165 3.78 45.2995
## 166 3.69 44.0597
## 167 3.42 43.8407
## 168 2.91 43.7574
## 169 3.78 44.1205
## 170 3.53 43.3299
## 171 2.91 42.0593
## 172 4.69 32.2235
## 173 4.19 31.0682
## 174 5.49 31.9572
## 175 5.35 34.4173
## 176 5.26 35.0648
## 177 5.13 36.2820
## 178 4.71 37.8912
## 179 4.35 37.0767
## 180 3.79 38.7487
## 181 4.70 39.2114
## 182 4.40 38.6401
## 183 3.87 40.5816
## 184 4.65 42.5091
## 185 3.99 42.4227
## 186 4.02 44.3477
## 187 4.38 44.2934
## 188 4.33 42.4746
## 189 4.18 43.3421
## 190 3.95 43.8431
## 191 3.66 45.9354
## 192 3.51 44.8964
## 193 3.71 43.5909
## 194 3.74 42.9401
## 195 2.97 43.5603
## 196 3.03 44.3017
## 197 3.27 43.7823
## 198 3.35 43.2086
## 199 3.43 41.2699
## 200 3.53 40.2979
corrplot(cor(bd_prediccion2), type="upper",order="hclust",addcoef.col="black")
summary(bd_prediccion2)
## Año Mes Venta Exportación
## Min. :2006 Min. : 1.00 Min. : 34927 Min. : 15139
## 1st Qu.:2010 1st Qu.: 3.00 1st Qu.: 78543 1st Qu.:153219
## Median :2014 Median : 6.00 Median : 88580 Median :209160
## Mean :2014 Mean : 6.42 Mean : 94178 Mean :201664
## 3rd Qu.:2018 3rd Qu.: 9.00 3rd Qu.:110134 3rd Qu.:243900
## Max. :2022 Max. :12.00 Max. :192741 Max. :327454
## Tipo.de.cambio Inflación porcentaje_ocu porcentaje_desocu
## Min. :10.09 Min. :-0.250 Min. :93.58 Min. :2.840
## 1st Qu.:12.66 1st Qu.: 0.815 1st Qu.:95.06 1st Qu.:3.527
## Median :13.56 Median : 1.480 Median :95.88 Median :4.125
## Mean :15.48 Mean : 1.951 Mean :95.76 Mean :4.244
## 3rd Qu.:19.10 3rd Qu.: 2.895 3rd Qu.:96.47 3rd Qu.:4.940
## Max. :24.24 Max. : 7.360 Max. :97.16 Max. :6.420
## conf_consumidor
## Min. :28.67
## 1st Qu.:36.69
## Median :38.47
## Mean :39.15
## 3rd Qu.:42.59
## Max. :47.83
modelo_regresion1 <- lm(Exportación~Año+Mes+Tipo.de.cambio+Inflación+porcentaje_ocu+porcentaje_desocu+conf_consumidor,data=bd_prediccion2)
summary(modelo_regresion1)
##
## Call:
## lm(formula = Exportación ~ Año + Mes + Tipo.de.cambio + Inflación +
## porcentaje_ocu + porcentaje_desocu + conf_consumidor, data = bd_prediccion2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -223340 -17123 3169 21264 87133
##
## Coefficients: (1 not defined because of singularities)
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -3.913e+07 3.447e+06 -11.352 < 2e-16 ***
## Año 1.835e+04 1.645e+03 11.151 < 2e-16 ***
## Mes 6.334e+03 1.054e+03 6.007 9.25e-09 ***
## Tipo.de.cambio -1.280e+04 2.212e+03 -5.785 2.89e-08 ***
## Inflación -1.022e+04 2.390e+03 -4.275 3.01e-05 ***
## porcentaje_ocu 2.763e+04 4.394e+03 6.289 2.09e-09 ***
## porcentaje_desocu NA NA NA NA
## conf_consumidor -2.142e+03 8.735e+02 -2.452 0.0151 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 36390 on 193 degrees of freedom
## Multiple R-squared: 0.6723, Adjusted R-squared: 0.6621
## F-statistic: 65.99 on 6 and 193 DF, p-value: < 2.2e-16
effect_plot(modelo_regresion1,pred=Tipo.de.cambio,interval=TRUE)
modelo_regresion2 <- lm(Venta~Año+Mes+Tipo.de.cambio+Inflación+porcentaje_ocu+porcentaje_desocu+conf_consumidor,data=bd_prediccion2)
summary(modelo_regresion2)
##
## Call:
## lm(formula = Venta ~ Año + Mes + Tipo.de.cambio + Inflación +
## porcentaje_ocu + porcentaje_desocu + conf_consumidor, data = bd_prediccion2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -66653 -9529 -696 9350 64461
##
## Coefficients: (1 not defined because of singularities)
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -7208005.1 1525100.0 -4.726 4.40e-06 ***
## Año 2561.8 727.9 3.519 0.000539 ***
## Mes 3468.4 466.5 7.434 3.34e-12 ***
## Tipo.de.cambio -2373.5 978.9 -2.425 0.016241 *
## Inflación -3991.3 1057.4 -3.775 0.000213 ***
## porcentaje_ocu 23358.2 1943.9 12.016 < 2e-16 ***
## porcentaje_desocu NA NA NA NA
## conf_consumidor -1822.0 386.5 -4.714 4.63e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 16100 on 193 degrees of freedom
## Multiple R-squared: 0.5586, Adjusted R-squared: 0.5449
## F-statistic: 40.71 on 6 and 193 DF, p-value: < 2.2e-16
effect_plot(modelo_regresion2,pred=porcentaje_ocu,interval=TRUE)
library(foreign)
library(dplyr)
library(ggplot2)
library(psych)
library(corrplot)
library(jtools)
library(lmtest)
library(car)
library(factoextra)
library(janitor)
edad <-bajas
edad<- subset(bajas,select = -c(genero, motivo_de_baja, puesto, salario_diario_imss, estado_civil))
#Normalizar variables
edad_norm<-scale(edad[1:2])
#Función fviz para la visualización de un Elbow Plot y así determinar el número de clusters.
fviz_nbclust(edad_norm, kmeans, method="wss")+
geom_vline(xintercept=4, linetype=2)+
labs(subtitle = "Elbow method")
#Visualizar clusters
edad_cluster<-kmeans(edad_norm,4)
edad_cluster
## K-means clustering with 4 clusters of sizes 80, 4, 45, 108
##
## Cluster means:
## edad no_dias
## 1 0.1895854 -0.06199477
## 2 1.0620936 6.70675123
## 3 1.6004444 -0.10126073
## 4 -0.8466223 -0.16028417
##
## Clustering vector:
## 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
## 1 1 4 4 1 3 1 1 3 4 4 1 4 1 1 4 4 4 4 4
## 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
## 1 2 4 1 3 4 1 4 4 4 1 4 4 4 1 4 4 1 1 4
## 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
## 4 1 4 4 4 4 4 4 3 3 3 2 4 3 4 4 3 4 4 4
## 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
## 4 4 1 4 4 3 4 3 1 4 4 4 1 4 1 4 3 4 4 3
## 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
## 2 1 3 4 4 4 3 4 4 4 1 3 3 4 4 4 1 3 1 4
## 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
## 1 4 4 3 1 4 4 1 2 1 1 4 1 1 4 1 1 1 3 3
## 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
## 3 4 4 4 4 4 1 4 1 3 4 1 4 3 4 1 1 1 3 1
## 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
## 3 1 1 3 3 3 4 1 1 1 1 4 4 4 1 3 3 4 1 4
## 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
## 1 3 3 3 3 1 3 4 4 1 4 4 3 1 3 4 3 1 1 3
## 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
## 1 1 4 4 4 1 3 1 1 4 4 1 1 1 1 1 1 1 4 1
## 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220
## 1 1 1 4 1 3 1 4 4 4 3 4 4 4 1 1 4 4 1 1
## 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237
## 1 3 4 4 1 4 4 4 4 3 1 3 4 4 4 4 4
##
## Within cluster sum of squares by cluster:
## [1] 34.04210 16.13273 21.75900 16.53795
## (between_SS / total_SS = 81.3 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
#Visualizar resultados:
fviz_cluster(edad_cluster,data=edad_norm)
edad_salario <-bajas
edad_salario<- subset(bajas,select = -c(genero,estado_civil,motivo_de_baja, puesto, no_dias))
#Normalizar variables
edad_salario_norm<-scale(edad_salario[1:2])
#Función fviz para la visualización de un Elbow Plot y así determinar el número de clusters.
fviz_nbclust(edad_salario_norm, kmeans, method="wss")+
geom_vline(xintercept=4, linetype=2)+
labs(subtitle = "Elbow method")
edad_salario_cluster<-kmeans(edad_salario_norm,4)
edad_salario_cluster
## K-means clustering with 4 clusters of sizes 76, 1, 45, 115
##
## Cluster means:
## edad salario_diario_imss
## 1 0.24407169 -0.03948540
## 2 0.09515287 13.87503094
## 3 1.67245680 -0.06024275
## 4 -0.81656658 -0.07098449
##
## Clustering vector:
## 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
## 2 1 4 4 1 3 1 1 3 4 4 1 4 1 1 4 4 4 4 4
## 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
## 1 3 4 1 3 4 1 4 4 4 1 4 4 4 1 4 4 4 1 4
## 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
## 4 1 4 4 4 4 4 4 3 3 3 3 4 3 4 4 3 4 4 4
## 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
## 4 4 1 4 4 3 4 3 4 4 4 4 1 4 1 4 1 4 4 3
## 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
## 4 4 3 4 4 4 3 4 4 4 1 3 3 4 4 4 1 3 1 4
## 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
## 1 4 4 3 1 4 4 1 4 1 1 4 1 1 4 1 1 1 3 3
## 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
## 3 4 4 4 4 4 1 4 1 3 4 1 4 3 4 4 4 1 3 1
## 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
## 3 1 1 1 3 3 4 1 1 1 1 4 4 4 1 3 3 4 1 4
## 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
## 1 3 3 3 3 1 3 4 4 1 4 4 3 1 3 4 3 1 1 3
## 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
## 1 1 4 4 4 1 3 1 1 4 4 1 1 1 1 1 1 1 4 1
## 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220
## 1 1 1 4 1 3 1 4 4 4 3 4 4 4 1 1 4 4 1 1
## 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237
## 1 3 4 4 1 4 4 4 4 3 1 3 4 4 4 4 4
##
## Within cluster sum of squares by cluster:
## [1] 20.84343 0.00000 18.68350 32.00903
## (between_SS / total_SS = 84.8 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
fviz_cluster(edad_salario_cluster,data=edad_salario_norm)
dias_salario <-bajas
dias_salario<- subset(bajas,select = -c(genero,estado_civil,motivo_de_baja, puesto, edad))
#Normalizar variables:
dias_salario_norm<-scale(dias_salario[1:2])
#Función fviz para la visualización de un Elbow Plot y así determinar el número de clusters.
fviz_nbclust(dias_salario_norm, kmeans, method="wss")+
geom_vline(xintercept=4, linetype=2)+
labs(subtitle = "Elbow method")
dias_salario_cluster<-kmeans(dias_salario_norm,4)
dias_salario_cluster
## K-means clustering with 4 clusters of sizes 159, 5, 43, 30
##
## Cluster means:
## no_dias salario_diario_imss
## 1 -0.2906680 0.11501794
## 2 5.8798242 2.45410205
## 3 0.2579630 0.08136604
## 4 0.1908225 -1.13523673
##
## Clustering vector:
## 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
## 2 4 4 4 4 4 4 4 4 3 4 4 1 1 4 4 4 4 4 4
## 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
## 4 2 4 4 1 1 1 1 1 1 1 1 1 1 1 1 4 3 1 1
## 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
## 3 3 1 1 1 1 1 1 1 1 1 2 3 1 1 1 1 1 1 4
## 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
## 1 1 1 1 1 1 1 4 3 4 1 1 1 1 1 1 1 1 1 1
## 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
## 2 4 4 4 4 3 1 1 1 1 1 1 1 1 1 1 1 4 4 3
## 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
## 3 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1
## 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
## 1 1 3 1 1 1 1 1 1 1 1 1 1 4 3 3 3 3 1 1
## 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
## 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1
## 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
## 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
## 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3
## 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220
## 3 3 3 3 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1
## 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237
## 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##
## Within cluster sum of squares by cluster:
## [1] 1.009803 184.768864 12.851574 11.956632
## (between_SS / total_SS = 55.4 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
fviz_cluster(dias_salario_cluster,data=dias_salario_norm)
promedio_dias <- mean(bajas$no_dias)
promedio_dias
## [1] 79.47196
#Añadir a la base de datos la columna de Clusters y su clasificación:
bajas1<-bajas
bajas1$Clusters<-edad_salario_cluster$cluster
library(dplyr)
library(factoextra)
#Identificamos la clasificación de las distintas edades de los colaboradores.
bajas2<-bajas1 %>% group_by(Clusters) %>% dplyr::summarise(edad=max(edad)) %>% arrange(desc(edad))
bajas1$Cluster_Names<-factor(bajas1$Clusters,levels = c(1,2,3,4),
labels=c("Outlier", "Joven", "Avanzada", "Adulta"))
bajas3 <- bajas1 %>% group_by(Cluster_Names) %>% dplyr::summarize(edad_años=max(edad), salario_imss=mean(salario_diario_imss),Count=n())
clusters<-as.data.frame(bajas3)
clusters
## Cluster_Names edad_años salario_imss Count
## 1 Outlier 40 177.0462 76
## 2 Joven 32 500.0000 1
## 3 Avanzada 61 176.5644 45
## 4 Adulta 28 176.3151 115
#Se realizó una gráfica para analizar el número de registros por cada segmento:
ggplot(bajas3,aes(x=reorder(Cluster_Names,Count),y=Count,fill=Cluster_Names)) +
geom_bar(stat="identity")
ggplot(bajas3, aes(x=Cluster_Names,y=edad_años,fill= Cluster_Names,label=round(edad_años,digits=2))) +
geom_col() +
geom_text()
ggplot(bajas1, aes(factor(Cluster_Names), fill = factor(genero))) +
geom_bar(position = position_dodge2(preserve = "single"))
ggplot(bajas1, aes(factor(Cluster_Names), fill = factor(estado_civil))) +
geom_bar(position = position_dodge2(preserve = "single"))
ggplot(bajas1, aes(factor(Cluster_Names), fill = factor(motivo_de_baja))) +
geom_bar(position = position_dodge2(preserve = "single"))
table(bajas1$puesto)
##
## ANALISTA DE NOMINAS /AUX DE R.H. AYUDANTE DE EMBARQUES
## 1 7
## AYUDANTE DE MTTO AYUDANTE DE SOLDADOR
## 1 1
## AYUDANTE GENERAL CHOFER
## 179 1
## CORTADOR COSTURERA
## 1 11
## DISEÑO ENCARGADA DE CALIDAD
## 1 1
## FACTURACION GUARDIA DE SEGURIDAD
## 1 2
## INSPECTOR CALIDAD JEFE DE SEGURIDAD E HIGIENE
## 4 1
## LIMPIEZA MARCADORA
## 1 1
## MATERIALISTA MONTACARGUISTA
## 2 5
## PRACTICANTE DE MTTO RESIDENTE
## 1 3
## SERVICIO AL CLIENTE SOLDADOR
## 1 11
proporciones <- c(23, 179, 11, 11, 7, 5)
etiquetas <- c("Otros","Ayudante General", "Costurera", "Soldador", "Ayudante Embarques", "Montacarguista")
pct <- round(proporciones/sum(proporciones)*100)
etiquetas <- paste(etiquetas, pct)
etiquetas <- paste(etiquetas,"%",sep="")
pie(proporciones,labels = etiquetas,
col=rainbow(length(etiquetas)),
main="Puesto de los Ex-Colaboradores")
bajas4 <-bajas1 %>% filter(Clusters==1 | Clusters==3) %>% arrange(Clusters)
library(ggalluvial)
ggplot(as.data.frame(bajas4),
aes(y=no_dias, axis1= genero, axis2=estado_civil)) +
geom_alluvium(aes(fill=Cluster_Names), width = 1/12) +
geom_stratum(width = 1/12, fill = "black", color = "grey") +
geom_label(stat = "stratum", aes(label = after_stat(stratum))) +
scale_x_discrete(limits = c("Gender", "Marital Status"), expand = c(.05, .05)) +
scale_fill_brewer(type = "qual", palette = "Set1") +
ggtitle("FORM's Antigüedad de bajas por Genero y Estado Civil")
bajas5 <-bajas1 %>% filter(Clusters==2 | Clusters==4) %>% arrange(Clusters)
library(ggalluvial)
ggplot(as.data.frame(bajas5),
aes(y=no_dias, axis1= genero, axis2=estado_civil)) +
geom_alluvium(aes(fill=Cluster_Names), width = 1/12) +
geom_stratum(width = 1/12, fill = "black", color = "grey") +
geom_label(stat = "stratum", aes(label = after_stat(stratum))) +
scale_x_discrete(limits = c("Gender", "Marital Status"), expand = c(.05, .05)) +
scale_fill_brewer(type = "qual", palette = "Set1") +
ggtitle("FORM's Antigüedad de bajas por Genero y Estado Civil")
library(foreign)
library(dplyr) # data manipulation
library(ggplot2) # data visualization
library(psych) # functions for multivariate analysis
library(corrplot) # correlation plots
library(jtools) # presentation of regression analysis
library(lmtest) # diagnostic checks - linear regression analysis
library(car) # diagnostic checks - linear regression analysis
library(factoextra) # provides functions to extract and visualize the output of exploratory multivariate data analyses
library(ggfortify) # data visualization tools for statistical analysis results
library(tidyverse) # data manipulation and visualization
library(janitor) # examining and cleaning datasets
library(viridis)
library(scales)
library(lubridate)
# file.choose()
rh_regresion <- read.csv("/Users/mayracampoyramos/Desktop/Analisis de Datos Concentracion/Reto/rh_regresion.csv")
summary(rh_regresion)
## edad genero antiguedad puesto
## Min. :18.00 Length:349 Min. : 0.0000 Length:349
## 1st Qu.:24.00 Class :character 1st Qu.: 0.0000 Class :character
## Median :30.00 Mode :character Median : 0.0000 Mode :character
## Mean :32.69 Mean : 0.5501
## 3rd Qu.:40.00 3rd Qu.: 0.0000
## Max. :73.00 Max. :12.0000
## salario_diario estado_civil motivo_de_baja bajas
## Min. :144.4 Length:349 Length:349 Min. :0.0000
## 1st Qu.:176.7 Class :character Class :character 1st Qu.:0.0000
## Median :180.7 Mode :character Mode :character Median :1.0000
## Mean :178.3 Mean :0.6762
## 3rd Qu.:180.7 3rd Qu.:1.0000
## Max. :500.0 Max. :1.0000
rh_regresion$edad <- as.numeric(rh_regresion$edad)
rh_regresion$genero <- as.factor(rh_regresion$genero)
rh_regresion$antiguedad <- as.numeric(rh_regresion$antiguedad)
rh_regresion$puesto<- as.factor(rh_regresion$puesto)
rh_regresion$salario_diario <- as.numeric(rh_regresion$salario_diario)
rh_regresion$estado_civil<- as.factor(rh_regresion$estado_civil)
rh_regresion$bajas <- as.numeric(rh_regresion$bajas)
rh_regresion$motivo_de_baja<- as.factor(rh_regresion$motivo_de_baja)
summary(rh_regresion)
## edad genero antiguedad puesto
## Min. :18.00 FEMENINO :200 Min. : 0.0000 AYUDANTE GENERAL :246
## 1st Qu.:24.00 MASCULINO:149 1st Qu.: 0.0000 COSTURERA : 21
## Median :30.00 Median : 0.0000 SOLDADOR : 16
## Mean :32.69 Mean : 0.5501 AYUDANTE DE EMBARQUES: 7
## 3rd Qu.:40.00 3rd Qu.: 0.0000 RESIDENTE : 7
## Max. :73.00 Max. :12.0000 CHOFER : 6
## (Other) : 46
## salario_diario estado_civil motivo_de_baja bajas
## Min. :144.4 CASADO :108 ABANDONO : 1 Min. :0.0000
## 1st Qu.:176.7 DIVORCIADO : 6 BAJA POR FALTAS :141 1st Qu.:0.0000
## Median :180.7 SOLTERO :154 JUBILACION : 1 Median :1.0000
## Mean :178.3 UNION LIBRE: 81 RENUNCIA VOLUNTARIA: 85 Mean :0.6762
## 3rd Qu.:180.7 TERMINO DE CONTRATO: 8 3rd Qu.:1.0000
## Max. :500.0 NA's :113 Max. :1.0000
##
rh_regresion$bajas<-as.factor(rh_regresion$bajas)
rh_regresion$bajas<-fct_recode(rh_regresion$bajas, "BAJA"="1","NO BAJA"="0")
rh_regresion$salario_diario<-replace(rh_regresion$salario_diario,rh_regresion$salario_diario>1000000,181)
rh_regresion$salario_diario[is.na(rh_regresion$salario_diario)]<-median(rh_regresion$salario_diario,na.rm=TRUE)
tapply(rh_regresion$salario_diario,
list(rh_regresion$genero,rh_regresion$estado_civil), mean)
## CASADO DIVORCIADO SOLTERO UNION LIBRE
## FEMENINO 179.1338 180.68 175.5099 177.2578
## MASCULINO 180.2972 178.70 180.7174 177.3359
rh_edad_regresion<-rh_regresion
rh_edad_regresion<- subset(rh_edad_regresion, select = -c(genero, estado_civil, antiguedad, puesto, motivo_de_baja, bajas))
rh_edad_regresion_norm<-scale(rh_edad_regresion[1:2])
fviz_nbclust(rh_edad_regresion_norm, kmeans, method="wss")+ # wss method considers total within sum of square
geom_vline(xintercept=5, linetype=2)+ # optimal number of clusters is computed with the default method = "euclidean"
labs(subtitle = "Elbow method")
edad_cluster1<-kmeans(rh_edad_regresion_norm,5)
fviz_cluster(edad_cluster1,data=rh_edad_regresion_norm)
rh_regresion1 <- rh_regresion
rh_regresion1$Clusters<-edad_cluster1$cluster
rh_regresion2<-rh_regresion1 %>% group_by(Clusters) %>% summarise(edad=max(edad)) %>% arrange(desc(edad))
rh_regresion1$Cluster_Names<-factor(rh_regresion1$Clusters,levels = c(1,2,3,4,5),
labels=c("Jóven","Adulta II","Jubilación","Avanzada","Adulta I"))
rh_regresion3<-rh_regresion1 %>% group_by(Cluster_Names) %>% dplyr::summarize(edad_años=max(edad),
salario_imss=mean(salario_diario),
Count=n())
clusters<-as.data.frame(rh_regresion3)
clusters
## Cluster_Names edad_años salario_imss Count
## 1 Jóven 55 191.3548 73
## 2 Adulta II 29 151.0615 26
## 3 Jubilación 46 150.8006 16
## 4 Avanzada 33 180.3526 172
## 5 Adulta I 73 175.9756 62
logit_model1<-glm(bajas~salario_diario, data=rh_regresion1, family=binomial(link='logit'))
summary(logit_model1)
##
## Call:
## glm(formula = bajas ~ salario_diario, family = binomial(link = "logit"),
## data = rh_regresion1)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.5324 -1.4998 0.8862 0.8862 1.1371
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 1.092219 0.839733 1.301 0.193
## salario_diario -0.001993 0.004657 -0.428 0.669
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 439.52 on 348 degrees of freedom
## Residual deviance: 439.34 on 347 degrees of freedom
## AIC: 443.34
##
## Number of Fisher Scoring iterations: 4
# Which groups / categories do these probabilities refer to?
contrasts(rh_regresion1$bajas)
## BAJA
## NO BAJA 0
## BAJA 1
probabilities<-logit_model1 %>% predict(rh_regresion1,type="response")
predicted.classes<-ifelse(probabilities > 0.5, "bajas", "no_bajas")
# display the probabilities of dataset observations related to "bajas" & "no bajas"
head(probabilities)
## 1 2 3 4 5 6
## 0.6769964 0.6769964 0.6769964 0.6035916 0.6752681 0.6769964
# display the probabilities associated with "bajas"
head(predicted.classes)
## 1 2 3 4 5 6
## "bajas" "bajas" "bajas" "bajas" "bajas" "bajas"
rh_regresion1$logit_model1_prob <- predict(logit_model1, rh_regresion1, type="response")
rh_regresion1 <- rh_regresion1 %>% mutate(logit_model1_pred = 1*(logit_model1_prob > .50) + 0,
bajas_binary_1 = 1*(bajas == "BAJA") + 0)
rh_regresion1 <- rh_regresion1 %>% mutate(accurate_1=1*(logit_model1_pred == bajas_binary_1))
sum(rh_regresion1$accurate_1)/nrow(rh_regresion1)
## [1] 0.6762178
# the calculated R2 indicates that approximately 73% of variation in the dependent variable is explained by the logit model specification.
ggplot(rh_regresion1,aes(x=salario_diario, y=as.numeric(bajas)-1)) +
geom_point(alpha=.5) +
stat_smooth(method="glm", se=FALSE, fullrange=TRUE, method.args=list(family=binomial)) +
ylab("Probability") + xlim(100,500)+
labs(
title = "Logistic Regression Model",
x = "Salario Diario",
y = "Probability of Bajas"
)
logit_model2<-glm(bajas~salario_diario+edad, data=rh_regresion1, family=binomial(link='logit'))
summary(logit_model2)
##
## Call:
## glm(formula = bajas ~ salario_diario + edad, family = binomial(link = "logit"),
## data = rh_regresion1)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.7868 -1.2640 0.7392 0.8647 1.3440
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 2.399657 0.917194 2.616 0.008889 **
## salario_diario -0.001686 0.004697 -0.359 0.719540
## edad -0.040739 0.010520 -3.872 0.000108 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 439.52 on 348 degrees of freedom
## Residual deviance: 423.90 on 346 degrees of freedom
## AIC: 429.9
##
## Number of Fisher Scoring iterations: 4
rh_regresion1$logit_model2_prob <- predict(logit_model2, rh_regresion1, type="response")
rh_regresion1 <- rh_regresion1 %>% mutate(logit_model2_pred = 1*(logit_model2_prob > .50) + 0,
bajas_binary_2 = 1*(bajas == "BAJA") + 0)
rh_regresion1 <- rh_regresion1 %>% mutate(accurate_2=1*(logit_model2_pred == bajas_binary_2))
sum(rh_regresion1$accurate_2)/nrow(rh_regresion1)
## [1] 0.7106017
# the calculated R2 indicates that approximately 73% of variation in the dependent variable is explained by the logit model specification.
ggplot(rh_regresion1,aes(x=edad, y=as.numeric(bajas)-1)) +
geom_point(alpha=.5) +
stat_smooth(method="glm", se=FALSE, fullrange=TRUE, method.args = list(family=binomial)) +
ylab("Probability") + xlim(18,75)+
labs(
title = "Logistic Regression Model",
x = "Edad",
y = "Probability of Bajas"
)
## `geom_smooth()` using formula 'y ~ x'
logit_model3<-glm(bajas~salario_diario+Cluster_Names, data=rh_regresion1, family=binomial(link='logit'))
summary(logit_model3)
##
## Call:
## glm(formula = bajas ~ salario_diario + Cluster_Names, family = binomial(link = "logit"),
## data = rh_regresion1)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.6848 -1.1777 0.7486 0.9225 1.3771
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 1.246172 1.047794 1.189 0.2343
## salario_diario -0.003409 0.005306 -0.642 0.5206
## Cluster_NamesAdulta II -0.095257 0.526479 -0.181 0.8564
## Cluster_NamesJubilación 0.056329 0.631468 0.089 0.9289
## Cluster_NamesAvanzada 0.498461 0.308869 1.614 0.1066
## Cluster_NamesAdulta I -0.646322 0.363093 -1.780 0.0751 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 439.52 on 348 degrees of freedom
## Residual deviance: 425.23 on 343 degrees of freedom
## AIC: 437.23
##
## Number of Fisher Scoring iterations: 4
rh_regresion1$logit_model3_prob <- predict(logit_model3, rh_regresion1, type="response")
rh_regresion1<- rh_regresion1 %>% mutate(logit_model3_pred = 1*(logit_model3_prob > .50) + 0,
bajas_binary_3 = 1*(bajas == "BAJA") + 0)
rh_regresion1 <- rh_regresion1 %>% mutate(accurate_3=1*(logit_model3_pred == bajas_binary_3))
sum(rh_regresion1$accurate_3)/nrow(rh_regresion1)
## [1] 0.6647564