Rack Bicicletas

Rack Bicicletas

Los sistemas de renta de bicycletas se basan en kioskos que son puestos en diferentes áreas de una ciudad. En estos kioskos las personas pueden suscribirse, rentar y devolver las bicicletas.

Esto permite que el usurio rente un bicicleta y la pueda devolver en otro lado. Actualmente hay mas de 500 de estos proyectos alrededor del mundo.

Estos kioskos se vuelven sensores del flujo de personas dentro de ciudades.

Su tarea es contestar las siguientes preguntas basadas en la data que se presenta en el siguiente link.

http://www.academatica.com/econometria1/hour.csv

Variables

datetime - hourly date + timestamp

season - 1 = spring, 2 = summer, 3 = fall, 4 = winter

holiday - whether the day is considered a holiday

workingday - whether the day is neither a weekend nor holiday

weather - 1: Clear, Few clouds, Partly cloudy, Partly cloudy 2: Mist + Cloudy, Mist + Broken clouds, Mist + Few clouds, Mist 3: Light Snow, Light Rain + Thunderstorm + Scattered clouds, Light Rain + Scattered clouds 4: Heavy Rain + Ice Pallets + Thunderstorm + Mist, Snow + Fog

temp - temperature in Celsius

atemp - “feels like” temperature in Celsius

humidity - relative humidity

windspeed - wind speed

casual - number of non-registered user rentals initiated

registered - number of registered user rentals initiated

count - number of total rentals

Preguntas

setwd("C:/Users/Luis/Clases/Maestria/4 Econometria/bici")
biciData<-read.csv("hour.csv")
  1. ¿Que mes es el que tiene la mayor demanda?
mes01 <- sum(subset(biciData, mnth == 1)[,'cnt'])
mes02 <- sum(subset(biciData, mnth == 2)[,'cnt'])
mes03 <- sum(subset(biciData, mnth == 3)[,'cnt'])
mes04 <- sum(subset(biciData, mnth == 4)[,'cnt'])
mes05 <- sum(subset(biciData, mnth == 5)[,'cnt'])
mes06 <- sum(subset(biciData, mnth == 6)[,'cnt'])
mes07 <- sum(subset(biciData, mnth == 7)[,'cnt'])
mes08 <- sum(subset(biciData, mnth == 8)[,'cnt'])
mes09 <- sum(subset(biciData, mnth == 9)[,'cnt'])
mes10 <- sum(subset(biciData, mnth == 10)[,'cnt'])
mes11 <- sum(subset(biciData, mnth == 11)[,'cnt'])
mes12 <- sum(subset(biciData, mnth == 12)[,'cnt'])

meses <- c(mes01, mes02, mes03, mes04, mes05, mes06, mes07, mes09, mes09, mes10, mes11, mes12)
names(meses) <- c("ene", "feb", "mar", "apr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dec")

# Obtengo un subset por mes, uso which.max para conocer el mayor
# Se obtiene el mes de junio
which.max(meses)
## jun 
##   6
  1. ¿Que rango de hora es la de mayor demanda?
hour01 <- sum(subset(biciData, hr <=5)[,'cnt'])
hour02 <- sum(subset(biciData, hr >=6 & hr <= 11)[,'cnt'])
hour03 <- sum(subset(biciData, hr >=12 & hr <= 17)[,'cnt'])
hour04 <- sum(subset(biciData, hr >=18 & hr <= 23)[,'cnt'])

hours <- c(hour01, hour02, hour03, hour04)
names(hours) <- c("0 - 5", "6 - 11", "12 - 17", "18 - 23")

# Obtengo un subset por temporada, uso which.max para conocer el mayor
# Se obtiene el rango entre 12 y 17 horas
which.max(hours)
## 12 - 17 
##       3
  1. ¿Que temporada es la mas alta?
season01 <- sum(subset(biciData, season == 1)[,'cnt'])
season02 <- sum(subset(biciData, season == 2)[,'cnt'])
season03 <- sum(subset(biciData, season == 3)[,'cnt'])
season04 <- sum(subset(biciData, season == 4)[,'cnt'])

seasons <- c(season01, season02, season03, season04)
names(seasons) <- c("spring", "summer", "fall", "winter")

# Obtengo un subset por temporada, uso which.max para conocer el mayor
# Se obtiene la temporada otonio
which.max(seasons)
## fall 
##    3
  1. ¿A que temperatura baja la demanda?
indexTemp <- which.min(biciData$cnt)

# Encuentro el indice que corresponde a la demanda mas baja
# Obtengo la temperatura y demanda para esta entrada
biciData[indexTemp,c('temp','cnt')]
##   temp cnt
## 5 0.24   1
  1. ¿A que humedad baja la demanda?
indexHum <- which.min(biciData$cnt)

# Encuentro el indice que corresponde a la demanda mas baja
# Obtengo la humedad y demanda para esta entrada
biciData[indexHum,c('hum','cnt')]
##    hum cnt
## 5 0.75   1
  1. ¿Que condiciones serian ideales para nuestra demanda?
indexIdeal <- which.max(biciData$cnt)

# Encuentro el indice que corresponde a la demanda mas alta
# Obtengo los datos para esta entrada
biciData[indexIdeal,]
##       instant     dteday season yr mnth hr holiday weekday workingday
## 14774   14774 2012-09-12      3  1    9 18       0       3          1
##       weathersit temp  atemp  hum windspeed casual registered cnt
## 14774          1 0.66 0.6212 0.44    0.2537     91        886 977