Visualizndo compras por fechas, es un informe que permite visualizar datos de las compras de brazilian-commerce
También visualiza gráficos de productos y vendedores
Las librerías
library(sqldf)
## Loading required package: gsubfn
## Loading required package: proto
## Loading required package: RSQLite
library(RSQLite)
library(proto)
library(gsubfn)
library(readr)
library(ggplot2)
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
library("nycflights13") # Para join
Los datos de compras
compras <- read.csv("olist_orders_dataset.csv",
header = TRUE, sep = ",",
stringsAsFactors = TRUE)
Visualiznado datos por Estao de las compras
# Visualizando datos
frecuencias <- data.frame(table(compras$order_status))
colnames(frecuencias) <- c("Estado", "Frecuencia")
frecuencias <- arrange(frecuencias, desc(Frecuencia))
frecuencias
## Estado Frecuencia
## 1 delivered 96478
## 2 shipped 1107
## 3 canceled 625
## 4 unavailable 609
## 5 invoiced 314
## 6 processing 301
## 7 created 5
## 8 approved 2
Estado <- frecuencias$Estado # Eje x
Frecuencia <- frecuencias$Frecuencia # Eje y
ggplot(data=frecuencias, aes(x=Estado, y=Frecuencia,
fill=Estado)) +
geom_bar(stat="identity") +
#scale_fill_grey(start = 0.2, end = 0.8,na.value = "red") +
ggtitle("Estado de las compras de brazilian ecommerce")

Visualizando compras por años
# En que año se ha vendido mas
agnio <- group_by(compras, format(as.Date(order_purchase_timestamp), "%Y"))
agnio <- data.frame(summarise(agnio,
num = n()))
colnames(agnio) <- c("Anio", "Cantidad")
agnio
## Anio Cantidad
## 1 2016 329
## 2 2017 45101
## 3 2018 54011
Anios <- agnio$Anio
Cantidad <- agnio$Cantidad
ggplot(data=agnio, aes(x=Anios, y=Cantidad,
fill=Anios)) +
geom_bar(stat="identity") +
# scale_fill_grey(start = 0.2, end = 0.8,na.value = "red") +
ggtitle("Compras por Años de brazilian ecommerce")

Visualizando compras por mes
mes <- group_by(compras, format(as.Date(order_purchase_timestamp), "%m"),
format(as.Date(order_purchase_timestamp), "%Y"))
mes <- data.frame(summarise(mes,
num = n()))
colnames(mes) <- c("Mes", "Anio", "Cantidad")
mes <- arrange(mes, desc(Anio), Mes)
mes
## Mes Anio Cantidad
## 1 01 2018 7269
## 2 02 2018 6728
## 3 03 2018 7211
## 4 04 2018 6939
## 5 05 2018 6873
## 6 06 2018 6167
## 7 07 2018 6292
## 8 08 2018 6512
## 9 09 2018 16
## 10 10 2018 4
## 11 01 2017 800
## 12 02 2017 1780
## 13 03 2017 2682
## 14 04 2017 2404
## 15 05 2017 3700
## 16 06 2017 3245
## 17 07 2017 4026
## 18 08 2017 4331
## 19 09 2017 4285
## 20 10 2017 4631
## 21 11 2017 7544
## 22 12 2017 5673
## 23 09 2016 4
## 24 10 2016 324
## 25 12 2016 1
AnioMes <- paste(substr(mes$Anio,3,4),mes$Mes, sep = "/")
ggplot(data=mes, aes(x=AnioMes, y=Cantidad,
fill=AnioMes)) +
geom_bar(stat="identity") +
# scale_fill_grey(start = 0.2, end = 0.8,na.value = "red") +
ggtitle("Compras por Años/Mes de brazilian ecommerce")

Visualizando método de pago
Productos que mas se vende, cruzados con detalleCompras
Los datos de productos
productos <- read.csv("olist_products_dataset.csv",
header = TRUE, sep = ",",
stringsAsFactors = TRUE)
detalleCompras <- read.csv("olist_order_items_dataset.csv",
header = TRUE, sep = ",",
stringsAsFactors = TRUE)
Cuales Categoria de productos se compan más
frecuencias <- data.frame(table(detalleCompras$product_id))
colnames(frecuencias) <- c("Producto", "Frecuencia")
frecuencias <- arrange(frecuencias, desc(Frecuencia))
#frecuencias
productoName <- filter(productos, product_id %in% frecuencias$Producto) %>% select(product_id, product_category_name)
join <- frecuencias %>% inner_join(productoName, by=c("Producto" = "product_id"))
masComprados <- head(join, 20)# Los 20 productos /categorias mas comprados
masComprados
## Producto Frecuencia product_category_name
## 1 aca2eb7d00ea1a7b8ebd4e68314663af 527 moveis_decoracao
## 2 99a4788cb24856965c36a24e339b6058 488 cama_mesa_banho
## 3 422879e10f46682990de24d770e7f83d 484 ferramentas_jardim
## 4 389d119b48cf3043d311335e499d9c6b 392 ferramentas_jardim
## 5 368c6c730842d78016ad823897a372db 388 ferramentas_jardim
## 6 53759a2ecddad2bb87a079a1f1519f73 373 ferramentas_jardim
## 7 d1c427060a0f73f6b889a5c7c61f2ac4 343 informatica_acessorios
## 8 53b36df67ebb7c41585e8d54d6772e08 323 relogios_presentes
## 9 154e7e31ebfa092203795c972e5804a6 281 beleza_saude
## 10 3dd2a17168ec895c781a9191c1e95ad7 274 informatica_acessorios
## 11 2b4609f8948be18874494203496bc318 260 beleza_saude
## 12 7c1bd920dbdf22470b68bde975dd3ccf 231 beleza_saude
## 13 a62e25e09e05e6faf31d90c6ec1aa3d1 226 relogios_presentes
## 14 5a848e4ab52fd5445cdc07aab1c40e48 197
## 15 bb50f2e236e5eea0100680137654686c 195 beleza_saude
## 16 e0d64dcfaa3b6db5c54ca298ae101d05 194 relogios_presentes
## 17 42a2c92a0979a949ca4ea89ec5c7b934 183 utilidades_domesticas
## 18 e53e557d5a159f5aa2c5e995dfdf244b 183 informatica_acessorios
## 19 b532349fe46b38fbc7bb3914c1bdae07 169 moveis_decoracao
## 20 35afc973633aaeb6b877ff57b2793310 165 casa_conforto
Prod <- substr(masComprados$product_category_name,1,6)
ggplot(data=masComprados, aes(x=Prod, y=Frecuencia,
fill=product_category_name)) +
geom_bar(stat="identity") +
# scale_fill_grey(start = 0.2, end = 0.8,na.value = "red") +
ggtitle("Productos/Categorías MAS comprados")

Productos que mas se vende, cruzados con detalleCompras
Cuales Categoria de productos se compran menos
menosComprados <- tail(join, 20)# Los 20 productos /categorias mas comprados
menosComprados
## Producto Frecuencia
## 32932 ffbfa9e143fda4420454d0f4e88a3cd5 1
## 32933 ffbfe460c6f140cdbe4f494be6dd43be 1
## 32934 ffc48c754b5bd736e2887e279d1dec72 1
## 32935 ffc88104d219c1b767d566fd93653dd2 1
## 32936 ffccf0ce5eff1a158891296990107d08 1
## 32937 ffcfaba393e8ef71937c6e8421bc2868 1
## 32938 ffd246249e3225c13f40b5b91dcaa65a 1
## 32939 ffd259a48b9b073c942884d0f3659566 1
## 32940 ffd63ee42a5c8cc5a15a1c8e2aa50011 1
## 32941 ffd7628b0b0b98ebc549e8e4c54a59af 1
## 32942 ffd9ac56db9194a413298faaa03cd176 1
## 32943 ffdde3d63e889c9a9f9ec30d82a4c815 1
## 32944 ffe9468f4d890db80b7231e86931ff37 1
## 32945 ffeb228c521d5464d1f71444da96c446 1
## 32946 fff1059cd247279f3726b7696c66e44e 1
## 32947 fff28f91211774864a1000f918ed00cc 1
## 32948 fff515ea94dbf35d54d256b3e39f0fea 1
## 32949 fff81cc3158d2725c0655ab9ba0f712c 1
## 32950 fff9553ac224cec9d15d49f5a263411f 1
## 32951 fffe9eeff12fcbd74a2f2b007dde0c58 1
## product_category_name
## 32932 informatica_acessorios
## 32933 eletrodomesticos
## 32934 eletroportateis
## 32935 utilidades_domesticas
## 32936 esporte_lazer
## 32937 casa_construcao
## 32938 esporte_lazer
## 32939 fashion_roupa_masculina
## 32940 agro_industria_e_comercio
## 32941 beleza_saude
## 32942 pet_shop
## 32943 brinquedos
## 32944 brinquedos
## 32945 telefonia
## 32946 esporte_lazer
## 32947
## 32948 relogios_presentes
## 32949 beleza_saude
## 32950 fashion_bolsas_e_acessorios
## 32951 brinquedos
Prod <- substr(menosComprados$product_category_name,1,6)
ggplot(data=menosComprados, aes(x=Prod, y=Frecuencia,
fill=product_category_name)) +
geom_bar(stat="identity") +
# scale_fill_grey(start = 0.2, end = 0.8,na.value = "red") +
ggtitle("Productos/Categorías MENOS comprados")
