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
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
setwd("C:/Users/Luis/Clases/Maestria/4 Econometria/bici")
biciData<-read.csv("hour.csv")
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
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
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
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
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
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