Data uitbreiden: samenvattende statistieken per route
We hebben een gegevensset samengesteld die bijna klaar is voor visualisatie, route_hod. Laten we nog een paar variabelen toevoegen die handig zijn als cognostics, omdat we verwachten de weergave interactief te bekijken.
Deze oefening maakt deel uit van de cursus
Grote datasets visualiseren met Trelliscope in R
Oefeninstructies
- Bereken voor elke route het totale aantal ritten.
- Bereken voor elke route het verschil tussen het gemiddelde aantal ritten per uur doordeweeks en in het weekend. Let op: de variabele
nis al geaggregeerd naar tellingen per uur, dus bijvoorbeeld het doordeweekse gemiddelde bereken je metmean(n[weekday == "workweek"]). - Voeg voor elke route een variabele toe met een URL die naar de route op Google Maps verwijst, met behulp van de meegeleverde functie
make_gmap_url, en geef de juiste argumenten uit de data mee.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
library(trelliscopejs)
library(ggplot2)
library(dplyr)
# Function to construct a Google maps URL with cycling directions
make_gmap_url <- function(start_lat, start_lon, end_lat, end_lon) {
paste0("https://www.google.com/maps/dir/?api=1",
"&origin=", start_lat, ",", start_lon,
"&destination=", end_lat, ",", end_lon,
"&travelmode=bicycling")
}
# Compute tot_rides, weekday_diff, and map_url
route_hod_updated <- route_hod %>% ungroup() %>%
group_by(start_station_code, end_station_code) %>%
mutate(
tot_rides = sum(___),
weekday_diff = mean(n[weekday == "workweek"]) - ___,
map_url = ___)