= read.csv("data/dane_atrybutowe/blocks1990.csv") dane_attr
9 Przygotowanie danych
W poniższym przykładzie zostaną przygotowane dane dla obszaru District of Columbia dla 1990 i 2020 roku.
9.1 Przygotowanie danych dla 1990 roku
Etap 1: Wyselekcjonowanie danych atrybutowych o strukturze ludności dla wybranego hrabstwa.
= dane_attr[dane_attr$COUNTY_CODE == '11001',] county_attr
Etap 2: Agregacja kategorii rasowo-etnicznych
library(dplyr)
= county_attr %>%
county_blocks_race mutate(GISJOIN = GISJOIN,
GISJOIN_T = GISJOIN_T,
WHITE = ET2001,
BLACK = ET2002,
AM = ET2003,
ASIAN = ET2004,
OTHER = ET2005,
HISPANIC = ET2006 + ET2007 + ET2008 + ET2009 + ET2010,
.keep = "none")
= c("WHITE", "BLACK", "ASIAN", "HISPANIC", "AM", "OTHER")
list_race $POP = apply(county_blocks_race[, list_race], 1, sum, na.rm = TRUE) county_blocks_race
write.csv(county_blocks_race, "data/data_attr/dc_blocks_1990_attr.csv", row.names = FALSE)
Etap 3: Agregacja danych z bloków spisowych do obszarów spisowych (census tract).
= county_blocks_race[, -1] %>%
county_tracts_race group_by(GISJOIN_T) %>%
summarise_all(.funs = "sum", na.rm = TRUE)
write.csv(county_tracts_race, "data/data_attr/dc_tracts_1990_attr.csv", row.names = FALSE)
Etap 4: Wyselekcjonowanie danych przestrzennych dla wybranego hrabstwa.
library(sf)
= st_read("data/dane_przestrzenne/tracts1990.gpkg") dane_geo
Reading layer `tracts1990' from data source
`/home/anna/DYDAKTYKA/analiza_wizualizacja_struktury_ludnosci/data/dane_przestrzenne/tracts1990.gpkg'
using driver `GPKG'
Simple feature collection with 192 features and 4 fields
Geometry type: MULTIPOLYGON
Dimension: XY
Bounding box: xmin: 1610795 ymin: 1915125 xmax: 1629412 ymax: 1936100
Projected CRS: NAD83 / Conus Albers
= dane_geo[dane_geo$CNT_CODE == '11001',] county_geo
st_write(county_geo, "data/data_geo/dc_tracts.gpkg", layer = "tract_1990")
Etap 5: Połączenie danych atrybutowych i przestrzennych.
= left_join(county_geo, county_tracts_race, by = c("GISJOIN" = "GISJOIN_T")) county_geo_attr
st_write(county_geo_attr, "data/data_geo/dc_tracts_attr.gpkg", layer = "tract_attr_1990")
9.2 Prrzygotowanie danych dla 2020 roku
Etap 1: Wyselekcjonowanie danych atrybutowych o strukturze ludności dla wybranego hrabstwa.
= read.csv("data/dane_atrybutowe/blocks2020.csv") dane_attr
= dane_attr[dane_attr$COUNTY_CODE == '11001',] county_attr
Etap 2: Agregacja kategorii rasowo-etnicznych.
library(dplyr)
= county_attr %>%
county_blocks_race mutate(GISJOIN = GISJOIN,
GISJOIN_T = GISJOIN_T,
WHITE = U7C005,
BLACK = U7C006,
AM = U7C007,
ASIAN = U7C008 + U7C009,
OTHER = U7C010 + U7C011,
HISPANIC = U7C002,
.keep = "none")
= c("WHITE", "BLACK", "ASIAN", "HISPANIC", "AM", "OTHER")
list_race $POP = apply(county_blocks_race[, list_race], 1, sum, na.rm = TRUE) county_blocks_race
write.csv(county_blocks_race, "data/data_attr/dc_blocks_2020_attr.csv", row.names = FALSE)
Etap 3: Agregacja danych z bloków spisowych do obszarów spisowych (census tract).
= county_blocks_race[, -1] %>%
county_tracts_race group_by(GISJOIN_T) %>%
summarise_all(.funs = "sum", na.rm = TRUE)
write.csv(county_tracts_race, "data/data_attr/dc_tracts_2020_attr.csv", row.names = FALSE)
Etap 4: Wyselekcjonowanie danych przestrzennych dla wybranego hrabstwa.
library(sf)
= st_read("data/dane_przestrzenne/tracts2020.gpkg") dane_geo
Reading layer `tracts2020' from data source
`/home/anna/DYDAKTYKA/analiza_wizualizacja_struktury_ludnosci/data/dane_przestrzenne/tracts2020.gpkg'
using driver `GPKG'
Simple feature collection with 206 features and 4 fields
Geometry type: MULTIPOLYGON
Dimension: XY
Bounding box: xmin: 1610830 ymin: 1915291 xmax: 1629412 ymax: 1936182
Projected CRS: NAD83 / Conus Albers
= dane_geo[dane_geo$CNT_CODE == '11001',] county_geo
st_write(county_geo, "data/data_geo/dc_tracts.gpkg", layer = "tract_2020")
Etap 5: Połączenie danych atrybutowych i przestrzennych.
= left_join(county_geo, county_tracts_race, by = c("GISJOIN" = "GISJOIN_T")) county_geo_attr
st_write(county_geo_attr, "data/data_geo/dc_tracts_attr.gpkg", layer = "tract_attr_2020", append = TRUE)
Proszę przygotować dane dla lat 2000, 2010.