#load race variables for dissimilarity analysis
census_vars <- load_variables(2020, "acs5", cache = TRUE)
race_vars <- c(white = "B03002_003",
black = "B03002_004",
hispanic = "B03001_003")
tarrant_race <- get_acs(
geography = "tract",
variables = race_vars,
state = "TX",
county = "Tarrant",
year = 2020,
geometry = TRUE,
output = "wide")
## Getting data from the 2016-2020 5-year ACS
## Downloading feature geometry from the Census website. To cache shapefiles for use in future sessions, set `options(tigris_use_cache = TRUE)`.
##
|
| | 0%
|
| | 1%
|
|= | 1%
|
|= | 2%
|
|== | 2%
|
|== | 3%
|
|=== | 4%
|
|=== | 5%
|
|==== | 5%
|
|==== | 6%
|
|===== | 7%
|
|===== | 8%
|
|====== | 8%
|
|====== | 9%
|
|======= | 10%
|
|======= | 11%
|
|======== | 11%
|
|======== | 12%
|
|========= | 12%
|
|========= | 13%
|
|========== | 14%
|
|========== | 15%
|
|=========== | 15%
|
|=========== | 16%
|
|============ | 17%
|
|============= | 18%
|
|============= | 19%
|
|============== | 19%
|
|============== | 20%
|
|=============== | 21%
|
|=============== | 22%
|
|================ | 22%
|
|================ | 23%
|
|================ | 24%
|
|================= | 24%
|
|================= | 25%
|
|================== | 25%
|
|================== | 26%
|
|=================== | 27%
|
|=================== | 28%
|
|==================== | 28%
|
|==================== | 29%
|
|===================== | 30%
|
|====================== | 31%
|
|====================== | 32%
|
|======================= | 33%
|
|======================== | 34%
|
|======================== | 35%
|
|========================= | 35%
|
|========================= | 36%
|
|========================== | 37%
|
|=========================== | 38%
|
|=========================== | 39%
|
|============================ | 40%
|
|============================= | 41%
|
|============================= | 42%
|
|============================== | 42%
|
|============================== | 43%
|
|=============================== | 44%
|
|=============================== | 45%
|
|================================ | 45%
|
|================================ | 46%
|
|================================= | 47%
|
|================================= | 48%
|
|================================== | 48%
|
|================================== | 49%
|
|=================================== | 49%
|
|=================================== | 50%
|
|=================================== | 51%
|
|==================================== | 51%
|
|==================================== | 52%
|
|===================================== | 52%
|
|===================================== | 53%
|
|====================================== | 54%
|
|====================================== | 55%
|
|======================================= | 55%
|
|======================================= | 56%
|
|======================================== | 57%
|
|======================================== | 58%
|
|========================================= | 58%
|
|========================================= | 59%
|
|========================================== | 60%
|
|=========================================== | 61%
|
|=========================================== | 62%
|
|============================================ | 62%
|
|============================================ | 63%
|
|============================================ | 64%
|
|============================================= | 64%
|
|============================================= | 65%
|
|============================================== | 65%
|
|============================================== | 66%
|
|=============================================== | 66%
|
|=============================================== | 67%
|
|=============================================== | 68%
|
|================================================ | 69%
|
|================================================= | 70%
|
|================================================= | 71%
|
|================================================== | 71%
|
|================================================== | 72%
|
|=================================================== | 72%
|
|=================================================== | 73%
|
|==================================================== | 74%
|
|==================================================== | 75%
|
|===================================================== | 76%
|
|====================================================== | 77%
|
|====================================================== | 78%
|
|======================================================= | 78%
|
|======================================================= | 79%
|
|======================================================== | 80%
|
|========================================================= | 81%
|
|========================================================= | 82%
|
|========================================================== | 83%
|
|=========================================================== | 84%
|
|============================================================ | 85%
|
|============================================================ | 86%
|
|============================================================= | 87%
|
|============================================================= | 88%
|
|============================================================== | 88%
|
|============================================================== | 89%
|
|=============================================================== | 89%
|
|=============================================================== | 90%
|
|================================================================ | 91%
|
|================================================================ | 92%
|
|================================================================= | 92%
|
|================================================================= | 93%
|
|================================================================== | 94%
|
|================================================================== | 95%
|
|=================================================================== | 95%
|
|=================================================================== | 96%
|
|==================================================================== | 97%
|
|==================================================================== | 98%
|
|===================================================================== | 98%
|
|===================================================================== | 99%
|
|======================================================================| 100%
#arlington city limits
arlington_boundary <- st_read(dsn = "C:/Users/txs401/OneDrive - University of Texas at San Antonio/Desktop/Final Project/Sam/Municipal_Boundary/Municipal_Boundary.shp")
## Reading layer `Municipal_Boundary' from data source
## `C:\Users\txs401\OneDrive - University of Texas at San Antonio\Desktop\Final Project\Sam\Municipal_Boundary\Municipal_Boundary.shp'
## using driver `ESRI Shapefile'
## Simple feature collection with 4 features and 4 fields
## Geometry type: POLYGON
## Dimension: XY
## Bounding box: xmin: 2357410 ymin: 6899355 xmax: 2418177 ymax: 6983111
## Projected CRS: NAD83 / Texas North Central (ftUS)
arlington_boundary <- arlington_boundary[-c(1,2, 3),]
#set crs
arlington_boundary <- st_transform(arlington_boundary, crs = 4269)
tarrant_race <- st_transform(tarrant_race, crs = 4269)
#intersect race variables with city boundary
arlington_race <- st_intersection(arlington_boundary,tarrant_race)
## Warning: attribute variables are assumed to be spatially constant throughout all
## geometries
#sum of races
sum(arlington_race$whiteE) #white
## [1] 192731
sum(arlington_race$blackE) #black
## [1] 117752
sum(arlington_race$hispanicE) #hispanic
## [1] 138762
arlington_race$white_total <- sum(arlington_race$whiteE)
arlington_race$black_total <- sum(arlington_race$blackE)
arlington_race$hispanic_total <- sum(arlington_race$hispanicE)
arlington_race$nonwhite_total <- sum(arlington_race$blackE, arlington_race$hispanicE)
#white-black dissimilarity
arlington_race$wb <- abs(arlington_race$blackE/arlington_race$black_total
-arlington_race$whiteE/arlington_race$white_total)
#white-hispanic dissimilarity
arlington_race$wh <- abs(arlington_race$hispanicE/arlington_race$hispanic_total
-arlington_race$whiteE/arlington_race$white_total)
#white-non white dissimilarity
arlington_race$white_nonwhite <- abs((arlington_race$hispanicE + arlington_race$blackE)
/arlington_race$nonwhite_total
-arlington_race$whiteE
/arlington_race$white_total)
#summarize
results_dissimilarity <- arlington_race %>%
group_by(GEOID) %>%
summarize(BWD = 0.5*sum(wb, na.rm=TRUE), HWD = 0.5*sum(wh, na.rm=TRUE),
WNWD = 0.5*sum(white_nonwhite, na.rm = TRUE))
## BWD: Black-White Dissimilarity Index; HWD: Hispanic-White Dissimilarity Index
tmap_mode("view") +
tm_shape(results_dissimilarity) +
tm_fill(col = c("BWD","HWD"), palette = "magma", alpha = 0.5) +
tm_borders() +
#tm_shape(arlington_trails) +
tm_lines(col = "#3ecf2f", lwd = 2)
## tmap mode set to interactive viewing