Datos de estaciones públicas de bicicletas en Buenos Aires - julio/agosto 2019. Visualización parte del proyecto #datosdemiercoles de @R4DS_es. Más información acá

Para la ida al laburo: Bicicletas disponibles a las 9AM

Promedio de bicicletas disponibles en cada estación entre las 9:00 y las 9:55.

library(tidyverse)
library(lubridate)
library(leaflet)
library(htmltools)

estaciones <- readr::read_csv("https://raw.githubusercontent.com/cienciadedatos/datos-de-miercoles/master/datos/2019/2019-08-28/estaciones.csv")

bicicletas <- readr::read_csv("https://raw.githubusercontent.com/cienciadedatos/datos-de-miercoles/master/datos/2019/2019-08-28/bicicletas.csv")


bicicletas <- bicicletas %>% mutate(hora=hour(tiempo))

bicis_mean <- aggregate(bicis_disponibles~id_estacion+hora, bicicletas, mean) %>%
  spread(key="hora", value="bicis_disponibles")

estaciones_agreg <- estaciones %>% left_join(bicis_mean, by="id_estacion")

estaciones_agreg <- estaciones_agreg %>% 
  mutate(hora_9=ifelse(`9`<1, "0", ifelse(`9`<5, "1-4", ">5"))) %>%
  mutate(etiqueta_9=paste(sep = " ", "Estación", id_estacion,
                        "| Bicicletas disponibles - 9AM (promedio):",
                        round(`9`, digits=2))) %>%
  mutate(hora_17=ifelse(`17`<1, "0", ifelse(`17`<5, "1-4", ">5"))) %>%
  mutate(etiqueta_17=paste(sep = " ", "Estación", id_estacion,
                          "| Bicicletas disponibles - 5PM (promedio):",
                          round(`17`, digits=2)))

pal <- colorFactor(c("green", "yellow", "red"), domain = c("0", "1-4", ">5"))

leaflet(estaciones_agreg) %>%
  addTiles() %>%
  addCircleMarkers (lat=estaciones_agreg$lat,
              lng=estaciones_agreg$lon, 
              radius=~ifelse(`9`<1, 4, ifelse(`9`<5, 5, 6)),
              color=~ifelse(`9`<1, "red", ifelse(`9`<5, "yellow", "green")),
              stroke=FALSE,
              fillOpacity = .8,
              label=~htmlEscape(estaciones_agreg$etiqueta_9))

Para la vuelta del laburo: Bicicletas disponibles a las 5PM

Promedio de bicicletas disponibles en cada estación entre las 17:00 y las 17:55.

leaflet(estaciones_agreg) %>%
  addTiles() %>%
  addCircleMarkers (lat=estaciones_agreg$lat,
                    lng=estaciones_agreg$lon, 
                    radius=~ifelse(`17`<1, 4, ifelse(`17`<5, 5, 6)),
                    color=~ifelse(`17`<1, "red", ifelse(`17`<5, "yellow", "green")),
                    stroke=FALSE,
                    fillOpacity = .8,
                    label=~htmlEscape(estaciones_agreg$etiqueta_17))