diff --git a/madison-metro.R b/madison-metro.R index 6c858c8..ea1ad3d 100644 --- a/madison-metro.R +++ b/madison-metro.R @@ -66,6 +66,7 @@ metro_data <- metro_raw %>% arrange(time) %>% mutate(pdist_lag = lag(pdist), time_lag = lag(time)) %>% + ungroup() %>% mutate(spd_calc = case_when(pdist_lag > pdist ~ NA, pdist_lag <= pdist ~ (pdist - pdist_lag)/as.double(difftime(time, time_lag, units = "hours"))/5280)) %>% left_join(routes_categorized, by = "pid") @@ -85,8 +86,8 @@ metro_summary <- metro_data %>% pdist = median(pdist), trip_count = length(unique(origtatripno))) -metro_data_sf <- st_as_sf(metro_data %>% filter(!is.na(lon)), coords = c("lon", "lat"), remove = FALSE) -metro_summary_sf <- st_as_sf(metro_summary %>% filter(!is.na(lon_bucket)), coords = c("lon_bucket", "lat_bucket"), remove = FALSE) +metro_data_sf <- st_as_sf(metro_data %>% filter(!is.na(lon), !is.na(lat)), coords = c("lon", "lat"), remove = FALSE) +metro_summary_sf <- st_as_sf(metro_summary %>% filter(!is.na(lon_bucket), !is.na(lat_bucket)), coords = c("lon_bucket", "lat_bucket"), remove = FALSE) metro_segments <- metro_summary %>% group_by(rt, pid) %>% @@ -120,10 +121,10 @@ ggplot(data = metro_summary %>% filter(!is.na(name)), register_stadiamaps(key = substr(read_file(file = "api_keys/stadia_api_key"), 1, 36)) -bbox <- c(left = min(metro_data$lon), - bottom = min(metro_data$lat), - right = max(metro_data$lon), - top = max(metro_data$lat)) +bbox <- c(left = min(metro_data$lon, na.rm = TRUE), + bottom = min(metro_data$lat, na.rm = TRUE), + right = max(metro_data$lon, na.rm = TRUE), + top = max(metro_data$lat, na.rm = TRUE)) #get basemap basemap <- get_stadiamap(bbox = bbox, zoom = 13, maptype = "stamen_toner_lite") @@ -162,7 +163,8 @@ for (route in unique(routes_categorized$name)){ ggplot(data = metro_data %>% filter(name %in% route)) + geom_boxplot(aes(x = date, - y = spd_calc)) + y = spd_calc, + group = date)) ggsave(file = paste0("figures/", route, "_date.pdf"),