Paso número 1

Lectura de datos: Tabla de historial de alquiler de bicicletas

setwd("/Volumes/Gus_HD/")
data <- read.csv("../Gus_HD/Curso avanzado R/Machine_Learning_Data_Science con Rstudio/Rmackdown/data/daily-bike-rentals.csv")
head(data,5)
##   instant     dteday season yr mnth holiday weekday workingday weathersit
## 1       1 2011-01-01      1  0    1       0       6          0          2
## 2       2 2011-01-02      1  0    1       0       0          0          2
## 3       3 2011-01-03      1  0    1       0       1          1          1
## 4       4 2011-01-04      1  0    1       0       2          1          1
## 5       5 2011-01-05      1  0    1       0       3          1          1
##       temp    atemp      hum windspeed casual registered  cnt
## 1 0.344167 0.363625 0.805833  0.160446    331        654  985
## 2 0.363478 0.353739 0.696087  0.248539    131        670  801
## 3 0.196364 0.189405 0.437273  0.248309    120       1229 1349
## 4 0.200000 0.212122 0.590435  0.160296    108       1454 1562
## 5 0.226957 0.229270 0.436957  0.186900     82       1518 1600
attach(data)

Paso número 2

Convirtiendo variables númericas en categóricas

data$season <- factor(data$season, 
                      levels = c(1,2,3,4),
                      labels = c("Invierno", "Primavera", "Verano",
                                 "Otoño")
                      )

data$workingday <- factor(data$workingday, 
                      levels = c(0,1),
                      labels = c("Festivo",
                                 "De trabajo")
)

data$weathersit <- factor(data$weathersit,
                          levels = c(1,2,3),
                          labels = c("Despejado", "Nublado",
                                     "Lluvia/Nieve ligera")
                          )

Convirtiendo columna de fecha “string” en formato fecha

data$dteday <- as.Date(data$dteday, format = "%Y-%m-%d")

Paso número 3

Configuración de la ventana de visualización de los plots para poder comparar los gráficos

winter <- subset(data, season == "Invierno")$cnt
spring <- subset(data, season == "Primavera")$cnt
summer <- subset(data, season == "Verano")$cnt
fall   <- subset(data, season == "Otoño")$cnt

Paso número 4

Pintando los plots (Histogramas) para visualizar la distribución de las frecuencias de compras por temporada y asi comparar las ventas por estaciones

par(mfrow=c(2,2))

#INVIERNO
hist(winter, prob = TRUE,
     xlab = "Alquiler diario en Invierno",
     main = "") 

lines(density(winter))
abline(v = mean(winter), col = "red")
abline(v = median(winter), col = "blue")

# PRIMAVERA 
hist(spring, prob = TRUE,
     col = "green",
     xlab = "Alquiler diario en Primavera",
     main = "")

lines(density(spring))
abline(v = mean(spring), col = "red")
abline(v = median(spring), col = "blue")

# VERANO
hist(summer, prob = TRUE,
     col = "yellow",
     xlab = "Alquiler diario en Verano",
     main = "")
lines(density(summer))
abline(v = mean(summer), col = "red")
abline(v = median(summer), col = "blue")

# OTOÑO
hist(fall, prob = TRUE,
     col = "purple",
     xlab = "Alquiler diario en Otoño",
     main = "")
lines(density(fall))
abline(v = mean(fall), col = "red")
abline(v = median(fall), col = "blue")

Se puede observar en la comparación de histogramas que en la temporada invierno es donde tiene menor cantidad de rentas y su mediana esta por debajo de la media. Ya luego se recupera y tiene mejor temporada es en verano.

Ya con esto se puede hacer una idea el propietario que la mejor ventana para realizar mantenimientos y además dar vacaciones es en inviernes aunque al personal no le agrade tanto.

Profundizando mas aún el analisis

Paso número 4

Grafico de Judías (Beanplot)

library(beanplot)
par(mfrow = c(1,1))
beanplot(data$cnt ~ data$season, col = c("blue", "red", "yellow"))

El beanplot nos ayuda a poder ver la frecuencia relativa de los datos por categoría y se puede ver que en el caso de la temporada “invierno” los datos tienen una muy buena representación de los datos y que estos estas por debajo del promedio en comparación con la estación de verano que tiene distribuido tanto encima como por debajo de la media. se puede dar una hipótesis que sin duda la Estación de Invierno afecta la demanda de alquiler de bicicletas y se debe a la lluvia.

Uno podría preguntarse: ¿Qué tanto días de lluvia tendrá la estación de invierno que afecte los ingresos del negocio?

Apoyandose nuevamente de la visualización de datos podremos pintar la frecuencia de días de lluvia en el histograma y ver si es representativo.

Paso número 5

Pintando Boxplots

library(lattice)
bwplot(cnt ~ weathersit, data = data,
       layout = c(1,1), 
       xlab = "Pronostico del tiempo",
       ylab = "Frecuencias",
       panel = function(x,y,...){
         panel.bwplot(x,y,...)
         panel.stripplot(x,y, jitter.data = TRUE,...)
       },
       par.settings = list(box.rectangle = list(fill = c("red", "yellow", "green"))))

Como se puede observar en los boxplots el promedio de ventas por temporada y los puntos representan la cantidad de información de las categorías es decir de las temporadas. Si es cierto que se alquilan menos bicicletas en invierno sin embargo en esta tienda la cantidad de lluvias no es tan significativa en comparación a la cantidad de días que esta despejado y nublado.

Con esta visualización de datos se puede realizar analisis de casualidad así dar un inicio a la intrepetación de la información y responder preguntas de negocio.