Dataset Ventas de bicicletas en países de Europa

Variables cualitativas y cuantitativas

variables cualitativas:

Variables cualitativas ordinales: Month

Variables cualitativas nominales: Country, State, Product_Category, Sub_Category, Product

Variables cuantitativas:

Variables cuantitativas discretas: Date, Day, Year, Order_Quantity

Variables cuantitativas continuas: Customer_Age, Unit_Cost, Unit_Price, Profit, Cost, Revenue

library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(viridisLite)
library(RColorBrewer)
library(readr) #Para leer archivo .csv
salesbike<-read_csv("Sales.csv")
## Rows: 27124 Columns: 18
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (8): Month, Age_Group, Customer_Gender, Country, State, Product_Categor...
## dbl  (9): Day, Year, Customer_Age, Order_Quantity, Unit_Cost, Unit_Price, Pr...
## date (1): Date
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

Gráficos

Diagrama de barras

tabla0<-table(salesbike$Year) #Variable cuantitativa discreta
tabla0
## 
## 2013 2014 2015 2016 
## 5682 7880 5682 7880
vy<-barplot(tabla0, main = "Númeroventas artículos y bicicletas por año", ylab = "Número de ventas", xlab = "Años", ylim = c(0,8000), col = "purple")
text(vy,tabla0+0.5,labels = tabla0)

levels(salesbike$Country) #Variable cualitativa nominal, Niveles por factores
## NULL
tabla1<-table(salesbike$Country)
tabla1
## 
##      Australia         Canada         France        Germany United Kingdom 
##           5260           3804           2244           2606           3074 
##  United States 
##          10136
vc<-barplot(tabla1, main = "Número ventas artículos y bicicletas por países", ylab = "Número de ventas", xlab = "Países", ylim = c(0,10200), col = "yellow",)
text(vc,tabla1+0.5,labels = tabla1)

# Diagrama de torta: Porcentaje de consumidores por género

salesbike %>%
  count(Customer_Gender)
## # A tibble: 2 × 2
##   Customer_Gender     n
##   <chr>           <int>
## 1 F               13232
## 2 M               13892
levels(salesbike$Customer_Gender) #Cualitativa nominal
## NULL
tabla<-table(salesbike$Customer_Gender)
tabla
## 
##     F     M 
## 13232 13892
genero<-c("F","M")
a<-c("13232","13892")
x<-as.integer(a)
tabla_genero<-data.frame(genero,x)
#tabla_genero
porcgen<-function(x){
  return(round(x*0.0036867718625571))
}
porcentaje<-porcgen(x)
tabla_genero$porcentaje<-porcentaje
tabla_genero
##   genero     x porcentaje
## 1      F 13232         49
## 2      M 13892         51

Gráficar mostrando el dato

pie(x,labels = paste0((tabla_genero$porcentaje),"%"), col = viridis(4), main = "Diagrama circular", border = rocket(4))
legend("bottomright",legend=names(tabla),cex=0.75, fill = viridis(4))

# Histograma de las edades de los consumidores

hist(salesbike$Customer_Age, main = "Histograma de las edades de los consumidores",xlim = c(14,100),ylim =c(0,5000), col=brewer.pal(9,"Set1"),xlab = "Edad consumidores",ylab = "Frecuencia", labels=TRUE,border=brewer.pal(3,"Paired"))
axis(1,at=seq(0,100,by=5))

# Boxplot

salesbike<-salesbike %>% mutate(salesbike,rate=round(Revenue/Cost*100))
salesbike %>%
  select(Cost, Revenue, rate)
## # A tibble: 27,124 × 3
##     Cost Revenue  rate
##    <dbl>   <dbl> <dbl>
##  1   360     950   264
##  2   360     950   264
##  3  1035    2401   232
##  4   900    2088   232
##  5   180     418   232
##  6   225     522   232
##  7   180     379   211
##  8    90     190   211
##  9   990    2086   211
## 10   945    1991   211
## # ℹ 27,114 more rows
#salesbike$rate

# Analisis de los datos de la columna Costos del Data set salesbike, para hallar la media (Promedio), mediana (Valor de la mitad y la moda (El valor más común) 
#salesbike$Cost #Muestra los datos del campo Costos

mean(salesbike$Cost) #Calculo de la media (promedio)
## [1] 73.92368
median(salesbike$Cost) #Calculo de la mediana (valor en el medio, después de haber ordenado todos los valores.)
## [1] 48
names(sort(-table(salesbike$Cost)))[1] #Calculo de la moda
## [1] "48"
# Grafica Boxplot
boxplot(salesbike$rate, col="gray",ylab="Tasa de costos",outline=FALSE,main="Boxplot",ylim=c(150,300))

points(mean(salesbike$rate),col="white",pch=20)
text(paste(" ", round(mean(salesbike$rate), 2)),x=1.1,y=220)
#Agregar los puntos que se muestran al ejecutar summary(salesbike$rate) en el boxplot.
stripchart(summary(salesbike$rate),vertical = TRUE, method = "jitter", pch = 19, add = TRUE, col = "blue")

summary(salesbike$rate)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    96.0   204.0   235.0   218.5   250.0   300.0