#SE INSTALAN LOS PAQUETES (SI ES QUE NO SE TIENEN INSTALADOS)
#install.packages("readr")
library(readr)
#install.packages("lubridate")
library(lubridate)
#install.packages("anytime")
library(anytime)
#install.packages("dplyr")
library(dplyr)
En RUTA, reemplazar la ruta con su directorio de trabajo en donde se encuentre Sales.csv
ruta <- "/home/JD/Analisis inteligente de datos/Datos" #DEFINE LA RUTA EN DONDE ESTÁN LOS DATOS
setwd(ruta)
ventas <- read_csv("Sales.csv")
## Parsed with column specification:
## cols(
## Folio = col_character(),
## Hora = col_character(),
## Total = col_double(),
## Pago = col_double(),
## Cajero = col_character()
## )
tail(ventas) #Los últimos seis registros
## # A tibble: 6 x 5
## Folio Hora Total Pago Cajero
## <chr> <chr> <dbl> <dbl> <chr>
## 1 LBVT18070002268 31/08/2018 16:58 43.8 50 JAQUELINE
## 2 LBVT18070002269 31/08/2018 17:03 16.3 16.3 JAQUELINE
## 3 LBVT18070002270 31/08/2018 17:04 28.3 28.3 JAQUELINE
## 4 LBVT18070002271 31/08/2018 17:06 21.4 50 JAQUELINE
## 5 LBVT18070002272 31/08/2018 17:27 50 50 JAQUELINE
## 6 LBVT18070002273 31/08/2018 17:36 30.1 50 JAQUELINE
fechas <- ventas$Hora
#fechas y horas con todos los caracteres
head(fechas)
## [1] "01/05/2018 12:36" "01/05/2018 12:37" "01/05/2018 12:38" "01/05/2018 12:47"
## [5] "01/05/2018 12:48" "01/05/2018 12:53"
fagnio <- as.numeric(substr(fechas, 7, 10))
head(fagnio)
## [1] 2018 2018 2018 2018 2018 2018
fmes <- as.numeric(substr(fechas, 4,5))
head(fmes)
## [1] 5 5 5 5 5 5
fdia <- as.numeric(substr(fechas, 1, 2))
head(fdia)
## [1] 1 1 1 1 1 1
fhora <- as.numeric(substr(fechas, 12, 13))
head(fhora)
## [1] 12 12 12 12 12 12
fminuto <- as.numeric(substr(fechas, 15, 16))
head(fminuto)
## [1] 36 37 38 47 48 53
#Generar el formato de fecha para su mejor tratamiento fechahora
fecha_y_hora <- make_datetime(year = fagnio,
month = fmes,
day = fdia,
hour = fhora,
min = fminuto)
head(fecha_y_hora)
## [1] "2018-05-01 12:36:00 UTC" "2018-05-01 12:37:00 UTC"
## [3] "2018-05-01 12:38:00 UTC" "2018-05-01 12:47:00 UTC"
## [5] "2018-05-01 12:48:00 UTC" "2018-05-01 12:53:00 UTC"
ventas <- mutate(ventas, agnio = fagnio, mes = fmes, dia = fdia, hora = fhora, minuto = fminuto, fechahora = fecha_y_hora)
head(ventas)
## # A tibble: 6 x 11
## Folio Hora Total Pago Cajero agnio mes dia hora minuto
## <chr> <chr> <dbl> <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 LBVT… 01/0… 1121. 1121. MAYTE 2018 5 1 12 36
## 2 LBVT… 01/0… 18.5 20 MAYTE 2018 5 1 12 37
## 3 LBVT… 01/0… 160 200 MAYTE 2018 5 1 12 38
## 4 LBVT… 01/0… 398. 398. MAYTE 2018 5 1 12 47
## 5 LBVT… 01/0… 22 50 MAYTE 2018 5 1 12 48
## 6 LBVT… 01/0… 1314. 1314. MAYTE 2018 5 1 12 53
## # … with 1 more variable: fechahora <dttm>
ventas <- arrange(ventas, fechahora)
head(ventas)
## # A tibble: 6 x 11
## Folio Hora Total Pago Cajero agnio mes dia hora minuto
## <chr> <chr> <dbl> <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 LBVT… 01/0… 88.8 100 ALE H… 2018 5 1 7 46
## 2 LBVT… 01/0… 184. 200 ALE H… 2018 5 1 7 53
## 3 LBVT… 01/0… 497. 500 ALE H… 2018 5 1 7 58
## 4 LBVT… 01/0… 11.5 12 ALE H… 2018 5 1 8 13
## 5 LBVT… 01/0… 200 200 ALE H… 2018 5 1 8 14
## 6 LBVT… 01/0… 177. 500 ALE H… 2018 5 1 8 16
## # … with 1 more variable: fechahora <dttm>
tail(ventas)
## # A tibble: 6 x 11
## Folio Hora Total Pago Cajero agnio mes dia hora minuto
## <chr> <chr> <dbl> <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 LBVT… 31/0… 112. 120 ROSI … 2018 8 31 20 59
## 2 LBVT… 31/0… 345. 345 ROSI … 2018 8 31 21 3
## 3 LBVT… 31/0… 155. 205 ROSI … 2018 8 31 21 6
## 4 LBVT… 31/0… 586. 586. ALE H… 2018 8 31 21 6
## 5 LBVT… 31/0… 113. 113. ALE H… 2018 8 31 21 7
## 6 LBVT… 31/0… 163. 163. ALE H… 2018 8 31 21 13
## # … with 1 more variable: fechahora <dttm>
totalespormes <- data.frame(ventas %>% group_by(month(fechahora)) %>% summarize(frec = n(), total = sum(Total)))
totalespormes <- arrange(totalespormes, desc(total))
totalespormes
## month.fechahora. frec total
## 1 8 23088 4412733
## 2 7 21607 4197541
## 3 6 19838 3749558
## 4 5 20348 3748978
barplot(totalespormes$frec, names.arg = month.name[5:8])
barplot(totalespormes$total, names.arg = month.name[5:8])
totalespordiam <- data.frame(ventas %>% group_by(day(fechahora)) %>% summarize(frec = n(), total = sum(Total)))
totalespordiam <- arrange(totalespordiam, desc(total))
totalespordiam
## day.fechahora. frec total
## 1 19 3209 634982.2
## 2 20 3030 613940.9
## 3 5 3054 599102.4
## 4 3 2859 598909.3
## 5 1 2896 598225.3
## 6 26 3127 598143.7
## 7 12 2895 596444.3
## 8 13 2861 581453.2
## 9 27 2886 553716.7
## 10 6 2831 544872.1
## 11 17 2954 534699.1
## 12 10 2801 530426.5
## 13 29 2674 526266.7
## 14 8 2716 525955.2
## 15 15 2763 525826.6
## 16 30 2681 523042.5
## 17 4 2669 508573.0
## 18 22 2844 496941.9
## 19 7 2702 496837.3
## 20 16 2650 496319.4
## 21 18 2613 493902.0
## 22 14 2598 487313.8
## 23 21 2745 482880.4
## 24 24 2616 482324.3
## 25 11 2555 472398.8
## 26 2 2591 467214.4
## 27 9 2533 461478.3
## 28 23 2549 456681.6
## 29 25 2600 442974.2
## 30 28 2452 427454.4
## 31 31 1927 349509.3
barplot(totalespordiam$frec, names.arg = c("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"))
barplot(totalespordiam$total, names.arg = c("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"))
totalespordia <- data.frame(ventas %>% group_by(day(fechahora),month(fechahora)) %>% summarize(frec = n(), total = sum(Total)))
totalespordia <- arrange(totalespordia, desc(total))
totalespordia
## day.fechahora. month.fechahora. frec total
## 1 19 8 1414 326963.96
## 2 26 8 1224 278824.30
## 3 3 6 1035 252807.49
## 4 12 8 1043 252637.99
## 5 5 8 1043 247912.24
## 6 1 7 989 243835.81
## 7 29 7 927 228395.92
## 8 10 6 971 223796.92
## 9 13 5 924 220230.52
## 10 6 5 938 217337.92
## 11 8 7 957 217023.96
## 12 27 5 939 213355.65
## 13 17 6 1050 212959.97
## 14 20 5 882 205145.87
## 15 15 7 892 204735.35
## 16 22 7 992 202843.19
## 17 24 6 851 192391.89
## 18 20 8 921 181989.98
## 19 18 8 848 170467.92
## 20 4 8 757 163600.78
## 21 7 7 765 162076.87
## 22 11 8 757 156810.84
## 23 16 6 766 154663.79
## 24 14 7 769 151641.28
## 25 30 6 722 148591.44
## 26 30 7 724 148183.60
## 27 13 8 729 147950.50
## 28 21 8 823 146588.39
## 29 9 7 712 144720.88
## 30 5 5 755 143837.33
## 31 18 6 614 143766.56
## 32 1 5 713 143370.63
## 33 6 8 718 142928.35
## 34 21 7 771 142575.34
## 35 23 7 689 141714.37
## 36 31 7 708 141014.31
## 37 2 6 725 138920.29
## 38 2 7 695 138426.26
## 39 14 5 655 137144.68
## 40 11 6 676 136190.31
## 41 27 8 767 133035.16
## 42 12 5 664 132893.27
## 43 9 6 696 132876.78
## 44 3 8 646 132302.87
## 45 7 5 697 131037.49
## 46 20 7 672 129177.59
## 47 25 6 661 128161.26
## 48 4 6 698 128131.44
## 49 26 5 699 127044.04
## 50 25 8 758 126689.54
## 51 17 8 675 126552.56
## 52 28 7 695 126526.89
## 53 23 6 640 125776.42
## 54 30 5 623 125314.18
## 55 16 7 652 123254.66
## 56 3 7 585 121335.07
## 57 1 8 652 118464.13
## 58 15 8 617 117876.52
## 59 28 5 656 117511.66
## 60 16 8 616 116334.66
## 61 21 5 616 116272.39
## 62 31 8 648 116025.64
## 63 27 7 594 114781.94
## 64 13 7 641 114133.10
## 65 15 5 673 113642.24
## 66 12 6 583 112849.60
## 67 10 8 654 112784.25
## 68 14 8 633 109328.58
## 69 4 5 606 108690.41
## 70 7 8 651 108593.31
## 71 8 8 596 108448.50
## 72 4 7 608 108150.40
## 73 24 7 604 107923.97
## 74 19 6 576 107558.37
## 75 5 7 629 106574.61
## 76 10 7 579 105788.81
## 77 19 5 630 105103.66
## 78 25 7 598 104293.43
## 79 26 6 617 104122.30
## 80 29 6 577 103261.78
## 81 22 8 704 102463.63
## 82 16 5 616 102066.33
## 83 17 7 605 101709.63
## 84 8 5 573 101356.14
## 85 30 8 612 100953.23
## 86 5 6 627 100778.26
## 87 13 6 567 99139.10
## 88 8 6 590 99126.59
## 89 29 8 596 98687.00
## 90 2 5 585 98419.29
## 91 12 7 605 98063.45
## 92 20 6 555 97627.45
## 93 22 5 556 97580.41
## 94 6 7 615 97356.20
## 95 18 7 611 96624.15
## 96 29 5 574 95922.01
## 97 23 5 576 95648.54
## 98 9 8 551 95414.66
## 99 19 7 589 95356.26
## 100 7 6 589 95129.64
## 101 28 8 586 95104.24
## 102 22 6 592 94054.71
## 103 23 8 644 93542.30
## 104 17 5 624 93476.97
## 105 1 6 542 92554.74
## 106 27 6 586 92543.98
## 107 31 5 571 92469.37
## 108 3 5 593 92463.90
## 109 24 8 619 92008.76
## 110 2 8 586 91448.59
## 111 11 7 548 91150.47
## 112 24 5 542 89999.65
## 113 15 6 581 89572.48
## 114 14 6 541 89199.31
## 115 9 5 574 88466.00
## 116 28 6 515 88311.64
## 117 11 5 574 88247.16
## 118 26 7 587 88153.07
## 119 10 5 597 88056.56
## 120 6 6 560 87249.67
## 121 25 5 583 83829.97
## 122 18 5 540 83043.39
## 123 21 6 535 77444.26
barplot(totalespordia$frec)
barplot(totalespordia$total)
totalesporhora <- data.frame(ventas %>% group_by(hour(fechahora)) %>% summarize(frec = n(), total = sum(Total)))
totalesporhora <- arrange(totalesporhora, desc(total))
totalesporhora
## hour.fechahora. frec total
## 1 20 8540 1813265.26
## 2 19 7771 1597126.93
## 3 14 7590 1513358.72
## 4 15 7528 1499100.52
## 5 13 6743 1447631.00
## 6 16 7715 1324470.19
## 7 18 6500 1279146.00
## 8 17 6898 1226373.05
## 9 12 5570 1130093.27
## 10 11 5887 960757.34
## 11 10 5217 784896.29
## 12 9 4057 648065.07
## 13 21 1832 479069.84
## 14 8 2515 358712.15
## 15 7 518 46744.66
barplot(totalesporhora$frec, names.arg = c("7","8","9","10","11","12","13","14","15","16","17","18","19","20","21"))
barplot(totalesporhora$total, names.arg = c("7","8","9","10","11","12","13","14","15","16","17","18","19","20","21"))
totalesporcajero <- data.frame(ventas %>% group_by(Cajero) %>% summarize(frec = n(), total = sum(Total)))
totalesporcajero <- arrange(totalesporcajero, desc(frec))
totalesporcajero
## Cajero frec total
## 1 MARICRUZ 11885 2377528.60
## 2 JUAN MARTIN 10287 2043433.47
## 3 ALE HUERTA 10215 2121820.22
## 4 FERNANDO C 10089 2051828.96
## 5 JESUS PEREZ 6739 1307989.69
## 6 MAYTE 5565 1126737.82
## 7 ROSI MEJIA 4934 1030549.23
## 8 MONSE L. 4236 383628.75
## 9 JANET 3594 681716.26
## 10 MIRIAM 3241 674795.88
## 11 GABY LUCIO 2591 555617.24
## 12 LINA 2367 496577.05
## 13 SARAHY 2103 161650.91
## 14 JAQUELINE 1792 205634.67
## 15 ALE DIAZ 1488 321807.38
## 16 EDUARDO V 1265 215377.09
## 17 MIRIAM LANDIN 906 193589.88
## 18 CLAUDIA 783 47937.92
## 19 MAGO 490 43925.29
## 20 ELI C. 188 46397.50
## 21 EDUARDO 123 20266.48
barplot(totalesporcajero$frec, names.arg = totalesporcajero$Cajero)
Analizamos un conjunto de datos proveniente muy probablemente de un comercio, ya que se manejan ventas. Tenemos los campos de: Folio, Hora, Total, Pago y Cajero. Pudimos observar que los últimos seis registros de ventas fueron el 31 de Septiembre de 2018 por la cajera Jacqueline.
Después de limpiar los datos de fecha, deduje que estos registros de ventas son de las fechas 2018-05-01 07:46:00 - 2018-08-31 21:13:00 (1 de Mayo del 2018 a 31 de Agosto de 2018). Los horarios del comercio son de 07:00-21:00.
El mes en el que más se vendió fue el mes de Agosto con $4,412,733 en 23,088 ventas.
El mes en el que menos se vendió fue el mes de Mayo con $3,748,978 en 20,348 ventas.
El día en el que más se vendió fue el 19 de Agosto del 2018 con $326,963.96 en 1,414 ventas.
El día en el que menos se vendió fue el 21 de Junio del 2018 con $77,444.26 en 535 ventas.
La hora en la que más se vendió fue a las 08:00 PM con un total de $1,813,265.26 en 8,540 ventas.
La hora en la que menos se vendió fue a las 07:00 AM con un total de $46,744.66 en 518 ventas.
La cajera que más vendió fue Maricruz con un total de $2,377,528 en 11,855 ventas.
El cajero que menos vendió fue Eduardo con un total de $20,266.48 en 123 ventas.