A continuación, se presenta la limpieza y manipulación de la base de datos de la empresa socio formadora ‘Pisos Iberia’ con el fin de prepararla para el uso posterior en el diseño de dashboards que brinden información relevante acerca de la compañía.

setwd("C:/Users/esme2/OneDrive - Instituto Tecnologico y de Estudios Superiores de Monterrey/Computadora/TEC/Reto/Pisos Iberia")

Limpieza

library(readxl)
#PisosIberia <- read_xlsx("Pisos_Iberia.xlsx")
#Aquí no tiene caso poner el objeto PisosIberia porque jala exactamente la misma información que el objeto admi, entonces lo podemos borrar.
admi <- read_xlsx("Pisos_Iberia.xlsx",sheet = 'Administracion')
head(admi,10)
## # A tibble: 10 x 3
##    Área     Encargado Indicador                                 
##    <chr>    <chr>     <chr>                                     
##  1 Finanzas Felipe    Ventas                                    
##  2 Finanzas Ana       Compras                                   
##  3 Finanzas Ana       % margen de compras                       
##  4 Finanzas Ana       Gastos totales                            
##  5 Finanzas Ana       % margen de gastos totales                
##  6 Finanzas Ana       Gastos de venta                           
##  7 Finanzas Ana       Gastos Operativos                         
##  8 Finanzas Ana       Gastos administrativos                    
##  9 Finanzas Ana       Gastos financieros                        
## 10 Finanzas Ana       Monto de utilidad bruta (Ventas-compras) 1
metas <- read_xlsx("Pisos_Iberia.xlsx",sheet = 'Metas')
## New names:
## * `` -> ...57
## * `` -> ...58
head(metas,10)
## # A tibble: 10 x 58
##    Metas                  Ventas  Compras `% margen de compras` `Gastos totales`
##    <dttm>                  <dbl>    <dbl>                 <dbl>            <dbl>
##  1 2021-01-01 00:00:00 12624375. 5222907.                 0.414         2746837.
##  2 2021-02-01 00:00:00 11738737. 4856504.                 0.414         2554137.
##  3 2021-03-01 00:00:00 11195317. 4631682.                 0.414         2435899.
##  4 2021-04-01 00:00:00  8898685. 3681529.                 0.414         1936193.
##  5 2021-05-01 00:00:00 11626375. 4810018.                 0.414         2529690.
##  6 2021-06-01 00:00:00 12315535. 5095135.                 0.414         2679638.
##  7 2021-07-01 00:00:00 12011512. 4969355.                 0.414         2613489.
##  8 2021-08-01 00:00:00 11157585. 4616072.                 0.414         2427689.
##  9 2021-09-01 00:00:00 14099004. 5832984.                 0.414         3067689.
## 10 2021-10-01 00:00:00 12821032. 5304267.                 0.414         2789626.
## # ... with 53 more variables: `% margen de gastos totales` <dbl>,
## #   `Gastos de venta` <dbl>, `Gastos Operativos` <dbl>,
## #   `Gastos administrativos` <dbl>, `Gastos financieros` <dbl>,
## #   `Monto de utilidad bruta (Ventas-compras) 1` <dbl>,
## #   `Margen utilidad bruta 1` <dbl>,
## #   `Monto de utilidad bruta de ventas (venta - costo de venta) 2` <dbl>,
## #   `Margen utilidad bruta 2` <dbl>, ...
resultados <- read_xlsx("Pisos_Iberia.xlsx",sheet = 'Resultados',range = "A1:BD15")
head(resultados,10)
## # A tibble: 10 x 56
##    Metas       Ventas Compras `% margen de c~` `Gastos totales` `% margen de g~`
##    <chr>        <dbl>   <dbl>            <dbl>            <dbl>            <dbl>
##  1 R1_2021   8925122.  3.82e6            0.428         3059000.           0.343 
##  2 R2_2021  10418193.  4.31e6            0.414         2558465.           0.246 
##  3 R3_2021  12767696   4.81e6            0.376         2658190.           0.208 
##  4 R4_2021  10743645.  5.81e6            0.541         2792910.           0.260 
##  5 R5_2021  12502098.  7.50e6            0.600         2648671.           0.212 
##  6 R6_2021  11524306.  8.73e6            0.758         2888719.           0.251 
##  7 R7_2021  13241285.  1.00e7            0.757         2742891.           0.207 
##  8 R8_2021  14731724.  5.46e6            0.371         2367353.           0.161 
##  9 R9_2021  15148931.  7.28e6            0.480         1404768.           0.0927
## 10 R10_2021 15573441.  1.01e7            0.646         3056297.           0.196 
## # ... with 50 more variables: `Gastos de venta` <dbl>,
## #   `Gastos Operativos` <dbl>, `Gastos administrativos` <dbl>,
## #   `Gastos financieros` <dbl>,
## #   `Monto de utilidad bruta (Ventas-compras) 1` <dbl>,
## #   `Margen utilidad bruta 1` <dbl>,
## #   `Monto de utilidad bruta de ventas (venta - costo de venta) 2` <dbl>,
## #   `Margen utilidad bruta 2` <dbl>, ...

Variables de interés

Las variables de interés dentro del reto son: Finanzas % margen de compras (ventas y compras) % total cartera (total de cartera) Cartera Vigente % cartera vigente Cartera Vencida % cartera vencida Cartera díficil e incobrable % cartera incobrable Compras Meses de inventario promedio

Por lo tanto, se eliminan las que no son de interés

#Metas
metas$`Gastos totales`<- NULL
metas$`Gastos de venta` <- NULL
metas$`Gastos Operativos` <- NULL
metas$`Gastos administrativos`<- NULL
metas$`Gastos financieros` <- NULL
metas$`Monto de utilidad bruta (Ventas-compras) 1` <- NULL
metas$`Margen utilidad bruta 1`<- NULL
metas$`Monto de utilidad bruta de ventas (venta - costo de venta) 2`<-NULL
metas$`Margen utilidad bruta 2`<-NULL
metas$`Monto de utilidad neta antes de impuestos 1`<-NULL
metas$`Margen neto antes de impuestos 1`<-NULL
metas$`Monto de utilidad neta antes de impuestos 2`<-NULL
metas$`Margen neto antes de impuestos 2`<-NULL
metas$Impuestos<-NULL
metas$`Margen de impuestos`<-NULL
metas$`Monto de utilidad neta después de impuestos`<-NULL
metas$`Margen de utilidad neta después de impuestos 1`<-NULL
metas$`Monto de utilidad neta sobre ut. por producto 2`<-NULL
metas$`Margen de utilidad neta después de impuestos 2`<-NULL
metas$`Cuentas por pagar ( sólo proveedores)`<-NULL
metas$`Margen de cuentas por pagar`<-NULL
metas$`Valor del inventario`<-NULL
metas$`Nivel de servicio de proveedores`<-NULL
metas$`Tiempo promedio de surtimiento de material`<-NULL
metas$`Tasa de defectos del proveedor`<-NULL
metas$`Prospectos proyectos de calidad CC`<-NULL
metas$`Actividad comercial (Citas efectivas y de calidad / llamadas / eventos)`<-NULL
metas$`Cierre de ventas (Cuentas Clave)`<-NULL
metas$`Clientes con venta`<-NULL
metas$`Satisfacción del cliente`<-NULL
metas$`Nivel de servicio interno`<-NULL
metas$`Costo de distribución`<-NULL
metas$`Margen de costo de distribución`<-NULL
metas$`Eficiencia de distribución`<-NULL
metas$`Match auditorías de inventarios`<-NULL
metas$`5´s`<-NULL
metas$`% margen de gastos totales`<-NULL
metas$Cobranza<-NULL
metas$`% Postventa de (Cuentas clave)`<-NULL
metas$`% solución de Incidencias comerciales`<-NULL
metas$`% apego al plan de entregas`<-NULL
metas$`# reportes de reclamo clientes `<-NULL
metas$`% solución de incidencias operativas`<-NULL
metas$...57<-NULL
metas$...58<-NULL
metas$`Asistencia y puntualidad e ventas`<-NULL
metas$`Cartera díficil e incobrable`<-NULL
#Resultados
resultados$`Gastos totales`<- NULL
resultados$`Gastos de venta` <- NULL
resultados$`Gastos Operativos` <- NULL
resultados$`Gastos administrativos`<- NULL
resultados$`Gastos financieros` <- NULL
resultados$`Monto de utilidad bruta (Ventas-compras) 1` <- NULL
resultados$`Margen utilidad bruta 1`<- NULL
resultados$`Monto de utilidad bruta de ventas (venta - costo de venta) 2`<-NULL
resultados$`Margen utilidad bruta 2`<-NULL
resultados$`Monto de utilidad neta antes de impuestos 1`<-NULL
resultados$`Margen neto antes de impuestos 1`<-NULL
resultados$`Monto de utilidad neta antes de impuestos 2`<-NULL
resultados$`Margen neto antes de impuestos 2`<-NULL
resultados$Impuestos<-NULL
resultados$`Margen de impuestos`<-NULL
resultados$`Monto de utilidad neta después de impuestos`<-NULL
resultados$`Margen de utilidad neta después de impuestos 1`<-NULL
resultados$`Monto de utilidad neta sobre ut. por producto 2`<-NULL
resultados$`Margen de utilidad neta después de impuestos 2`<-NULL
resultados$`Cuentas por pagar ( sólo proveedores)`<-NULL
resultados$`Margen de cuentas por pagar`<-NULL
resultados$`Valor del inventario`<-NULL
resultados$`Nivel de servicio de proveedores`<-NULL
resultados$`Tiempo promedio de surtimiento de material`<-NULL
resultados$`Tasa de defectos del proveedor`<-NULL
resultados$`Prospectos proyectos de calidad CC`<-NULL
resultados$`Actividad comercial (Citas efectivas y de calidad / llamadas / eventos)`<-NULL
resultados$`Cierre de ventas (Cuentas Clave)`<-NULL
resultados$`Clientes con venta`<-NULL
resultados$`Satisfacción del cliente`<-NULL
resultados$`Nivel de servicio interno`<-NULL
resultados$`Costo de distribución`<-NULL
resultados$`Margen de costo de distribución`<-NULL
resultados$`Eficiencia de distribución`<-NULL
resultados$`Match auditorías de inventarios`<-NULL
resultados$`5´s`<-NULL
resultados$`% margen de gastos totales`<-NULL
resultados$Cobranza<-NULL
resultados$`% Postventa de (Cuentas clave)`<-NULL
resultados$`% solución de Incidencias comerciales`<-NULL
resultados$`% apego al plan de entregas`<-NULL
resultados$`# reportes de reclamo clientes `<-NULL
resultados$`% solución de incidencias operativas`<-NULL
resultados$...57<-NULL
resultados$...58<-NULL

Datos nulos

Veremos cuantos datos nulos hay en cada variable de las pestañas ‘metas’ y ‘resultados’

#Metas
colSums(is.na(metas))
##                        Metas                       Ventas 
##                            0                            0 
##                      Compras          % margen de compras 
##                            0                            0 
##                Total cartera              % total cartera 
##                            0                            0 
##              Cartera Vigente            % cartera vigente 
##                           12                           12 
##              Cartera Vencida            % cartera vencida 
##                           12                           12 
##         % cartera incobrable Meses de inventario promedio 
##                           13                           16
#Resultados
colSums(is.na(resultados))
##                        Metas                       Ventas 
##                            0                            0 
##                      Compras          % margen de compras 
##                            0                            0 
##                Total cartera              % total cartera 
##                            0                            0 
##              Cartera Vigente            % cartera vigente 
##                           12                           12 
##              Cartera Vencida            % cartera vencida 
##                           12                           12 
## Cartera díficil e incobrable         % cartera incobrable 
##                           13                           13 
## Meses de inventario promedio 
##                            7

Datos perdidos

#Metas
library(VIM)
## Loading required package: colorspace
## Loading required package: grid
## VIM is ready to use.
## Suggestions and bug-reports can be submitted at: https://github.com/statistikat/VIM/issues
## 
## Attaching package: 'VIM'
## The following object is masked from 'package:datasets':
## 
##     sleep
aggr(metas,numbers=T,sortVar=T)

## 
##  Variables sorted by number of missings: 
##                      Variable     Count
##  Meses de inventario promedio 0.6956522
##          % cartera incobrable 0.5652174
##               Cartera Vigente 0.5217391
##             % cartera vigente 0.5217391
##               Cartera Vencida 0.5217391
##             % cartera vencida 0.5217391
##                         Metas 0.0000000
##                        Ventas 0.0000000
##                       Compras 0.0000000
##           % margen de compras 0.0000000
##                 Total cartera 0.0000000
##               % total cartera 0.0000000
#Resultados
library(VIM)
aggr(resultados,numbers=T,sortVar=T)

## 
##  Variables sorted by number of missings: 
##                      Variable     Count
##  Cartera díficil e incobrable 0.9285714
##          % cartera incobrable 0.9285714
##               Cartera Vigente 0.8571429
##             % cartera vigente 0.8571429
##               Cartera Vencida 0.8571429
##             % cartera vencida 0.8571429
##  Meses de inventario promedio 0.5000000
##                         Metas 0.0000000
##                        Ventas 0.0000000
##                       Compras 0.0000000
##           % margen de compras 0.0000000
##                 Total cartera 0.0000000
##               % total cartera 0.0000000

Tipos de variables

Veremos si los tipo de datos asignados a cada variable son correctos

str(metas)
## tibble [23 x 12] (S3: tbl_df/tbl/data.frame)
##  $ Metas                       : POSIXct[1:23], format: "2021-01-01" "2021-02-01" ...
##  $ Ventas                      : num [1:23] 12624375 11738737 11195317 8898685 11626375 ...
##  $ Compras                     : num [1:23] 5222907 4856504 4631682 3681529 4810018 ...
##  $ % margen de compras         : num [1:23] 0.414 0.414 0.414 0.414 0.414 ...
##  $ Total cartera               : num [1:23] 10293956 12016017 14725861 12391384 14419529 ...
##  $ % total cartera             : num [1:23] 1.15 1.15 1.15 1.15 1.15 ...
##  $ Cartera Vigente             : num [1:23] NA NA NA NA NA NA NA NA NA NA ...
##  $ % cartera vigente           : num [1:23] NA NA NA NA NA NA NA NA NA NA ...
##  $ Cartera Vencida             : num [1:23] NA NA NA NA NA NA NA NA NA NA ...
##  $ % cartera vencida           : num [1:23] NA NA NA NA NA NA NA NA NA NA ...
##  $ % cartera incobrable        : num [1:23] NA NA NA NA NA NA NA NA NA NA ...
##  $ Meses de inventario promedio: num [1:23] NA NA NA NA NA NA NA 6 6 5 ...
str(resultados)
## tibble [14 x 13] (S3: tbl_df/tbl/data.frame)
##  $ Metas                       : chr [1:14] "R1_2021" "R2_2021" "R3_2021" "R4_2021" ...
##  $ Ventas                      : num [1:14] 8925122 10418193 12767696 10743645 12502098 ...
##  $ Compras                     : num [1:14] 3815741 4308280 4805392 5812057 7501134 ...
##  $ % margen de compras         : num [1:14] 0.428 0.414 0.376 0.541 0.6 ...
##  $ Total cartera               : num [1:14] 11319151 12501935 15933759 13590018 15112737 ...
##  $ % total cartera             : num [1:14] 1.27 1.2 1.25 1.26 1.21 ...
##  $ Cartera Vigente             : num [1:14] NA NA NA NA NA NA NA NA NA NA ...
##  $ % cartera vigente           : num [1:14] NA NA NA NA NA NA NA NA NA NA ...
##  $ Cartera Vencida             : num [1:14] NA NA NA NA NA NA NA NA NA NA ...
##  $ % cartera vencida           : num [1:14] NA NA NA NA NA NA NA NA NA NA ...
##  $ Cartera díficil e incobrable: num [1:14] NA NA NA NA NA NA NA NA NA NA ...
##  $ % cartera incobrable        : num [1:14] NA NA NA NA NA NA NA NA NA NA ...
##  $ Meses de inventario promedio: num [1:14] NA NA NA NA NA ...

En la pestaña de resultados, la variable ‘$ Ventas’ está categorizada como chr, pero en realidad es num, por lo que la modificaremos para que el tipo de dato corresponda a la variable.

summary(as.numeric(resultados$Ventas))
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##  8925122 11768754 13481454 13631412 15054960 19244502
as.numeric(as.character(resultados$Ventas))
##  [1]  8925122 10418193 12767696 10743645 12502098 11524306 13241285 14731724
##  [9] 15148931 15573441 19244502 17524152 14773046 13721624
require(readr)
## Loading required package: readr
VentasNum<-readr::parse_number(as.character(resultados$Ventas))
summary(VentasNum)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##  8925122 11768754 13481454 13631412 15054960 19244502
class(VentasNum)
## [1] "numeric"
class(resultados$Ventas)
## [1] "numeric"
resultados$Ventas<-VentasNum

Comprobamos que el problema se haya eliminado.

str(resultados$Ventas)
##  num [1:14] 8925122 10418193 12767696 10743645 12502098 ...

Correcciones en la base

View(metas)
View(resultados)

Corremos un resumen del objeto metas para explorar sus variables y su estadística descriptiva.

#Resumen Metas
summary(metas)
##      Metas                         Ventas            Compras        
##  Min.   :2021-01-01 00:00:00   Min.   : 8898685   Min.   : 3681529  
##  1st Qu.:2021-06-16 00:00:00   1st Qu.:12163524   1st Qu.: 5032245  
##  Median :2021-12-01 00:00:00   Median :14994856   Median : 6990261  
##  Mean   :2021-11-30 18:46:57   Mean   :14915417   Mean   : 7254698  
##  3rd Qu.:2022-05-16 12:00:00   3rd Qu.:16869752   3rd Qu.: 8942748  
##  Max.   :2022-11-01 00:00:00   Max.   :22618462   Max.   :12162188  
##                                                                     
##  % margen de compras Total cartera      % total cartera  Cartera Vigente   
##  Min.   :0.4137      Min.   :10293956   Min.   :0.9514   Min.   : 5387374  
##  1st Qu.:0.4137      1st Qu.:14998972   1st Qu.:1.0057   1st Qu.: 7739307  
##  Median :0.4137      Median :17113956   Median :1.1534   Median : 8698825  
##  Mean   :0.4730      Mean   :17340833   Mean   :1.0828   Mean   : 9227172  
##  3rd Qu.:0.5377      3rd Qu.:19803911   3rd Qu.:1.1534   3rd Qu.:10493144  
##  Max.   :0.5377      Max.   :24592617   Max.   :1.1534   Max.   :13543683  
##                                                          NA's   :12        
##  % cartera vigente Cartera Vencida    % cartera vencida % cartera incobrable
##  Min.   :0.3354    Min.   : 8422292   Min.   :0.4250    Min.   :0.2052      
##  1st Qu.:0.4625    1st Qu.: 9299659   1st Qu.:0.4900    1st Qu.:0.2052      
##  Median :0.4807    Median :10072350   Median :0.5193    Median :0.2052      
##  Mean   :0.4722    Mean   : 9971437   Mean   :0.5256    Mean   :0.2052      
##  3rd Qu.:0.5100    3rd Qu.:10485366   3rd Qu.:0.5375    3rd Qu.:0.2052      
##  Max.   :0.5750    Max.   :11406421   Max.   :0.6585    Max.   :0.2052      
##  NA's   :12        NA's   :12         NA's   :12        NA's   :13          
##  Meses de inventario promedio
##  Min.   :5.000               
##  1st Qu.:5.000               
##  Median :5.000               
##  Mean   :5.286               
##  3rd Qu.:5.500               
##  Max.   :6.000               
##  NA's   :16

Imputación por media: Metas

Dado que la cantidad de valores faltantes es muy grande, se realizará una imputación en los datos utilizando su media histórica como parámetro de remplazo para los datos nulos.

metas$Ventas[is.na(metas$Ventas)]<-14915417
metas$Compras[is.na(metas$Compras)]<-7254698
metas$`% margen de compras`[is.na(metas$`% margen de compras`)]<-0.4730
metas$`Total cartera`[is.na(metas$`Total cartera`)]<-17340833 
metas$`% total cartera`[is.na(metas$`% total cartera`)]<-1.0828
metas$`Cartera Vigente`[is.na(metas$`Cartera Vigente`)]<-9227172
metas$`% cartera vigente`[is.na(metas$`% cartera vigente`)]<-0.4722
metas$`Cartera Vencida`[is.na(metas$`Cartera Vencida`)]<-9971437
metas$`% cartera vencida`[is.na(metas$`% cartera vencida`)]<-0.5256
metas$`% cartera incobrable`[is.na(metas$`% cartera incobrable`)]<-0.2052
metas$`Meses de inventario promedio`[is.na(metas$`Meses de inventario promedio`)]<-5.286
#Resumen Resultados
summary(resultados)
##     Metas               Ventas            Compras         % margen de compras
##  Length:14          Min.   : 8925122   Min.   : 3815741   Min.   :0.3708     
##  Class :character   1st Qu.:11768754   1st Qu.: 5549960   1st Qu.:0.4407     
##  Mode  :character   Median :13481454   Median : 8115627   Median :0.5590     
##                     Mean   :13631412   Mean   : 7671427   Mean   :0.5597     
##                     3rd Qu.:15054960   3rd Qu.: 9867093   3rd Qu.:0.6438     
##                     Max.   :19244502   Max.   :11106220   Max.   :0.7575     
##                                                                              
##  Total cartera      % total cartera  Cartera Vigente   % cartera vigente
##  Min.   :11319151   Min.   :0.9119   Min.   :5117224   Min.   :0.3092   
##  1st Qu.:14528729   1st Qu.:1.0944   1st Qu.:5161918   1st Qu.:0.3148   
##  Median :15956630   Median :1.1943   Median :5206613   Median :0.3203   
##  Mean   :15437797   Mean   :1.1520   Mean   :5206613   Mean   :0.3203   
##  3rd Qu.:16432300   3rd Qu.:1.2351   3rd Qu.:5251308   3rd Qu.:0.3259   
##  Max.   :18400319   Max.   :1.2682   Max.   :5296002   Max.   :0.3314   
##                                      NA's   :12        NA's   :12       
##  Cartera Vencida    % cartera vencida Cartera díficil e incobrable
##  Min.   :10683500   Min.   :0.6686    Min.   :3395286             
##  1st Qu.:10870442   1st Qu.:0.6741    1st Qu.:3395286             
##  Median :11057385   Median :0.6797    Median :3395286             
##  Mean   :11057385   Mean   :0.6797    Mean   :3395286             
##  3rd Qu.:11244328   3rd Qu.:0.6852    3rd Qu.:3395286             
##  Max.   :11431270   Max.   :0.6908    Max.   :3395286             
##  NA's   :12         NA's   :12        NA's   :13                  
##  % cartera incobrable Meses de inventario promedio
##  Min.   :0.2052       Min.   :5.236               
##  1st Qu.:0.2052       1st Qu.:5.431               
##  Median :0.2052       Median :6.250               
##  Mean   :0.2052       Mean   :6.723               
##  3rd Qu.:0.2052       3rd Qu.:8.133               
##  Max.   :0.2052       Max.   :8.450               
##  NA's   :13           NA's   :7

Imputación por media: Resultados

resultados$Ventas[is.na(resultados$Ventas)]<-12722651
resultados$Compras[is.na(resultados$Compras)]<-8115627
resultados$`% margen de compras`[is.na(resultados$`% margen de compras`)]<-0.5597
resultados$`Total cartera`[is.na(resultados$`Total cartera`)]<-15437797
resultados$`% total cartera`[is.na(resultados$`% total cartera`)]<-1.1520
resultados$`Cartera Vigente`[is.na(resultados$`Cartera Vigente`)]<-5206613
resultados$`% cartera vigente`[is.na(resultados$`% cartera vigente`)]<-0.3203
resultados$`Cartera Vencida`[is.na(resultados$`Cartera Vencida`)]<-11057385
resultados$`% cartera vencida`[is.na(resultados$`% cartera vencida`)]<-0.6797
resultados$`Cartera díficil e incobrable`[is.na(resultados$`Cartera díficil e incobrable`)]<-3395286
resultados$`% cartera incobrable`[is.na(resultados$`% cartera incobrable`)]<-0.2052
resultados$`Meses de inventario promedio`[is.na(resultados$`Meses de inventario promedio`)]<-6.723  

Revisamos que ya no existan valores nulos en el objeto metas.

#Metas
colSums(is.na(metas))
##                        Metas                       Ventas 
##                            0                            0 
##                      Compras          % margen de compras 
##                            0                            0 
##                Total cartera              % total cartera 
##                            0                            0 
##              Cartera Vigente            % cartera vigente 
##                            0                            0 
##              Cartera Vencida            % cartera vencida 
##                            0                            0 
##         % cartera incobrable Meses de inventario promedio 
##                            0                            0

Del mismo modo, revisamos que no existan valores nulos en el objeto resultados.

#Resultados
colSums(is.na(resultados))
##                        Metas                       Ventas 
##                            0                            0 
##                      Compras          % margen de compras 
##                            0                            0 
##                Total cartera              % total cartera 
##                            0                            0 
##              Cartera Vigente            % cartera vigente 
##                            0                            0 
##              Cartera Vencida            % cartera vencida 
##                            0                            0 
## Cartera díficil e incobrable         % cartera incobrable 
##                            0                            0 
## Meses de inventario promedio 
##                            0

###Ahora, presentando el resultado de la imputación de forma visual: Observamos que ya no existen valores nulos o ausentes en las variables de interés, ya que todas las barras de la gráfica se encuentran en color azul. Lo que nos indica que el proceso de imputación de las variables, fue todo un éxito.

aggr(metas,numbers=T,sortVar=T)

## 
##  Variables sorted by number of missings: 
##                      Variable Count
##                         Metas     0
##                        Ventas     0
##                       Compras     0
##           % margen de compras     0
##                 Total cartera     0
##               % total cartera     0
##               Cartera Vigente     0
##             % cartera vigente     0
##               Cartera Vencida     0
##             % cartera vencida     0
##          % cartera incobrable     0
##  Meses de inventario promedio     0
aggr(resultados,numbers=T,sortVar=T)

## 
##  Variables sorted by number of missings: 
##                      Variable Count
##                         Metas     0
##                        Ventas     0
##                       Compras     0
##           % margen de compras     0
##                 Total cartera     0
##               % total cartera     0
##               Cartera Vigente     0
##             % cartera vigente     0
##               Cartera Vencida     0
##             % cartera vencida     0
##  Cartera díficil e incobrable     0
##          % cartera incobrable     0
##  Meses de inventario promedio     0

Finalmente escribimos dos nuevos archivos con las bases de datos limpias y listas para su procesamiento.

write.csv(metas,"metas_clean.csv")
write.csv(resultados, "resultados_clean.csv")