% Generated by roxygen2: do not edit by hand % Please edit documentation in R/congruent.R \docType{data} \name{congruent} \alias{congruent} \alias{incongruent} \alias{aggregating_zones} \title{Datasets to illustrate the concept of spatial congruence} \format{Simple feature geographic data in a projected CRS (OSGB) with random values assigned for teaching purposes.} \source{ \url{https://en.wikipedia.org/wiki/ONS_coding_system} } \usage{ congruent } \description{ Sample of old (incongruent) and new (congruent) administrative zones from UK statistical agencies } \examples{ if(requireNamespace("sf", quietly = TRUE)) { library(sf) plot(aggregating_zones$geometry, lwd = 5) plot(congruent$geometry, add = TRUE, border = "green", lwd = 2) plot(incongruent$geometry, add = TRUE, border = "blue", col = NA) rbind(congruent, incongruent) } # Code used to download the data: \dontrun{ devtools::install_github("robinlovelace/ukboundaries") library(sf) library(tmap) library(dplyr) library(ukboundaries) sel = grepl("003|004", msoa2011_lds$geo_label) aggregating_zones = st_transform(msoa2011_lds[sel, ], 27700) # find lsoas in the aggregating_zones lsoa_touching = st_transform(lsoa2011_lds, 27700)[aggregating_zones, ] lsoa_cents = st_centroid(lsoa_touching) lsoa_cents = lsoa_cents[aggregating_zones, ] sel = lsoa_touching$geo_code \%in\% lsoa_cents$geo_code # same for ed zones ed_touching = st_transform(ed1981, 27700)[aggregating_zones, ] ed_cents = st_centroid(ed_touching) ed_cents = ed_cents[aggregating_zones, ] incongruent_agg_ed = ed_touching[ed_cents, ] set.seed(2017) incongruent_agg_ed$value = rnorm(nrow(incongruent_agg_ed), mean = 5) congruent = aggregate(incongruent_agg_ed["value"], lsoa_touching[sel, ], mean) congruent$level = "Congruent" congruent = congruent[c("level", "value")] incongruent_cents = st_centroid(incongruent_agg_ed) aggregating_value = st_join(incongruent_cents, congruent)$value.y incongruent_agg = aggregate(incongruent_agg_ed["value"], list(aggregating_value), FUN = mean) incongruent_agg$level = "Incongruent" incongruent = incongruent_agg[c("level", "value")] devtools::use_data(congruent, overwrite = TRUE) devtools::use_data(incongruent, overwrite = TRUE) devtools::use_data(aggregating_zones, overwrite = TRUE) } } \keyword{datasets} \keyword{sf}