Utilizar {r warning=FALSE, message=FALSE} Para que no muestre mensajes y warnings
library(readr) # Para leer datos
library(lubridate) # Para fechas y Times
##
## Attaching package: 'lubridate'
## The following object is masked from 'package:base':
##
## date
library(anytime) # Para fechas y Times
library(dplyr) # Para filters(), select(),...mutate(), arrange()...
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:lubridate':
##
## intersect, setdiff, union
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
ventas <- read_csv("C:/Users/david/Desktop/AID/DATOS/Sales.csv")
## Parsed with column specification:
## cols(
## Folio = col_character(),
## Hora = col_character(),
## Total = col_double(),
## Pago = col_double(),
## Cajero = col_character()
## )
ventas <- as.data.frame(ventas) # Es un data frame
head(ventas)
## Folio Hora Total Pago Cajero
## 1 LBVT18010004435 01/05/2018 12:36 1121.20 1121.20 MAYTE
## 2 LBVT18010004436 01/05/2018 12:37 18.50 20.00 MAYTE
## 3 LBVT18010004437 01/05/2018 12:38 160.00 200.00 MAYTE
## 4 LBVT18010004438 01/05/2018 12:47 397.50 397.50 MAYTE
## 5 LBVT18010004439 01/05/2018 12:48 22.00 50.00 MAYTE
## 6 LBVT18010004440 01/05/2018 12:53 1314.19 1314.19 MAYTE
tail(ventas) # los últimos seis registros
## Folio Hora Total Pago Cajero
## 84876 LBVT18070002268 31/08/2018 16:58 43.80 50.00 JAQUELINE
## 84877 LBVT18070002269 31/08/2018 17:03 16.32 16.32 JAQUELINE
## 84878 LBVT18070002270 31/08/2018 17:04 28.32 28.32 JAQUELINE
## 84879 LBVT18070002271 31/08/2018 17:06 21.36 50.00 JAQUELINE
## 84880 LBVT18070002272 31/08/2018 17:27 50.00 50.00 JAQUELINE
## 84881 LBVT18070002273 31/08/2018 17:36 30.14 50.00 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 fecha para su mejor tratamientofechahora
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)
## Folio Hora Total Pago Cajero agnio mes dia hora
## 1 LBVT18010004435 01/05/2018 12:36 1121.20 1121.20 MAYTE 2018 5 1 12
## 2 LBVT18010004436 01/05/2018 12:37 18.50 20.00 MAYTE 2018 5 1 12
## 3 LBVT18010004437 01/05/2018 12:38 160.00 200.00 MAYTE 2018 5 1 12
## 4 LBVT18010004438 01/05/2018 12:47 397.50 397.50 MAYTE 2018 5 1 12
## 5 LBVT18010004439 01/05/2018 12:48 22.00 50.00 MAYTE 2018 5 1 12
## 6 LBVT18010004440 01/05/2018 12:53 1314.19 1314.19 MAYTE 2018 5 1 12
## minuto fechahora
## 1 36 2018-05-01 12:36:00
## 2 37 2018-05-01 12:37:00
## 3 38 2018-05-01 12:38:00
## 4 47 2018-05-01 12:47:00
## 5 48 2018-05-01 12:48:00
## 6 53 2018-05-01 12:53:00
ventas <- arrange(ventas, fechahora)
head(ventas)
## Folio Hora Total Pago Cajero agnio mes dia hora
## 1 LBVT18020018825 01/05/2018 07:46 88.85 100 ALE HUERTA 2018 5 1 7
## 2 LBVT18020018826 01/05/2018 07:53 183.75 200 ALE HUERTA 2018 5 1 7
## 3 LBVT18020018827 01/05/2018 07:58 497.18 500 ALE HUERTA 2018 5 1 7
## 4 LBVT18020018828 01/05/2018 08:13 11.50 12 ALE HUERTA 2018 5 1 8
## 5 LBVT18020018829 01/05/2018 08:14 200.00 200 ALE HUERTA 2018 5 1 8
## 6 LBVT18020018830 01/05/2018 08:16 177.20 500 ALE HUERTA 2018 5 1 8
## minuto fechahora
## 1 46 2018-05-01 07:46:00
## 2 53 2018-05-01 07:53:00
## 3 58 2018-05-01 07:58:00
## 4 13 2018-05-01 08:13:00
## 5 14 2018-05-01 08:14:00
## 6 16 2018-05-01 08:16:00
tail(ventas)
## Folio Hora Total Pago Cajero agnio mes dia
## 84876 LBVT18020048670 31/08/2018 20:59 112.50 120.00 ROSI MEJIA 2018 8 31
## 84877 LBVT18020048671 31/08/2018 21:03 344.80 345.00 ROSI MEJIA 2018 8 31
## 84878 LBVT18020048672 31/08/2018 21:06 154.80 205.00 ROSI MEJIA 2018 8 31
## 84879 LBVT18030071088 31/08/2018 21:06 585.65 585.65 ALE HUERTA 2018 8 31
## 84880 LBVT18030071089 31/08/2018 21:07 112.70 112.70 ALE HUERTA 2018 8 31
## 84881 LBVT18030071090 31/08/2018 21:13 162.70 162.70 ALE HUERTA 2018 8 31
## hora minuto fechahora
## 84876 20 59 2018-08-31 20:59:00
## 84877 21 3 2018-08-31 21:03:00
## 84878 21 6 2018-08-31 21:06:00
## 84879 21 6 2018-08-31 21:06:00
## 84880 21 7 2018-08-31 21:07:00
## 84881 21 13 2018-08-31 21:13:00
totalespormes <- data.frame(ventas %>%
group_by(month(fechahora)) %>%
summarize(frec = n(), total = sum(Total)))
totalespormes
## month.fechahora. frec total
## 1 5 20348 3748978
## 2 6 19838 3749558
## 3 7 21607 4197541
## 4 8 23088 4412733
barplot(totalespormes$frec, names.arg = month.name[5:8])
barplot(totalespormes$total, names.arg = month.name[5:8])
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)
y los meses con mas ventas serian : * Agosto * julio * mayo