Importar la Base de Datos

Importar la BD y comenzar a observarla para así poder detectar errores y modificarlos para después poder trabajar

#Importar 
base_de_datos <- read.csv("/Users/gerardorodarte/Desktop/ITESM/Tercer semestre/Bootcamp Programación/Arca/Datos Arca Continental Original.csv")

Entendiendo la BD

summary(base_de_datos)
##        ID              Año        Territorio        Sub.Territorio    
##  Min.   :     1   Min.   :2016   Length:466509      Length:466509     
##  1st Qu.:116628   1st Qu.:2017   Class :character   Class :character  
##  Median :233255   Median :2018   Mode  :character   Mode  :character  
##  Mean   :233255   Mean   :2018                                        
##  3rd Qu.:349882   3rd Qu.:2019                                        
##  Max.   :466509   Max.   :2019                                        
##      CEDI             Cliente             Nombre          Tamaño.Cte.Industria
##  Length:466509      Length:466509      Length:466509      Length:466509       
##  Class :character   Class :character   Class :character   Class :character    
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character    
##                                                                               
##                                                                               
##                                                                               
##  Segmento.Det          Marca           Presentacion          Tamaño         
##  Length:466509      Length:466509      Length:466509      Length:466509     
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##  Retornable_NR         Enero             Febrero             Marzo          
##  Length:466509      Length:466509      Length:466509      Length:466509     
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##     Abril               Mayo              Junio              Julio          
##  Length:466509      Length:466509      Length:466509      Length:466509     
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##     Agosto           Septiembre          Octubre           Noviembre        
##  Length:466509      Length:466509      Length:466509      Length:466509     
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##   Diciembre        
##  Length:466509     
##  Class :character  
##  Mode  :character  
##                    
##                    
## 
str(base_de_datos)
## 'data.frame':    466509 obs. of  25 variables:
##  $ ID                  : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Año                 : int  2016 2016 2016 2016 2016 2016 2016 2016 2016 2016 ...
##  $ Territorio          : chr  "Guadalajara" "Guadalajara" "Guadalajara" "Guadalajara" ...
##  $ Sub.Territorio      : chr  "Belenes" "Belenes" "Belenes" "Belenes" ...
##  $ CEDI                : chr  "Suc. Belenes" "Suc. Belenes" "Suc. Belenes" "Suc. Belenes" ...
##  $ Cliente             : chr  "77737" "77737" "77737" "77737" ...
##  $ Nombre              : chr  "ABARR" "ABARR" "ABARR" "ABARR" ...
##  $ Tamaño.Cte.Industria: chr  "Extra Grande" "Extra Grande" "Extra Grande" "Extra Grande" ...
##  $ Segmento.Det        : chr  "Agua Mineral" "Agua Purificada" "Agua Purificada" "Agua Saborizada" ...
##  $ Marca               : chr  "Topo Chico A.M." "Ciel Agua Purificada" "Ciel Agua Purificada" "Ciel Exprim" ...
##  $ Presentacion        : chr  "600 ml NR" "1 Ltro. N.R." "1.5 Lts. NR" "600 ml NR" ...
##  $ Tamaño              : chr  "Individual" "Individual" "Individual" "Individual" ...
##  $ Retornable_NR       : chr  "No Retornable" "No Retornable" "No Retornable" "No Retornable" ...
##  $ Enero               : chr  "" "" "" "" ...
##  $ Febrero             : chr  "" "2" "" "" ...
##  $ Marzo               : chr  "" "8" "3" "" ...
##  $ Abril               : chr  "" "4" "6" "" ...
##  $ Mayo                : chr  "" "4" "3" "" ...
##  $ Junio               : chr  "" "2" "3" "" ...
##  $ Julio               : chr  "" "2" "3" "" ...
##  $ Agosto              : chr  "" "2" "3" "" ...
##  $ Septiembre          : chr  "" "2" "3" "" ...
##  $ Octubre             : chr  "" "2" "3" "" ...
##  $ Noviembre           : chr  "" "4" "3" "" ...
##  $ Diciembre           : chr  "1" "2" "3" "1" ...
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
count(base_de_datos, Territorio, sort = TRUE)
##    Territorio      n
## 1 Guadalajara 466508
## 2  Territorio      1
count(base_de_datos, Sub.Territorio, sort = TRUE)
##   Sub.Territorio      n
## 1        Belenes 208982
## 2      Huentitán 144196
## 3     Toluquilla 113330
## 4 Sub Territorio      1
count(base_de_datos, CEDI, sort= TRUE)
##              CEDI      n
## 1    Suc. Belenes 208982
## 2  Suc. Huentitán 144196
## 3 Suc. Toluquilla 113330
## 4            CEDI      1
count(base_de_datos,Tamaño.Cte.Industria, sort= TRUE )
##   Tamaño.Cte.Industria      n
## 1         Extra Grande 230190
## 2                Micro 117110
## 3              Pequeño  77875
## 4               Grande  41333
## 5 Tamaño Cte Industria      1
count(base_de_datos, Segmento.Det, sort= TRUE )
##            Segmento.Det      n
## 1       Sabores Regular 156242
## 2         Colas Regular  95720
## 3           Colas Light  43807
## 4      Jugos y Néctares  33362
## 5      Bebidas de Fruta  30641
## 6       Agua Purificada  20766
## 7          Agua Mineral  12590
## 8    Isotónicos Regular  11905
## 9            Té Regular  10062
## 10      Agua Saborizada  10056
## 11  Bebidas Energeticas   9847
## 12        Sabores Light   7330
## 13 Leche UHT Saborizada   6395
## 14    Leche UHT Regular   5618
## 15      Bebidas de Soya   5277
## 16 Leche UHT Especializ   4655
## 17     Isotónicos Light   1009
## 18 Cafe Listo Para Bebe    979
## 19             Té Light    241
## 20               Polvos      6
## 21         Segmento Det      1
Marca<- count(base_de_datos, Marca, sort= TRUE )
Presentacion<- count(base_de_datos, Presentacion, sort= TRUE )
tamaño<-count(base_de_datos, Tamaño, sort= TRUE )
count(base_de_datos, Retornable_NR, sort= TRUE )
##   Retornable_NR      n
## 1 No Retornable 403226
## 2    Retornable  63282
## 3 Retornable_NR      1
#tibble pone los tipos de datos, lo acota al tamaño de la pantalla
tibble(base_de_datos)
## # A tibble: 466,509 × 25
##       ID   Año Territorio  Sub.Terr…¹ CEDI  Cliente Nombre Tamañ…² Segme…³ Marca
##    <int> <int> <chr>       <chr>      <chr> <chr>   <chr>  <chr>   <chr>   <chr>
##  1     1  2016 Guadalajara Belenes    Suc.… 77737   ABARR  Extra … Agua M… Topo…
##  2     2  2016 Guadalajara Belenes    Suc.… 77737   ABARR  Extra … Agua P… Ciel…
##  3     3  2016 Guadalajara Belenes    Suc.… 77737   ABARR  Extra … Agua P… Ciel…
##  4     4  2016 Guadalajara Belenes    Suc.… 77737   ABARR  Extra … Agua S… Ciel…
##  5     5  2016 Guadalajara Belenes    Suc.… 77737   ABARR  Extra … Agua S… Ciel…
##  6     6  2016 Guadalajara Belenes    Suc.… 77737   ABARR  Extra … Agua S… Ciel…
##  7     7  2016 Guadalajara Belenes    Suc.… 77737   ABARR  Extra … Bebida… Dela…
##  8     8  2016 Guadalajara Belenes    Suc.… 77737   ABARR  Extra … Bebida… Dela…
##  9     9  2016 Guadalajara Belenes    Suc.… 77737   ABARR  Extra … Bebida… Frut…
## 10    10  2016 Guadalajara Belenes    Suc.… 77737   ABARR  Extra … Bebida… Pulpy
## # … with 466,499 more rows, 15 more variables: Presentacion <chr>,
## #   Tamaño <chr>, Retornable_NR <chr>, Enero <chr>, Febrero <chr>, Marzo <chr>,
## #   Abril <chr>, Mayo <chr>, Junio <chr>, Julio <chr>, Agosto <chr>,
## #   Septiembre <chr>, Octubre <chr>, Noviembre <chr>, Diciembre <chr>, and
## #   abbreviated variable names ¹​Sub.Territorio, ²​Tamaño.Cte.Industria,
## #   ³​Segmento.Det
#str pone lo mismo pero cargado a la izquierda, nombre de columnas, tipo de variable y registros que hayan"
str(base_de_datos)
## 'data.frame':    466509 obs. of  25 variables:
##  $ ID                  : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Año                 : int  2016 2016 2016 2016 2016 2016 2016 2016 2016 2016 ...
##  $ Territorio          : chr  "Guadalajara" "Guadalajara" "Guadalajara" "Guadalajara" ...
##  $ Sub.Territorio      : chr  "Belenes" "Belenes" "Belenes" "Belenes" ...
##  $ CEDI                : chr  "Suc. Belenes" "Suc. Belenes" "Suc. Belenes" "Suc. Belenes" ...
##  $ Cliente             : chr  "77737" "77737" "77737" "77737" ...
##  $ Nombre              : chr  "ABARR" "ABARR" "ABARR" "ABARR" ...
##  $ Tamaño.Cte.Industria: chr  "Extra Grande" "Extra Grande" "Extra Grande" "Extra Grande" ...
##  $ Segmento.Det        : chr  "Agua Mineral" "Agua Purificada" "Agua Purificada" "Agua Saborizada" ...
##  $ Marca               : chr  "Topo Chico A.M." "Ciel Agua Purificada" "Ciel Agua Purificada" "Ciel Exprim" ...
##  $ Presentacion        : chr  "600 ml NR" "1 Ltro. N.R." "1.5 Lts. NR" "600 ml NR" ...
##  $ Tamaño              : chr  "Individual" "Individual" "Individual" "Individual" ...
##  $ Retornable_NR       : chr  "No Retornable" "No Retornable" "No Retornable" "No Retornable" ...
##  $ Enero               : chr  "" "" "" "" ...
##  $ Febrero             : chr  "" "2" "" "" ...
##  $ Marzo               : chr  "" "8" "3" "" ...
##  $ Abril               : chr  "" "4" "6" "" ...
##  $ Mayo                : chr  "" "4" "3" "" ...
##  $ Junio               : chr  "" "2" "3" "" ...
##  $ Julio               : chr  "" "2" "3" "" ...
##  $ Agosto              : chr  "" "2" "3" "" ...
##  $ Septiembre          : chr  "" "2" "3" "" ...
##  $ Octubre             : chr  "" "2" "3" "" ...
##  $ Noviembre           : chr  "" "4" "3" "" ...
##  $ Diciembre           : chr  "1" "2" "3" "1" ...
#Imprimir los primeros 6 datos de la bd
head(base_de_datos)
##   ID  Año  Territorio Sub.Territorio         CEDI Cliente Nombre
## 1  1 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 2  2 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 3  3 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 4  4 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 5  5 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 6  6 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
##   Tamaño.Cte.Industria    Segmento.Det                Marca   Presentacion
## 1         Extra Grande    Agua Mineral      Topo Chico A.M.      600 ml NR
## 2         Extra Grande Agua Purificada Ciel Agua Purificada   1 Ltro. N.R.
## 3         Extra Grande Agua Purificada Ciel Agua Purificada    1.5 Lts. NR
## 4         Extra Grande Agua Saborizada          Ciel Exprim      600 ml NR
## 5         Extra Grande Agua Saborizada            Ciel Mini 300 ML. NR PET
## 6         Extra Grande Agua Saborizada      Ciel Saborizada   1 Ltro. N.R.
##       Tamaño Retornable_NR Enero Febrero Marzo Abril Mayo Junio Julio Agosto
## 1 Individual No Retornable                                                  
## 2 Individual No Retornable             2     8     4    4     2     2      2
## 3 Individual No Retornable                   3     6    3     3     3      3
## 4 Individual No Retornable                                                  
## 5 Individual No Retornable                                                  
## 6 Individual No Retornable                   1                              
##   Septiembre Octubre Noviembre Diciembre
## 1                                      1
## 2          2       2         4         2
## 3          3       3         3         3
## 4                                      1
## 5                            0          
## 6
#Imprimir los últimos 6 datos de la bd
tail(base_de_datos)
##            ID  Año  Territorio Sub.Territorio           CEDI Cliente Nombre
## 466504 466504 2019 Guadalajara      Huentitán Suc. Huentitán    4531  HECTO
## 466505 466505 2019 Guadalajara      Huentitán Suc. Huentitán    4531  HECTO
## 466506 466506 2019 Guadalajara      Huentitán Suc. Huentitán    4531  HECTO
## 466507 466507 2019 Guadalajara      Huentitán Suc. Huentitán    4531  HECTO
## 466508 466508 2019 Guadalajara      Huentitán Suc. Huentitán    4531  HECTO
## 466509 466509 2019 Guadalajara      Huentitán Suc. Huentitán    4531  HECTO
##        Tamaño.Cte.Industria    Segmento.Det    Marca   Presentacion     Tamaño
## 466504              Pequeño Sabores Regular   Sprite 250 ml. NR PET Individual
## 466505              Pequeño Sabores Regular   Sprite      400 ml NR Individual
## 466506              Pequeño Sabores Regular   Sprite     500 ml Ret Individual
## 466507              Pequeño Sabores Regular   Sprite      600 ml NR Individual
## 466508              Pequeño Sabores Regular   Sprite    Lata 235 ml Individual
## 466509              Pequeño      Té Regular Fuze Tea      600 ml NR Individual
##        Retornable_NR Enero Febrero Marzo Abril Mayo Junio Julio Agosto
## 466504 No Retornable             1           1    1     1             
## 466505 No Retornable             0     1     2          2            1
## 466506    Retornable             6          10    4     8    11      8
## 466507 No Retornable     1       3     4     6    2     4     9      1
## 466508 No Retornable     0       0           0                1       
## 466509 No Retornable             1     2     1    4     1    16       
##        Septiembre Octubre Noviembre Diciembre
## 466504                                       
## 466505                                       
## 466506                                       
## 466507                                       
## 466508                                       
## 466509
#Observaciones
#1. De enero a diciembre, las cantidades de enta cienen como caracter, hay que cambiarlo a entero

#Convertir tipos de variables

library(janitor)
## 
## Attaching package: 'janitor'
## The following objects are masked from 'package:stats':
## 
##     chisq.test, fisher.test
library(tidyverse)
## ── Attaching packages
## ───────────────────────────────────────
## tidyverse 1.3.2 ──
## ✔ ggplot2 3.3.6     ✔ purrr   0.3.4
## ✔ tibble  3.1.8     ✔ stringr 1.4.1
## ✔ tidyr   1.2.1     ✔ forcats 0.5.2
## ✔ readr   2.1.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
base_de_datos$Cliente <- as.integer(base_de_datos$Cliente)
## Warning: NAs introduced by coercion
str(base_de_datos)
## 'data.frame':    466509 obs. of  25 variables:
##  $ ID                  : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Año                 : int  2016 2016 2016 2016 2016 2016 2016 2016 2016 2016 ...
##  $ Territorio          : chr  "Guadalajara" "Guadalajara" "Guadalajara" "Guadalajara" ...
##  $ Sub.Territorio      : chr  "Belenes" "Belenes" "Belenes" "Belenes" ...
##  $ CEDI                : chr  "Suc. Belenes" "Suc. Belenes" "Suc. Belenes" "Suc. Belenes" ...
##  $ Cliente             : int  77737 77737 77737 77737 77737 77737 77737 77737 77737 77737 ...
##  $ Nombre              : chr  "ABARR" "ABARR" "ABARR" "ABARR" ...
##  $ Tamaño.Cte.Industria: chr  "Extra Grande" "Extra Grande" "Extra Grande" "Extra Grande" ...
##  $ Segmento.Det        : chr  "Agua Mineral" "Agua Purificada" "Agua Purificada" "Agua Saborizada" ...
##  $ Marca               : chr  "Topo Chico A.M." "Ciel Agua Purificada" "Ciel Agua Purificada" "Ciel Exprim" ...
##  $ Presentacion        : chr  "600 ml NR" "1 Ltro. N.R." "1.5 Lts. NR" "600 ml NR" ...
##  $ Tamaño              : chr  "Individual" "Individual" "Individual" "Individual" ...
##  $ Retornable_NR       : chr  "No Retornable" "No Retornable" "No Retornable" "No Retornable" ...
##  $ Enero               : chr  "" "" "" "" ...
##  $ Febrero             : chr  "" "2" "" "" ...
##  $ Marzo               : chr  "" "8" "3" "" ...
##  $ Abril               : chr  "" "4" "6" "" ...
##  $ Mayo                : chr  "" "4" "3" "" ...
##  $ Junio               : chr  "" "2" "3" "" ...
##  $ Julio               : chr  "" "2" "3" "" ...
##  $ Agosto              : chr  "" "2" "3" "" ...
##  $ Septiembre          : chr  "" "2" "3" "" ...
##  $ Octubre             : chr  "" "2" "3" "" ...
##  $ Noviembre           : chr  "" "4" "3" "" ...
##  $ Diciembre           : chr  "1" "2" "3" "1" ...
base_de_datos$Enero <- as.integer(base_de_datos$Enero)
## Warning: NAs introduced by coercion
base_de_datos$Febrero <- as.integer(base_de_datos$Febrero)
## Warning: NAs introduced by coercion
base_de_datos$Marzo <- as.integer(base_de_datos$Marzo)
## Warning: NAs introduced by coercion
base_de_datos$Abril <- as.integer(base_de_datos$Abril)
## Warning: NAs introduced by coercion
base_de_datos$Mayo <- as.integer(base_de_datos$Mayo)
## Warning: NAs introduced by coercion
base_de_datos$Junio <- as.integer(base_de_datos$Junio)
## Warning: NAs introduced by coercion
base_de_datos$Julio <- as.integer(base_de_datos$Julio)
## Warning: NAs introduced by coercion
base_de_datos$Agosto <- as.integer(base_de_datos$Agosto)
## Warning: NAs introduced by coercion
base_de_datos$Septiembre <- as.integer(base_de_datos$Septiembre)
## Warning: NAs introduced by coercion
base_de_datos$Octubre <- as.integer(base_de_datos$Octubre)
## Warning: NAs introduced by coercion
base_de_datos$Noviembre <- as.integer(base_de_datos$Noviembre)
## Warning: NAs introduced by coercion
base_de_datos$Diciembre <- as.integer(base_de_datos$Diciembre)
## Warning: NAs introduced by coercion

¿El dataframe tiene NA´s?

Sí, se tienen alrededor de 3,149,804 NA´s

# ¿Cuántos NA tengo en la base de datos?
sum(is.na(base_de_datos))
## [1] 3149804
#¿Cuántos NA tengo por variable?
sapply(base_de_datos, function(x) sum(is.na(x)))
##                   ID                  Año           Territorio 
##                    0                    0                    0 
##       Sub.Territorio                 CEDI              Cliente 
##                    0                    0                    1 
##               Nombre Tamaño.Cte.Industria         Segmento.Det 
##                    0                    0                    0 
##                Marca         Presentacion               Tamaño 
##                    0                    0                    0 
##        Retornable_NR                Enero              Febrero 
##                    0               233552               231286 
##                Marzo                Abril                 Mayo 
##               227507               224186               217073 
##                Junio                Julio               Agosto 
##               215908               223538               220367 
##           Septiembre              Octubre            Noviembre 
##               337402               338483               338546 
##            Diciembre 
##               341955

¿El dataframe tiene datos perdidos?

Encuéntralos y evita que sean un problema en tu análisis de datos. El dataframe si tiene datos perdidos, de repente se observan números negativos en valores de ventas. Es muy probable que estos valores se hayan perdido a la hora de exportar la BD

summary(base_de_datos)
##        ID              Año        Territorio        Sub.Territorio    
##  Min.   :     1   Min.   :2016   Length:466509      Length:466509     
##  1st Qu.:116628   1st Qu.:2017   Class :character   Class :character  
##  Median :233255   Median :2018   Mode  :character   Mode  :character  
##  Mean   :233255   Mean   :2018                                        
##  3rd Qu.:349882   3rd Qu.:2019                                        
##  Max.   :466509   Max.   :2019                                        
##                                                                       
##      CEDI              Cliente         Nombre          Tamaño.Cte.Industria
##  Length:466509      Min.   :    3   Length:466509      Length:466509       
##  Class :character   1st Qu.: 2509   Class :character   Class :character    
##  Mode  :character   Median : 5488   Mode  :character   Mode  :character    
##                     Mean   :16768                                          
##                     3rd Qu.: 9267                                          
##                     Max.   :99998                                          
##                     NA's   :1                                              
##  Segmento.Det          Marca           Presentacion          Tamaño         
##  Length:466509      Length:466509      Length:466509      Length:466509     
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##  Retornable_NR          Enero           Febrero           Marzo       
##  Length:466509      Min.   :-19.00   Min.   :-11.00   Min.   :-32.00  
##  Class :character   1st Qu.:  1.00   1st Qu.:  1.00   1st Qu.:  1.00  
##  Mode  :character   Median :  2.00   Median :  2.00   Median :  3.00  
##                     Mean   :  9.39   Mean   :  9.09   Mean   : 10.54  
##                     3rd Qu.:  6.00   3rd Qu.:  6.00   3rd Qu.:  6.00  
##                     Max.   :999.00   Max.   :986.00   Max.   :986.00  
##                     NA's   :233552   NA's   :231286   NA's   :227507  
##      Abril             Mayo             Junio             Julio       
##  Min.   :-70.00   Min.   :-106.00   Min.   :-211.00   Min.   :-60.00  
##  1st Qu.:  1.00   1st Qu.:   1.00   1st Qu.:   1.00   1st Qu.:  1.00  
##  Median :  3.00   Median :   3.00   Median :   3.00   Median :  2.00  
##  Mean   : 10.62   Mean   :  11.44   Mean   :  10.98   Mean   : 10.72  
##  3rd Qu.:  6.00   3rd Qu.:   7.00   3rd Qu.:   6.00   3rd Qu.:  6.00  
##  Max.   :993.00   Max.   : 991.00   Max.   : 998.00   Max.   :993.00  
##  NA's   :224186   NA's   :217073    NA's   :215908    NA's   :223538  
##      Agosto          Septiembre        Octubre         Noviembre     
##  Min.   :-211.00   Min.   :-527     Min.   :-38.0    Min.   :-25.0   
##  1st Qu.:   1.00   1st Qu.:   1     1st Qu.:  1.0    1st Qu.:  1.0   
##  Median :   3.00   Median :   3     Median :  3.0    Median :  3.0   
##  Mean   :  10.95   Mean   :  12     Mean   : 12.1    Mean   : 11.8   
##  3rd Qu.:   6.00   3rd Qu.:   7     3rd Qu.:  7.0    3rd Qu.:  6.0   
##  Max.   : 999.00   Max.   : 993     Max.   :998.0    Max.   :991.0   
##  NA's   :220367    NA's   :337402   NA's   :338483   NA's   :338546  
##    Diciembre     
##  Min.   :-28     
##  1st Qu.:  1     
##  Median :  3     
##  Mean   : 13     
##  3rd Qu.:  7     
##  Max.   :997     
##  NA's   :341955

¿El dataframe tiene datos atípicos?

Haz un gráfico que permita visualizarlos y utiliza el concepto de media winzorizada o media recortada para evitar que sesguen los valores de los estadísticos descriptivos. El dataframe sí tiene datos atípicos, para visualizarlos utilizamos, además de la ggplot(), un diagrama de caja y bigotes para visualizar un tanto mejor estos datos

#Detectar valores atípicos
boxplot(base_de_datos$Enero, horizontal = TRUE)

boxplot(base_de_datos$Diciembre, horizontal = TRUE)

# Valores atípicos con ggplot2 install.packages("tidyverse")
library(ggplot2)
ggplot(data=base_de_datos, aes(Febrero, CEDI)) + geom_point()
## Warning: Removed 231286 rows containing missing values (geom_point).

Funciones

Select

Muestra las ventas de Enero a Junio por Cedi.

#SELECT
library(dplyr)
select <- select(base_de_datos, CEDI, Enero:Junio)
head(select)
##           CEDI Enero Febrero Marzo Abril Mayo Junio
## 1 Suc. Belenes    NA      NA    NA    NA   NA    NA
## 2 Suc. Belenes    NA       2     8     4    4     2
## 3 Suc. Belenes    NA      NA     3     6    3     3
## 4 Suc. Belenes    NA      NA    NA    NA   NA    NA
## 5 Suc. Belenes    NA      NA    NA    NA   NA    NA
## 6 Suc. Belenes    NA      NA     1    NA   NA    NA

Filter

Muestra los movimientos por Cedi y tamaño de tienda grande.

#FILTER
library(dplyr)
filter <- filter(base_de_datos, Tamaño.Cte.Industria=="Grande")
head(filter)
##       ID  Año  Territorio Sub.Territorio         CEDI Cliente Nombre
## 1 374960 2019 Guadalajara        Belenes Suc. Belenes    7657  FROYL
## 2 374961 2019 Guadalajara        Belenes Suc. Belenes    7657  FROYL
## 3 374962 2019 Guadalajara        Belenes Suc. Belenes    7657  FROYL
## 4 374963 2019 Guadalajara        Belenes Suc. Belenes    7657  FROYL
## 5 374964 2019 Guadalajara        Belenes Suc. Belenes    7657  FROYL
## 6 374965 2019 Guadalajara        Belenes Suc. Belenes    7657  FROYL
##   Tamaño.Cte.Industria    Segmento.Det                Marca Presentacion
## 1               Grande    Agua Mineral    Ciel Mineralizada    600 ml NR
## 2               Grande    Agua Mineral      Topo Chico A.M.  1.5 Lts. NR
## 3               Grande    Agua Mineral      Topo Chico A.M.    600 ml NR
## 4               Grande Agua Purificada Ciel Agua Purificada 1 Ltro. N.R.
## 5               Grande Agua Purificada Ciel Agua Purificada  1.5 Lts. NR
## 6               Grande Agua Purificada Ciel Agua Purificada    5 Lts. NR
##       Tamaño Retornable_NR Enero Febrero Marzo Abril Mayo Junio Julio Agosto
## 1 Individual No Retornable     1      NA    NA     1    1    NA    NA     NA
## 2   Familiar No Retornable    NA       2     5     2    2     2    NA      2
## 3 Individual No Retornable     1       3     3     3    4     1     1      3
## 4 Individual No Retornable     8       2    23    13   21     8    15     19
## 5 Individual No Retornable    13      13    25    22   29    13    10     22
## 6   Familiar No Retornable     4       7    14    14   11    11     7     11
##   Septiembre Octubre Noviembre Diciembre
## 1         NA      NA        NA        NA
## 2         NA      NA        NA        NA
## 3         NA      NA        NA        NA
## 4         NA      NA        NA        NA
## 5         NA      NA        NA        NA
## 6         NA      NA        NA        NA
#No vale la pena filtrar por CEDI porque todos son CEDIS, por poner un ejemplo, sería como querer filtrar pequeños granos de arena 
#con una red con cuadros grandes.

Arrange

Ordena la base de datos por Cedi, por marca y por presentación.

#ARRANGE
library(dplyr)
arrangeCEDI <- arrange(base_de_datos,CEDI)
head(arrangeCEDI)
##       ID  Año  Territorio Sub.Territorio         CEDI Cliente Nombre
## 1 184065 2018  Territorio Sub Territorio         CEDI      NA Nombre
## 2      1 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 3      2 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 4      3 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 5      4 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 6      5 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
##   Tamaño.Cte.Industria    Segmento.Det                Marca   Presentacion
## 1 Tamaño Cte Industria    Segmento Det                Marca   Presentacion
## 2         Extra Grande    Agua Mineral      Topo Chico A.M.      600 ml NR
## 3         Extra Grande Agua Purificada Ciel Agua Purificada   1 Ltro. N.R.
## 4         Extra Grande Agua Purificada Ciel Agua Purificada    1.5 Lts. NR
## 5         Extra Grande Agua Saborizada          Ciel Exprim      600 ml NR
## 6         Extra Grande Agua Saborizada            Ciel Mini 300 ML. NR PET
##       Tamaño Retornable_NR Enero Febrero Marzo Abril Mayo Junio Julio Agosto
## 1     Tamaño Retornable_NR    NA      NA    NA    NA   NA    NA    NA     NA
## 2 Individual No Retornable    NA      NA    NA    NA   NA    NA    NA     NA
## 3 Individual No Retornable    NA       2     8     4    4     2     2      2
## 4 Individual No Retornable    NA      NA     3     6    3     3     3      3
## 5 Individual No Retornable    NA      NA    NA    NA   NA    NA    NA     NA
## 6 Individual No Retornable    NA      NA    NA    NA   NA    NA    NA     NA
##   Septiembre Octubre Noviembre Diciembre
## 1         NA      NA        NA        NA
## 2         NA      NA        NA         1
## 3          2       2         4         2
## 4          3       3         3         3
## 5         NA      NA        NA         1
## 6         NA      NA         0        NA
arrangeMARCA <-arrange(base_de_datos, Marca)
head(arrangeMARCA)
##       ID  Año  Territorio Sub.Territorio           CEDI Cliente Nombre
## 1 184080 2018 Guadalajara      Huentitán Suc. Huentitán    2658   DIAZ
## 2 184081 2018 Guadalajara      Huentitán Suc. Huentitán    2658   DIAZ
## 3 184296 2018 Guadalajara      Huentitán Suc. Huentitán    2682  VARGA
## 4 184297 2018 Guadalajara      Huentitán Suc. Huentitán    2682  VARGA
## 5 184410 2018 Guadalajara      Huentitán Suc. Huentitán    2687  MARIA
## 6 184519 2018 Guadalajara      Huentitán Suc. Huentitán    2713  MARIA
##   Tamaño.Cte.Industria    Segmento.Det       Marca    Presentacion     Tamaño
## 1         Extra Grande Bebidas de Soya AdeS Frutal    200 ml Tetra Individual
## 2         Extra Grande Bebidas de Soya AdeS Frutal 946 ml NR Tetra   Familiar
## 3         Extra Grande Bebidas de Soya AdeS Frutal    200 ml Tetra Individual
## 4         Extra Grande Bebidas de Soya AdeS Frutal 946 ml NR Tetra   Familiar
## 5         Extra Grande Bebidas de Soya AdeS Frutal    200 ml Tetra Individual
## 6         Extra Grande Bebidas de Soya AdeS Frutal    200 ml Tetra Individual
##   Retornable_NR Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre
## 1 No Retornable    NA      NA    NA    NA   NA    NA    NA     NA         NA
## 2 No Retornable    NA      NA    NA    NA   NA    NA    NA     NA         NA
## 3 No Retornable    NA      NA    NA    NA   NA    NA    NA     NA         NA
## 4 No Retornable    NA      NA    NA    NA   NA    NA    NA     NA         NA
## 5 No Retornable    NA      NA    NA    NA   NA    NA    NA     NA         NA
## 6 No Retornable    NA      NA    NA    NA   NA    NA    NA     NA         NA
##   Octubre Noviembre Diciembre
## 1      NA         1        NA
## 2      NA        NA         0
## 3      NA         0         0
## 4      NA         2        NA
## 5      NA         0         0
## 6      NA         0        NA
arrangePRESENTACION <-arrange(base_de_datos, Presentacion)
head(arrangePRESENTACION)
##       ID  Año  Territorio Sub.Territorio            CEDI Cliente Nombre
## 1 262937 2019 Guadalajara     Toluquilla Suc. Toluquilla    3961  MINI 
## 2 263111 2019 Guadalajara     Toluquilla Suc. Toluquilla    4026  ABARR
## 3 263199 2019 Guadalajara     Toluquilla Suc. Toluquilla    4050  MARTI
## 4 263295 2019 Guadalajara     Toluquilla Suc. Toluquilla    4122  ESMER
## 5 263405 2019 Guadalajara     Toluquilla Suc. Toluquilla    4167  MINI 
## 6 263521 2019 Guadalajara     Toluquilla Suc. Toluquilla    4169  CREME
##   Tamaño.Cte.Industria  Segmento.Det     Marca Presentacion   Tamaño
## 1         Extra Grande Colas Regular Coca-Cola  1 Ltro Ret. Familiar
## 2         Extra Grande Colas Regular Coca-Cola  1 Ltro Ret. Familiar
## 3         Extra Grande Colas Regular Coca-Cola  1 Ltro Ret. Familiar
## 4         Extra Grande Colas Regular Coca-Cola  1 Ltro Ret. Familiar
## 5         Extra Grande Colas Regular Coca-Cola  1 Ltro Ret. Familiar
## 6         Extra Grande Colas Regular Coca-Cola  1 Ltro Ret. Familiar
##   Retornable_NR Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre
## 1    Retornable    NA      NA    30   129  222   127   142    186         NA
## 2    Retornable    NA      NA     8    85   53    38    44     44         NA
## 3    Retornable    NA      NA    NA    21  101    97    40     NA         NA
## 4    Retornable    NA      NA    34   104  112    63    89     93         NA
## 5    Retornable    NA      NA    15     4    4    17     6     13         NA
## 6    Retornable    NA      NA    53   159  125   116   120    123         NA
##   Octubre Noviembre Diciembre
## 1      NA        NA        NA
## 2      NA        NA        NA
## 3      NA        NA        NA
## 4      NA        NA        NA
## 5      NA        NA        NA
## 6      NA        NA        NA
arrangeGENERAL <- arrange(base_de_datos, CEDI, Marca, Presentacion)
head(arrangeGENERAL)
##       ID  Año  Territorio Sub.Territorio         CEDI Cliente Nombre
## 1 184065 2018  Territorio Sub Territorio         CEDI      NA Nombre
## 2 200110 2018 Guadalajara        Belenes Suc. Belenes    7800  SAN I
## 3 200224 2018 Guadalajara        Belenes Suc. Belenes    7875  ABARR
## 4 200461 2018 Guadalajara        Belenes Suc. Belenes    7917  ABARR
## 5 200576 2018 Guadalajara        Belenes Suc. Belenes    8010  ABARR
## 6 200682 2018 Guadalajara        Belenes Suc. Belenes    8186  SUPER
##   Tamaño.Cte.Industria    Segmento.Det       Marca Presentacion     Tamaño
## 1 Tamaño Cte Industria    Segmento Det       Marca Presentacion     Tamaño
## 2         Extra Grande Bebidas de Soya AdeS Frutal 200 ml Tetra Individual
## 3         Extra Grande Bebidas de Soya AdeS Frutal 200 ml Tetra Individual
## 4         Extra Grande Bebidas de Soya AdeS Frutal 200 ml Tetra Individual
## 5         Extra Grande Bebidas de Soya AdeS Frutal 200 ml Tetra Individual
## 6         Extra Grande Bebidas de Soya AdeS Frutal 200 ml Tetra Individual
##   Retornable_NR Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre
## 1 Retornable_NR    NA      NA    NA    NA   NA    NA    NA     NA         NA
## 2 No Retornable    NA      NA    NA    NA   NA    NA    NA     NA         NA
## 3 No Retornable    NA      NA    NA    NA   NA    NA    NA     NA         NA
## 4 No Retornable    NA      NA    NA    NA   NA    NA    NA     NA         NA
## 5 No Retornable    NA      NA    NA    NA   NA    NA    NA     NA         NA
## 6 No Retornable    NA      NA    NA    NA   NA    NA    NA     NA         NA
##   Octubre Noviembre Diciembre
## 1      NA        NA        NA
## 2      NA         1         1
## 3      NA         2        NA
## 4      NA         1        NA
## 5      NA         6         3
## 6      NA         6         3

Rename

Cambia el nombre del campo Sub Territorio por Sub_territorio

#RENAME
library(dplyr)
rename <- rename(base_de_datos, Sub_territorio = Sub.Territorio)
head(rename)
##   ID  Año  Territorio Sub_territorio         CEDI Cliente Nombre
## 1  1 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 2  2 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 3  3 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 4  4 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 5  5 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 6  6 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
##   Tamaño.Cte.Industria    Segmento.Det                Marca   Presentacion
## 1         Extra Grande    Agua Mineral      Topo Chico A.M.      600 ml NR
## 2         Extra Grande Agua Purificada Ciel Agua Purificada   1 Ltro. N.R.
## 3         Extra Grande Agua Purificada Ciel Agua Purificada    1.5 Lts. NR
## 4         Extra Grande Agua Saborizada          Ciel Exprim      600 ml NR
## 5         Extra Grande Agua Saborizada            Ciel Mini 300 ML. NR PET
## 6         Extra Grande Agua Saborizada      Ciel Saborizada   1 Ltro. N.R.
##       Tamaño Retornable_NR Enero Febrero Marzo Abril Mayo Junio Julio Agosto
## 1 Individual No Retornable    NA      NA    NA    NA   NA    NA    NA     NA
## 2 Individual No Retornable    NA       2     8     4    4     2     2      2
## 3 Individual No Retornable    NA      NA     3     6    3     3     3      3
## 4 Individual No Retornable    NA      NA    NA    NA   NA    NA    NA     NA
## 5 Individual No Retornable    NA      NA    NA    NA   NA    NA    NA     NA
## 6 Individual No Retornable    NA      NA     1    NA   NA    NA    NA     NA
##   Septiembre Octubre Noviembre Diciembre
## 1         NA      NA        NA         1
## 2          2       2         4         2
## 3          3       3         3         3
## 4         NA      NA        NA         1
## 5         NA      NA         0        NA
## 6         NA      NA        NA        NA

Mutate

Agrega un campo calculado con las ventas del primer semestre y muestra las ventas del primer semestre por marca.

a <-sum(base_de_datos$Enero, base_de_datos$Febrero, base_de_datos$Marzo, base_de_datos$Abril, base_de_datos$Mayo, base_de_datos$Junio, na.rm = TRUE)
a
## [1] 15025169
library(dplyr)
mutatet <- mutate(base_de_datos,Primer_semestre = a)
head(mutatet)
##   ID  Año  Territorio Sub.Territorio         CEDI Cliente Nombre
## 1  1 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 2  2 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 3  3 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 4  4 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 5  5 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
## 6  6 2016 Guadalajara        Belenes Suc. Belenes   77737  ABARR
##   Tamaño.Cte.Industria    Segmento.Det                Marca   Presentacion
## 1         Extra Grande    Agua Mineral      Topo Chico A.M.      600 ml NR
## 2         Extra Grande Agua Purificada Ciel Agua Purificada   1 Ltro. N.R.
## 3         Extra Grande Agua Purificada Ciel Agua Purificada    1.5 Lts. NR
## 4         Extra Grande Agua Saborizada          Ciel Exprim      600 ml NR
## 5         Extra Grande Agua Saborizada            Ciel Mini 300 ML. NR PET
## 6         Extra Grande Agua Saborizada      Ciel Saborizada   1 Ltro. N.R.
##       Tamaño Retornable_NR Enero Febrero Marzo Abril Mayo Junio Julio Agosto
## 1 Individual No Retornable    NA      NA    NA    NA   NA    NA    NA     NA
## 2 Individual No Retornable    NA       2     8     4    4     2     2      2
## 3 Individual No Retornable    NA      NA     3     6    3     3     3      3
## 4 Individual No Retornable    NA      NA    NA    NA   NA    NA    NA     NA
## 5 Individual No Retornable    NA      NA    NA    NA   NA    NA    NA     NA
## 6 Individual No Retornable    NA      NA     1    NA   NA    NA    NA     NA
##   Septiembre Octubre Noviembre Diciembre Primer_semestre
## 1         NA      NA        NA         1        15025169
## 2          2       2         4         2        15025169
## 3          3       3         3         3        15025169
## 4         NA      NA        NA         1        15025169
## 5         NA      NA         0        NA        15025169
## 6         NA      NA        NA        NA        15025169

Mutate por marca

#MUTATEPORMARCA
por_marca <- group_by(base_de_datos, Marca)
marcasyventas <- summarize(por_marca, Ventas_Primer_Semestre_Por_Marca=sum(Enero, Febrero, Marzo, Abril, Mayo, Junio, na.rm=TRUE))
print(marcasyventas, n=56)
## # A tibble: 56 × 2
##    Marca                Ventas_Primer_Semestre_Por_Marca
##    <chr>                                           <int>
##  1 AdeS Frutal                                      8126
##  2 AdeS Lácteo                                      4413
##  3 Barista Bros                                      334
##  4 Bebere                                           1034
##  5 Burn                                             5070
##  6 Café Blak                                          79
##  7 Ciel Agua Purificada                           863355
##  8 Ciel Exprim                                     33959
##  9 Ciel Mineralizada                               18043
## 10 Ciel Mini                                        4942
## 11 Ciel Saborizada                                  6545
## 12 Coca-Cola                                    10916376
## 13 Coca-Cola Life                                   6958
## 14 Coca-Cola Light                                641160
## 15 Coca-Cola Light Sin                               257
## 16 Coca-Cola Sin Azúcar                           119168
## 17 Coca-Cola Zero                                  54630
## 18 Del Valle                                      198545
## 19 Del Valle Bits                                      0
## 20 Del Valle Blends                                  207
## 21 Del Valle Nutridefen                              581
## 22 Del Valle NutriForte                              105
## 23 Del Valle NutriVeget                                0
## 24 Del Valle Reserva                               39939
## 25 Del Valle y Nada                                84066
## 26 Delaware Punch                                  29829
## 27 Fanta                                          355534
## 28 Fanta Zero                                        163
## 29 Fresca                                         205936
## 30 Fresca Zero                                        63
## 31 Frutsi                                          47832
## 32 Fuze Tea                                        78075
## 33 Fuze Tea Light                                    474
## 34 Glacéau                                          5891
## 35 Joya                                             2696
## 36 Manzana Lift                                   202237
## 37 Manzana Lift Zero                                 129
## 38 Marca                                               0
## 39 Mixtos                                             86
## 40 Monster Energy                                  10966
## 41 Powerade                                        98485
## 42 Powerade Zero                                    1410
## 43 Pulpy                                            4603
## 44 Santa Clara Deslacto                            21868
## 45 Santa Clara Entera                              17124
## 46 Santa Clara Light                                5392
## 47 Santa Clara Saboriza                            21086
## 48 Senzao                                          25702
## 49 Sidral Mundet                                  144758
## 50 Sidral Mundet Light                                 0
## 51 Sprite                                         480446
## 52 Sprite Zero                                     30283
## 53 Topo Chico A.M.                                 55201
## 54 Topo Chico Sangría                                  0
## 55 Topo Chico Sangría L                                0
## 56 Valle Frut                                     171008

No se puede agregar a la base porque solo tiene 56 filas

Summarise

Obtén la media de las ventas del primer semestre agrupado por marca, presentación y tamaño.

Por Marca

#SUMMARISE
por_prommarca <- group_by(base_de_datos, Marca)
promediomarcasyventas <- summarize(por_prommarca, Promedio_Ventas_Primer_Semestre_Por_Marca=mean (Enero&Febrero&Marzo&Abril&Mayo&Junio, na.rm=TRUE))
promediomarcasyventas
## # A tibble: 56 × 2
##    Marca                Promedio_Ventas_Primer_Semestre_Por_Marca
##    <chr>                                                    <dbl>
##  1 AdeS Frutal                                             0.0654
##  2 AdeS Lácteo                                             0.0434
##  3 Barista Bros                                            0     
##  4 Bebere                                                  0.190 
##  5 Burn                                                    0.0646
##  6 Café Blak                                               1     
##  7 Ciel Agua Purificada                                    0.926 
##  8 Ciel Exprim                                             0.998 
##  9 Ciel Mineralizada                                       0.972 
## 10 Ciel Mini                                               0.255 
## # … with 46 more rows

Por Presentación

por_prompresentacion <- group_by(base_de_datos, Presentacion)
promediopresentacionyventas <- summarize(por_prompresentacion, Promedio_Ventas_Primer_Semestre_Por_Presentacion=mean(Enero&Febrero&Marzo&Abril&Mayo&Junio, na.rm=TRUE))
promediopresentacionyventas
## # A tibble: 57 × 2
##    Presentacion     Promedio_Ventas_Primer_Semestre_Por_Presentacion
##    <chr>                                                       <dbl>
##  1 1 Ltro Ret.                                              NaN     
##  2 1 Ltro. N.R.                                               0.989 
##  3 1 Ltro. Tetra                                              0.947 
##  4 1.250 Lts NR                                               0.999 
##  5 1.5 Lts. NR                                                0.994 
##  6 1.5 Lts. Ret                                               0.995 
##  7 1.750 Lts NR                                               0.994 
##  8 100 ml NR Tetra                                            0.0710
##  9 12 Oz. NR Pet                                              0.957 
## 10 12 Oz. NR Vidrio                                           0.9   
## # … with 47 more rows

Por tamaño

por_promtamaño <- group_by(base_de_datos, Tamaño)
promediotamañoyventas <- summarize(por_promtamaño, Promedio_Ventas_Primer_Semestre_Por_Tamaño=mean(Enero&Febrero&Marzo&Abril&Mayo&Junio, na.rm=TRUE))
promediotamañoyventas
## # A tibble: 3 × 2
##   Tamaño     Promedio_Ventas_Primer_Semestre_Por_Tamaño
##   <chr>                                           <dbl>
## 1 Familiar                                        0.966
## 2 Individual                                      0.565
## 3 Tamaño                                        NaN

Calcular medidas de tendencia

En las indicaciones no se especifíca sobre qué datos hay que obtener las medidas de tendencia central, por lo tanto, la mejor idea es poner un summary de la base de datos para así obtener la media y mediana,

summary(base_de_datos)
##        ID              Año        Territorio        Sub.Territorio    
##  Min.   :     1   Min.   :2016   Length:466509      Length:466509     
##  1st Qu.:116628   1st Qu.:2017   Class :character   Class :character  
##  Median :233255   Median :2018   Mode  :character   Mode  :character  
##  Mean   :233255   Mean   :2018                                        
##  3rd Qu.:349882   3rd Qu.:2019                                        
##  Max.   :466509   Max.   :2019                                        
##                                                                       
##      CEDI              Cliente         Nombre          Tamaño.Cte.Industria
##  Length:466509      Min.   :    3   Length:466509      Length:466509       
##  Class :character   1st Qu.: 2509   Class :character   Class :character    
##  Mode  :character   Median : 5488   Mode  :character   Mode  :character    
##                     Mean   :16768                                          
##                     3rd Qu.: 9267                                          
##                     Max.   :99998                                          
##                     NA's   :1                                              
##  Segmento.Det          Marca           Presentacion          Tamaño         
##  Length:466509      Length:466509      Length:466509      Length:466509     
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##  Retornable_NR          Enero           Febrero           Marzo       
##  Length:466509      Min.   :-19.00   Min.   :-11.00   Min.   :-32.00  
##  Class :character   1st Qu.:  1.00   1st Qu.:  1.00   1st Qu.:  1.00  
##  Mode  :character   Median :  2.00   Median :  2.00   Median :  3.00  
##                     Mean   :  9.39   Mean   :  9.09   Mean   : 10.54  
##                     3rd Qu.:  6.00   3rd Qu.:  6.00   3rd Qu.:  6.00  
##                     Max.   :999.00   Max.   :986.00   Max.   :986.00  
##                     NA's   :233552   NA's   :231286   NA's   :227507  
##      Abril             Mayo             Junio             Julio       
##  Min.   :-70.00   Min.   :-106.00   Min.   :-211.00   Min.   :-60.00  
##  1st Qu.:  1.00   1st Qu.:   1.00   1st Qu.:   1.00   1st Qu.:  1.00  
##  Median :  3.00   Median :   3.00   Median :   3.00   Median :  2.00  
##  Mean   : 10.62   Mean   :  11.44   Mean   :  10.98   Mean   : 10.72  
##  3rd Qu.:  6.00   3rd Qu.:   7.00   3rd Qu.:   6.00   3rd Qu.:  6.00  
##  Max.   :993.00   Max.   : 991.00   Max.   : 998.00   Max.   :993.00  
##  NA's   :224186   NA's   :217073    NA's   :215908    NA's   :223538  
##      Agosto          Septiembre        Octubre         Noviembre     
##  Min.   :-211.00   Min.   :-527     Min.   :-38.0    Min.   :-25.0   
##  1st Qu.:   1.00   1st Qu.:   1     1st Qu.:  1.0    1st Qu.:  1.0   
##  Median :   3.00   Median :   3     Median :  3.0    Median :  3.0   
##  Mean   :  10.95   Mean   :  12     Mean   : 12.1    Mean   : 11.8   
##  3rd Qu.:   6.00   3rd Qu.:   7     3rd Qu.:  7.0    3rd Qu.:  6.0   
##  Max.   : 999.00   Max.   : 993     Max.   :998.0    Max.   :991.0   
##  NA's   :220367    NA's   :337402   NA's   :338483   NA's   :338546  
##    Diciembre     
##  Min.   :-28     
##  1st Qu.:  1     
##  Median :  3     
##  Mean   : 13     
##  3rd Qu.:  7     
##  Max.   :997     
##  NA's   :341955

En tanto a la moda, elegí dos valores para obtenerla, dada una función

# Función para hallar la moda
mode <- function(x){
  ux <- unique(x)
  ux[which.max(tabulate(match(x,ux)))]
}
# Nota: Si ningún dato se repite, la función coloca el primer valor en lugar de marcar error.

Moda de Enero

mode(base_de_datos$Enero)
## [1] NA

La moda es “NA” porque es el valor más repetido

Mode de Cliente

mode(base_de_datos$Cliente)
## [1] 286

El cliente 286 es el más presente en la base de datos

Conclusiones

En este ejercicio se perfeccionó el uso de funciones y de manipulación de datos en R, principalmente se manipularon los datos de la BD de ArcaContinental y se pusieron en práctica las funciones de Select, Filter, Arrange, Rename, Mutate y Summarise, todo esto con el propósito de aplicarlo en futuros proyectos y bases de datos