Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
eval = FALSE
)
has_webshot <- "webshot" %in% installed.packages()
## ---- eval=FALSE--------------------------------------------------------------
# install.packages("od")
# vignette("od")
## ----setup, message=FALSE-----------------------------------------------------
# library(stplanr)
# library(dplyr)
# od <- stplanr::od_data_sample %>%
# select(-matches("rail|name|moto|car|tax|home|la_")) %>%
# top_n(n = 14, wt = all)
# class(od)
# od
## -----------------------------------------------------------------------------
# od[1:3]
## -----------------------------------------------------------------------------
# od_matrix <- od_to_odmatrix(od[1:3])
# class(od_matrix)
# od_matrix
## -----------------------------------------------------------------------------
# lapply(c("all", "bicycle"), function(x) od_to_odmatrix(od[c("geo_code1", "geo_code2", x)]))
## -----------------------------------------------------------------------------
# odmatrix_to_od(od_matrix)
## -----------------------------------------------------------------------------
# (od_inter <- od %>% filter(geo_code1 != geo_code2))
# (od_intra <- od %>% filter(geo_code1 == geo_code2))
## -----------------------------------------------------------------------------
# (od_min <- od_data_sample[c(1, 2, 9), 1:6])
# (od_oneway <- od_oneway(od_min))
## -----------------------------------------------------------------------------
# z <- zones_sf
# class(z)
# l <- od2line(flow = od_inter, zones = z)
## -----------------------------------------------------------------------------
# class(l)
# nrow(od) - nrow(l)
# ncol(l) - ncol(od)
## -----------------------------------------------------------------------------
# plot(l$geometry)
## -----------------------------------------------------------------------------
# plot(l)
## -----------------------------------------------------------------------------
# library(leaflet)
# leaflet() %>%
# addTiles() %>%
# addPolygons(data = l)
## ---- error=TRUE--------------------------------------------------------------
# od$geo_code2[3] <- "nomatch"
# od2line(od, z)
## ---- eval=FALSE--------------------------------------------------------------
# library(dplyr)
#
# # get nationwide OD data
# od_all <- pct::get_od()
# nrow(od_all)
# # > 2402201
# od_all$Active <- (od_all$bicycle + od_all$foot) /
# od_all$all * 100
# centroids_all <- pct::get_centroids_ew() %>% sf::st_transform(4326)
# nrow(centroids_all)
# # > 7201
# london <- pct::pct_regions %>% filter(region_name == "london")
# centroids_london <- centroids_all[london, ]
# od_london <- od_all %>%
# filter(geo_code1 %in% centroids_london$msoa11cd) %>%
# filter(geo_code2 %in% centroids_london$msoa11cd)
# od_london <- od_all[
# od_all$geo_code1 %in% centroids_london$msoa11cd &
# od_all$geo_code2 %in% centroids_london$msoa11cd,
# ]
## ---- eval=FALSE, echo=FALSE--------------------------------------------------
# # aim: create a reproducible OD dataset
# od_lnd <- od_london %>%
# select(-matches("rail|name|moto|car|tax|home")) %>%
# filter(geo_code2 == "E02000001") %>%
# top_n(4, wt = all)
# z_lnd <- centroids_london %>%
# filter(msoa11cd %in% c(od$geo_code1, od$geo_code2))
## ---- eval=FALSE--------------------------------------------------------------
# desire_lines_london <- od2line(od_london, centroids_london)
# nrow(desire_lines_london)
# # > 352654
## ---- eval=FALSE--------------------------------------------------------------
# min_trips_threshold <- 20
# desire_lines_inter <- desire_lines_london %>% filter(geo_code1 != geo_code2)
# desire_lines_intra <- desire_lines_london %>% filter(geo_code1 == geo_code2)
# desire_lines_top <- desire_lines_inter %>% filter(all >= min_trips_threshold)
# nrow(desire_lines_top)
# # > 28879
## ---- eval=FALSE--------------------------------------------------------------
# nrow(desire_lines_top) / nrow(desire_lines_london)
# # > 0.08189046
# sum(desire_lines_top$all) / sum(desire_lines_london$all)
# # > 0.557343
## ---- eval=FALSE--------------------------------------------------------------
# plot(desire_lines_top["all"])
## ---- echo=FALSE--------------------------------------------------------------
# knitr::include_graphics("https://user-images.githubusercontent.com/1825120/61058906-030a5c80-a3f0-11e9-90b5-d216964e9681.png")
## ---- eval=FALSE--------------------------------------------------------------
# lwd <- desire_lines_top$all / mean(desire_lines_top$all) / 10
# desire_lines_top$percent_dont_drive <- 100 - desire_lines_top$car_driver / desire_lines_top$all * 100
# plot(desire_lines_top["percent_dont_drive"], lwd = lwd, breaks = c(0, 50, 70, 80, 90, 95, 100))
## ---- echo=FALSE--------------------------------------------------------------
# knitr::include_graphics("https://user-images.githubusercontent.com/1825120/62073083-e5ceee00-b237-11e9-9cc7-8bf62d0e9b3f.png")
## ---- eval=FALSE--------------------------------------------------------------
# library(tmap)
# desire_lines_top <- desire_lines_top %>%
# arrange(Active)
# tm_shape(london) + tm_borders() +
# tm_shape(desire_lines_top) +
# tm_lines(
# palette = "plasma", breaks = c(0, 5, 10, 20, 40, 100),
# lwd = "all",
# scale = 9,
# title.lwd = "Number of trips",
# alpha = 0.5,
# col = "Active",
# title = "Active travel (%)",
# legend.lwd.show = FALSE
# ) +
# tm_scale_bar() +
# tm_layout(
# legend.bg.alpha = 0.5,
# legend.bg.color = "white"
# )
## ---- echo=FALSE--------------------------------------------------------------
# # tmap_save(.Last.value, "tmap-london.png")
# knitr::include_graphics("https://user-images.githubusercontent.com/1825120/61066243-12dc6d80-a3fd-11e9-8805-826a47c553f6.png")
## ---- eval=FALSE, echo=FALSE--------------------------------------------------
# saveRDS(od_all, "od_all.Rds")
# piggyback::pb_upload("od_all.Rds")
## ---- eval=FALSE--------------------------------------------------------------
# zones_london <- pct::get_pct_zones("london") %>%
# select("geo_code")
# origin_attributes <- desire_lines_top %>%
# sf::st_drop_geometry() %>%
# group_by(geo_code1) %>%
# summarize_if(is.numeric, sum) %>%
# dplyr::rename(geo_code = geo_code1)
# # origin_attributes <-
# zones_origins <- left_join(zones_london, origin_attributes, by = "geo_code")
# plot(zones_origins, border = NA)
## ---- echo=FALSE--------------------------------------------------------------
# knitr::include_graphics("https://user-images.githubusercontent.com/1825120/61067619-e7a74d80-a3ff-11e9-8c15-7467717b36ec.png")
## ---- eval=FALSE--------------------------------------------------------------
# destination_attributes <- desire_lines_top %>%
# sf::st_drop_geometry() %>%
# group_by(geo_code2) %>%
# summarize_if(is.numeric, sum) %>%
# dplyr::rename(geo_code = geo_code2) %>%
# mutate_at(vars(-matches("geo_|all")), funs(. / all)) %>%
# left_join(zones_london, ., by = "geo_code")
#
# plot(destination_attributes, border = NA)
## ---- echo=FALSE--------------------------------------------------------------
# knitr::include_graphics("https://user-images.githubusercontent.com/1825120/61069409-27703400-a404-11e9-9c83-1cd5f2397260.png")
## ---- out.width="100%", warning=FALSE, eval=FALSE, echo=FALSE-----------------
# u <- "https://github.com/ropensci/stplanr/releases/download/0.2.9/lines_cars.Rds"
# f <- file.path(tempdir(), "lines_cars.Rds")
# download.file(u, f)
# lines_cars <- readRDS(f)
# plot(lines_cars["car_km"], lwd = lines_cars$car_km / 1000)
## ---- eval=FALSE, echo=FALSE--------------------------------------------------
# sum(lines_cars$car_km * 2.5 * 200) / 1e9
## ---- echo=FALSE, eval=FALSE--------------------------------------------------
# # out-takes and test code
# # demonstrate bug/feature in sf
# library(sf)
# m <- matrix(c(
# 0, 0,
# 1, 0,
# 0, 1,
# 0, 0
# ), ncol = 2)
# p <- st_polygon(list(m))
#
# m <- matrix(c(
# 0, 0,
# 1, 0,
# 0, NA,
# 0, 0
# ), ncol = 2)
# p <- st_polygon(list(m))
# plot(p)
#
# l <- st_linestring(m)
# plot(l)
# plot(p)
# m <- matrix(c(0, 0, 0, NA), ncol = 2)
# l <- st_linestring(m)
# plot(l)
## ---- echo=FALSE, eval=FALSE--------------------------------------------------
# usethis::use_data(od_data_sample)
# # aim: get top flows by car use multiplied by distance
# # subset flows with more than n people driving:
# od_cars <- od_data_all[od_data_all$car_driver >= 50, ]
# cents_ew <- pct::get_centroids_ew()
# od_cars <- od_cars[
# od_cars$geo_code1 %in% cents_ew$msoa11cd &
# od_cars$geo_code2 %in% cents_ew$msoa11cd,
# ]
# desire_lines_cars <- od2line(od_cars, cents_ew)
# plot(desire_lines_cars[1:999, ])
# desire_lines_cars$euclidean_distance_m <- as.numeric(sf::st_length(desire_lines_cars)) / 1000
# desire_lines_cars$car_km <- desire_lines_cars$car_driver * desire_lines_cars$euclidean_distance_m
# lines_cars <- dplyr::top_n(desire_lines_cars, 20000, car_km)
# summary(lines_cars$car_driver)
# plot(lines_cars["car_km"])
# saveRDS(lines_cars, "lines_cars.Rds")
# piggyback::pb_upload("lines_cars.Rds")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.