task 4:Join the Census ACS population, race, and age data to the NYC
Planning Census Tract Data.
ACS_data <- read_csv("~/Desktop/SPRING 2026 HUNTER/Programming with R/Week 8/Section_08/R-Spatial_II_Lab/ACSDP5Y2018.DP05_data_with_overlays_2020-04-22T132935.csv")
## Rows: 2168 Columns: 358
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (358): GEO_ID, NAME, DP05_0031PM, DP05_0032E, DP05_0032M, DP05_0032PE, D...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
str(ACS_data)
## spc_tbl_ [2,168 × 358] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ GEO_ID : chr [1:2168] "id" "1400000US36005000100" "1400000US36005000200" "1400000US36005000400" ...
## $ NAME : chr [1:2168] "Geographic Area Name" "Census Tract 1, Bronx County, New York" "Census Tract 2, Bronx County, New York" "Census Tract 4, Bronx County, New York" ...
## $ DP05_0031PM: chr [1:2168] "Percent Margin of Error!!SEX AND AGE!!Total population!!65 years and over!!Female" "50.4" "9.5" "8.8" ...
## $ DP05_0032E : chr [1:2168] "Estimate!!SEX AND AGE!!Total population!!65 years and over!!Sex ratio (males per 100 females)" "200.0" "95.1" "91.4" ...
## $ DP05_0032M : chr [1:2168] "Margin of Error!!SEX AND AGE!!Total population!!65 years and over!!Sex ratio (males per 100 females)" "1316.0" "37.2" "32.7" ...
## $ DP05_0032PE: chr [1:2168] "Percent Estimate!!SEX AND AGE!!Total population!!65 years and over!!Sex ratio (males per 100 females)" "(X)" "(X)" "(X)" ...
## $ DP05_0032PM: chr [1:2168] "Percent Margin of Error!!SEX AND AGE!!Total population!!65 years and over!!Sex ratio (males per 100 females)" "(X)" "(X)" "(X)" ...
## $ DP05_0033E : chr [1:2168] "Estimate!!RACE!!Total population" "7080" "4542" "5634" ...
## $ DP05_0033M : chr [1:2168] "Margin of Error!!RACE!!Total population" "290" "574" "517" ...
## $ DP05_0033PE: chr [1:2168] "Percent Estimate!!RACE!!Total population" "7080" "4542" "5634" ...
## $ DP05_0033PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population" "(X)" "(X)" "(X)" ...
## $ DP05_0034E : chr [1:2168] "Estimate!!RACE!!Total population!!One race" "7012" "4349" "5425" ...
## $ DP05_0034M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race" "289" "557" "532" ...
## $ DP05_0034PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race" "99.0" "95.8" "96.3" ...
## $ DP05_0034PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race" "0.6" "3.4" "2.1" ...
## $ DP05_0035E : chr [1:2168] "Estimate!!RACE!!Total population!!Two or more races" "68" "193" "209" ...
## $ DP05_0035M : chr [1:2168] "Margin of Error!!RACE!!Total population!!Two or more races" "42" "155" "117" ...
## $ DP05_0035PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!Two or more races" "1.0" "4.2" "3.7" ...
## $ DP05_0035PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!Two or more races" "0.6" "3.4" "2.1" ...
## $ DP05_0036E : chr [1:2168] "Estimate!!RACE!!Total population!!One race" "7012" "4349" "5425" ...
## $ DP05_0036M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race" "289" "557" "532" ...
## $ DP05_0036PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race" "99.0" "95.8" "96.3" ...
## $ DP05_0036PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race" "0.6" "3.4" "2.1" ...
## $ DP05_0037E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!White" "1773" "2165" "2623" ...
## $ DP05_0037M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!White" "248" "547" "427" ...
## $ DP05_0037PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!White" "25.0" "47.7" "46.6" ...
## $ DP05_0037PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!White" "3.2" "11.1" "7.8" ...
## $ DP05_0038E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!Black or African American" "4239" "1279" "1699" ...
## $ DP05_0038M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!Black or African American" "286" "472" "432" ...
## $ DP05_0038PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!Black or African American" "59.9" "28.2" "30.2" ...
## $ DP05_0038PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!Black or African American" "3.5" "10.0" "6.4" ...
## $ DP05_0039E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!American Indian and Alaska Native" "25" "0" "30" ...
## $ DP05_0039M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!American Indian and Alaska Native" "24" "12" "33" ...
## $ DP05_0039PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!American Indian and Alaska Native" "0.4" "0.0" "0.5" ...
## $ DP05_0039PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!American Indian and Alaska Native" "0.3" "0.7" "0.6" ...
## $ DP05_0040E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!American Indian and Alaska Native!!Cherokee tribal grouping" "0" "0" "0" ...
## $ DP05_0040M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!American Indian and Alaska Native!!Cherokee tribal grouping" "17" "12" "17" ...
## $ DP05_0040PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!American Indian and Alaska Native!!Cherokee tribal grouping" "0.0" "0.0" "0.0" ...
## $ DP05_0040PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!American Indian and Alaska Native!!Cherokee tribal grouping" "0.5" "0.7" "0.6" ...
## $ DP05_0041E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!American Indian and Alaska Native!!Chippewa tribal grouping" "0" "0" "0" ...
## $ DP05_0041M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!American Indian and Alaska Native!!Chippewa tribal grouping" "17" "12" "17" ...
## $ DP05_0041PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!American Indian and Alaska Native!!Chippewa tribal grouping" "0.0" "0.0" "0.0" ...
## $ DP05_0041PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!American Indian and Alaska Native!!Chippewa tribal grouping" "0.5" "0.7" "0.6" ...
## $ DP05_0042E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!American Indian and Alaska Native!!Navajo tribal grouping" "0" "0" "0" ...
## $ DP05_0042M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!American Indian and Alaska Native!!Navajo tribal grouping" "17" "12" "17" ...
## $ DP05_0042PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!American Indian and Alaska Native!!Navajo tribal grouping" "0.0" "0.0" "0.0" ...
## $ DP05_0042PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!American Indian and Alaska Native!!Navajo tribal grouping" "0.5" "0.7" "0.6" ...
## $ DP05_0043E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!American Indian and Alaska Native!!Sioux tribal grouping" "0" "0" "0" ...
## $ DP05_0043M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!American Indian and Alaska Native!!Sioux tribal grouping" "17" "12" "17" ...
## $ DP05_0043PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!American Indian and Alaska Native!!Sioux tribal grouping" "0.0" "0.0" "0.0" ...
## $ DP05_0043PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!American Indian and Alaska Native!!Sioux tribal grouping" "0.5" "0.7" "0.6" ...
## $ DP05_0044E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!Asian" "125" "104" "226" ...
## $ DP05_0044M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!Asian" "51" "87" "155" ...
## $ DP05_0044PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!Asian" "1.8" "2.3" "4.0" ...
## $ DP05_0044PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!Asian" "0.7" "2.0" "2.7" ...
## $ DP05_0045E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!Asian!!Asian Indian" "35" "40" "20" ...
## $ DP05_0045M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!Asian!!Asian Indian" "31" "64" "31" ...
## $ DP05_0045PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!Asian!!Asian Indian" "0.5" "0.9" "0.4" ...
## $ DP05_0045PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!Asian!!Asian Indian" "0.4" "1.4" "0.5" ...
## $ DP05_0046E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!Asian!!Chinese" "54" "0" "171" ...
## $ DP05_0046M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!Asian!!Chinese" "46" "12" "142" ...
## $ DP05_0046PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!Asian!!Chinese" "0.8" "0.0" "3.0" ...
## $ DP05_0046PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!Asian!!Chinese" "0.6" "0.7" "2.5" ...
## $ DP05_0047E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!Asian!!Filipino" "0" "0" "23" ...
## $ DP05_0047M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!Asian!!Filipino" "17" "12" "36" ...
## $ DP05_0047PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!Asian!!Filipino" "0.0" "0.0" "0.4" ...
## $ DP05_0047PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!Asian!!Filipino" "0.5" "0.7" "0.6" ...
## $ DP05_0048E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!Asian!!Japanese" "0" "40" "0" ...
## $ DP05_0048M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!Asian!!Japanese" "17" "55" "17" ...
## $ DP05_0048PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!Asian!!Japanese" "0.0" "0.9" "0.0" ...
## $ DP05_0048PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!Asian!!Japanese" "0.5" "1.2" "0.6" ...
## $ DP05_0049E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!Asian!!Korean" "4" "0" "0" ...
## $ DP05_0049M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!Asian!!Korean" "7" "12" "17" ...
## $ DP05_0049PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!Asian!!Korean" "0.1" "0.0" "0.0" ...
## $ DP05_0049PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!Asian!!Korean" "0.1" "0.7" "0.6" ...
## $ DP05_0050E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!Asian!!Vietnamese" "0" "0" "12" ...
## $ DP05_0050M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!Asian!!Vietnamese" "17" "12" "19" ...
## $ DP05_0050PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!Asian!!Vietnamese" "0.0" "0.0" "0.2" ...
## $ DP05_0050PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!Asian!!Vietnamese" "0.5" "0.7" "0.3" ...
## $ DP05_0051E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!Asian!!Other Asian" "32" "24" "0" ...
## $ DP05_0051M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!Asian!!Other Asian" "30" "45" "17" ...
## $ DP05_0051PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!Asian!!Other Asian" "0.5" "0.5" "0.0" ...
## $ DP05_0051PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!Asian!!Other Asian" "0.4" "1.0" "0.6" ...
## $ DP05_0052E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!Native Hawaiian and Other Pacific Islander" "0" "0" "0" ...
## $ DP05_0052M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!Native Hawaiian and Other Pacific Islander" "17" "12" "17" ...
## $ DP05_0052PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!Native Hawaiian and Other Pacific Islander" "0.0" "0.0" "0.0" ...
## $ DP05_0052PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!Native Hawaiian and Other Pacific Islander" "0.5" "0.7" "0.6" ...
## $ DP05_0053E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!Native Hawaiian and Other Pacific Islander!!Native Hawaiian" "0" "0" "0" ...
## $ DP05_0053M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!Native Hawaiian and Other Pacific Islander!!Native Hawaiian" "17" "12" "17" ...
## $ DP05_0053PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!Native Hawaiian and Other Pacific Islander!!Native Hawaiian" "0.0" "0.0" "0.0" ...
## $ DP05_0053PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!Native Hawaiian and Other Pacific Islander!!Native Hawaiian" "0.5" "0.7" "0.6" ...
## $ DP05_0054E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!Native Hawaiian and Other Pacific Islander!!Guamanian or Chamorro" "0" "0" "0" ...
## $ DP05_0054M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!Native Hawaiian and Other Pacific Islander!!Guamanian or Chamorro" "17" "12" "17" ...
## $ DP05_0054PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!Native Hawaiian and Other Pacific Islander!!Guamanian or Chamorro" "0.0" "0.0" "0.0" ...
## $ DP05_0054PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!Native Hawaiian and Other Pacific Islander!!Guamanian or Chamorro" "0.5" "0.7" "0.6" ...
## $ DP05_0055E : chr [1:2168] "Estimate!!RACE!!Total population!!One race!!Native Hawaiian and Other Pacific Islander!!Samoan" "0" "0" "0" ...
## $ DP05_0055M : chr [1:2168] "Margin of Error!!RACE!!Total population!!One race!!Native Hawaiian and Other Pacific Islander!!Samoan" "17" "12" "17" ...
## $ DP05_0055PE: chr [1:2168] "Percent Estimate!!RACE!!Total population!!One race!!Native Hawaiian and Other Pacific Islander!!Samoan" "0.0" "0.0" "0.0" ...
## $ DP05_0055PM: chr [1:2168] "Percent Margin of Error!!RACE!!Total population!!One race!!Native Hawaiian and Other Pacific Islander!!Samoan" "0.5" "0.7" "0.6" ...
## [list output truncated]
## - attr(*, "spec")=
## .. cols(
## .. GEO_ID = col_character(),
## .. NAME = col_character(),
## .. DP05_0031PM = col_character(),
## .. DP05_0032E = col_character(),
## .. DP05_0032M = col_character(),
## .. DP05_0032PE = col_character(),
## .. DP05_0032PM = col_character(),
## .. DP05_0033E = col_character(),
## .. DP05_0033M = col_character(),
## .. DP05_0033PE = col_character(),
## .. DP05_0033PM = col_character(),
## .. DP05_0034E = col_character(),
## .. DP05_0034M = col_character(),
## .. DP05_0034PE = col_character(),
## .. DP05_0034PM = col_character(),
## .. DP05_0035E = col_character(),
## .. DP05_0035M = col_character(),
## .. DP05_0035PE = col_character(),
## .. DP05_0035PM = col_character(),
## .. DP05_0036E = col_character(),
## .. DP05_0036M = col_character(),
## .. DP05_0036PE = col_character(),
## .. DP05_0036PM = col_character(),
## .. DP05_0037E = col_character(),
## .. DP05_0037M = col_character(),
## .. DP05_0037PE = col_character(),
## .. DP05_0037PM = col_character(),
## .. DP05_0038E = col_character(),
## .. DP05_0038M = col_character(),
## .. DP05_0038PE = col_character(),
## .. DP05_0038PM = col_character(),
## .. DP05_0039E = col_character(),
## .. DP05_0039M = col_character(),
## .. DP05_0039PE = col_character(),
## .. DP05_0039PM = col_character(),
## .. DP05_0040E = col_character(),
## .. DP05_0040M = col_character(),
## .. DP05_0040PE = col_character(),
## .. DP05_0040PM = col_character(),
## .. DP05_0041E = col_character(),
## .. DP05_0041M = col_character(),
## .. DP05_0041PE = col_character(),
## .. DP05_0041PM = col_character(),
## .. DP05_0042E = col_character(),
## .. DP05_0042M = col_character(),
## .. DP05_0042PE = col_character(),
## .. DP05_0042PM = col_character(),
## .. DP05_0043E = col_character(),
## .. DP05_0043M = col_character(),
## .. DP05_0043PE = col_character(),
## .. DP05_0043PM = col_character(),
## .. DP05_0044E = col_character(),
## .. DP05_0044M = col_character(),
## .. DP05_0044PE = col_character(),
## .. DP05_0044PM = col_character(),
## .. DP05_0045E = col_character(),
## .. DP05_0045M = col_character(),
## .. DP05_0045PE = col_character(),
## .. DP05_0045PM = col_character(),
## .. DP05_0046E = col_character(),
## .. DP05_0046M = col_character(),
## .. DP05_0046PE = col_character(),
## .. DP05_0046PM = col_character(),
## .. DP05_0047E = col_character(),
## .. DP05_0047M = col_character(),
## .. DP05_0047PE = col_character(),
## .. DP05_0047PM = col_character(),
## .. DP05_0048E = col_character(),
## .. DP05_0048M = col_character(),
## .. DP05_0048PE = col_character(),
## .. DP05_0048PM = col_character(),
## .. DP05_0049E = col_character(),
## .. DP05_0049M = col_character(),
## .. DP05_0049PE = col_character(),
## .. DP05_0049PM = col_character(),
## .. DP05_0050E = col_character(),
## .. DP05_0050M = col_character(),
## .. DP05_0050PE = col_character(),
## .. DP05_0050PM = col_character(),
## .. DP05_0051E = col_character(),
## .. DP05_0051M = col_character(),
## .. DP05_0051PE = col_character(),
## .. DP05_0051PM = col_character(),
## .. DP05_0052E = col_character(),
## .. DP05_0052M = col_character(),
## .. DP05_0052PE = col_character(),
## .. DP05_0052PM = col_character(),
## .. DP05_0053E = col_character(),
## .. DP05_0053M = col_character(),
## .. DP05_0053PE = col_character(),
## .. DP05_0053PM = col_character(),
## .. DP05_0054E = col_character(),
## .. DP05_0054M = col_character(),
## .. DP05_0054PE = col_character(),
## .. DP05_0054PM = col_character(),
## .. DP05_0055E = col_character(),
## .. DP05_0055M = col_character(),
## .. DP05_0055PE = col_character(),
## .. DP05_0055PM = col_character(),
## .. DP05_0056E = col_character(),
## .. DP05_0056M = col_character(),
## .. DP05_0056PE = col_character(),
## .. DP05_0056PM = col_character(),
## .. DP05_0057E = col_character(),
## .. DP05_0057M = col_character(),
## .. DP05_0057PE = col_character(),
## .. DP05_0057PM = col_character(),
## .. DP05_0058E = col_character(),
## .. DP05_0058M = col_character(),
## .. DP05_0058PE = col_character(),
## .. DP05_0058PM = col_character(),
## .. DP05_0059E = col_character(),
## .. DP05_0059M = col_character(),
## .. DP05_0059PE = col_character(),
## .. DP05_0059PM = col_character(),
## .. DP05_0060E = col_character(),
## .. DP05_0060M = col_character(),
## .. DP05_0060PE = col_character(),
## .. DP05_0060PM = col_character(),
## .. DP05_0061E = col_character(),
## .. DP05_0061M = col_character(),
## .. DP05_0061PE = col_character(),
## .. DP05_0061PM = col_character(),
## .. DP05_0062E = col_character(),
## .. DP05_0062M = col_character(),
## .. DP05_0062PE = col_character(),
## .. DP05_0062PM = col_character(),
## .. DP05_0063E = col_character(),
## .. DP05_0063M = col_character(),
## .. DP05_0063PE = col_character(),
## .. DP05_0063PM = col_character(),
## .. DP05_0064E = col_character(),
## .. DP05_0064M = col_character(),
## .. DP05_0064PE = col_character(),
## .. DP05_0064PM = col_character(),
## .. DP05_0065E = col_character(),
## .. DP05_0065M = col_character(),
## .. DP05_0065PE = col_character(),
## .. DP05_0065PM = col_character(),
## .. DP05_0066E = col_character(),
## .. DP05_0066M = col_character(),
## .. DP05_0066PE = col_character(),
## .. DP05_0066PM = col_character(),
## .. DP05_0067E = col_character(),
## .. DP05_0067M = col_character(),
## .. DP05_0067PE = col_character(),
## .. DP05_0067PM = col_character(),
## .. DP05_0068E = col_character(),
## .. DP05_0068M = col_character(),
## .. DP05_0068PE = col_character(),
## .. DP05_0068PM = col_character(),
## .. DP05_0069E = col_character(),
## .. DP05_0069M = col_character(),
## .. DP05_0069PE = col_character(),
## .. DP05_0069PM = col_character(),
## .. DP05_0070E = col_character(),
## .. DP05_0070M = col_character(),
## .. DP05_0070PE = col_character(),
## .. DP05_0070PM = col_character(),
## .. DP05_0071E = col_character(),
## .. DP05_0071M = col_character(),
## .. DP05_0071PE = col_character(),
## .. DP05_0071PM = col_character(),
## .. DP05_0072E = col_character(),
## .. DP05_0072M = col_character(),
## .. DP05_0072PE = col_character(),
## .. DP05_0072PM = col_character(),
## .. DP05_0073E = col_character(),
## .. DP05_0073M = col_character(),
## .. DP05_0073PE = col_character(),
## .. DP05_0073PM = col_character(),
## .. DP05_0074E = col_character(),
## .. DP05_0074M = col_character(),
## .. DP05_0074PE = col_character(),
## .. DP05_0074PM = col_character(),
## .. DP05_0075E = col_character(),
## .. DP05_0075M = col_character(),
## .. DP05_0075PE = col_character(),
## .. DP05_0075PM = col_character(),
## .. DP05_0076E = col_character(),
## .. DP05_0076M = col_character(),
## .. DP05_0076PE = col_character(),
## .. DP05_0076PM = col_character(),
## .. DP05_0077E = col_character(),
## .. DP05_0077M = col_character(),
## .. DP05_0077PE = col_character(),
## .. DP05_0077PM = col_character(),
## .. DP05_0078E = col_character(),
## .. DP05_0078M = col_character(),
## .. DP05_0078PE = col_character(),
## .. DP05_0078PM = col_character(),
## .. DP05_0079E = col_character(),
## .. DP05_0079M = col_character(),
## .. DP05_0079PE = col_character(),
## .. DP05_0079PM = col_character(),
## .. DP05_0080E = col_character(),
## .. DP05_0080M = col_character(),
## .. DP05_0080PE = col_character(),
## .. DP05_0080PM = col_character(),
## .. DP05_0081E = col_character(),
## .. DP05_0081M = col_character(),
## .. DP05_0081PE = col_character(),
## .. DP05_0081PM = col_character(),
## .. DP05_0082E = col_character(),
## .. DP05_0082M = col_character(),
## .. DP05_0082PE = col_character(),
## .. DP05_0082PM = col_character(),
## .. DP05_0083E = col_character(),
## .. DP05_0083M = col_character(),
## .. DP05_0083PE = col_character(),
## .. DP05_0083PM = col_character(),
## .. DP05_0084E = col_character(),
## .. DP05_0084M = col_character(),
## .. DP05_0084PE = col_character(),
## .. DP05_0084PM = col_character(),
## .. DP05_0085E = col_character(),
## .. DP05_0085M = col_character(),
## .. DP05_0085PE = col_character(),
## .. DP05_0085PM = col_character(),
## .. DP05_0086E = col_character(),
## .. DP05_0086M = col_character(),
## .. DP05_0086PE = col_character(),
## .. DP05_0086PM = col_character(),
## .. DP05_0087E = col_character(),
## .. DP05_0087M = col_character(),
## .. DP05_0087PE = col_character(),
## .. DP05_0087PM = col_character(),
## .. DP05_0088E = col_character(),
## .. DP05_0088M = col_character(),
## .. DP05_0088PE = col_character(),
## .. DP05_0088PM = col_character(),
## .. DP05_0089E = col_character(),
## .. DP05_0089M = col_character(),
## .. DP05_0089PE = col_character(),
## .. DP05_0089PM = col_character(),
## .. DP05_0001E = col_character(),
## .. DP05_0001M = col_character(),
## .. DP05_0001PE = col_character(),
## .. DP05_0001PM = col_character(),
## .. DP05_0002E = col_character(),
## .. DP05_0002M = col_character(),
## .. DP05_0002PE = col_character(),
## .. DP05_0002PM = col_character(),
## .. DP05_0003E = col_character(),
## .. DP05_0003M = col_character(),
## .. DP05_0003PE = col_character(),
## .. DP05_0003PM = col_character(),
## .. DP05_0004E = col_character(),
## .. DP05_0004M = col_character(),
## .. DP05_0004PE = col_character(),
## .. DP05_0004PM = col_character(),
## .. DP05_0005E = col_character(),
## .. DP05_0005M = col_character(),
## .. DP05_0005PE = col_character(),
## .. DP05_0005PM = col_character(),
## .. DP05_0006E = col_character(),
## .. DP05_0006M = col_character(),
## .. DP05_0006PE = col_character(),
## .. DP05_0006PM = col_character(),
## .. DP05_0007E = col_character(),
## .. DP05_0007M = col_character(),
## .. DP05_0007PE = col_character(),
## .. DP05_0007PM = col_character(),
## .. DP05_0008E = col_character(),
## .. DP05_0008M = col_character(),
## .. DP05_0008PE = col_character(),
## .. DP05_0008PM = col_character(),
## .. DP05_0009E = col_character(),
## .. DP05_0009M = col_character(),
## .. DP05_0009PE = col_character(),
## .. DP05_0009PM = col_character(),
## .. DP05_0010E = col_character(),
## .. DP05_0010M = col_character(),
## .. DP05_0010PE = col_character(),
## .. DP05_0010PM = col_character(),
## .. DP05_0011E = col_character(),
## .. DP05_0011M = col_character(),
## .. DP05_0011PE = col_character(),
## .. DP05_0011PM = col_character(),
## .. DP05_0012E = col_character(),
## .. DP05_0012M = col_character(),
## .. DP05_0012PE = col_character(),
## .. DP05_0012PM = col_character(),
## .. DP05_0013E = col_character(),
## .. DP05_0013M = col_character(),
## .. DP05_0013PE = col_character(),
## .. DP05_0013PM = col_character(),
## .. DP05_0014E = col_character(),
## .. DP05_0014M = col_character(),
## .. DP05_0014PE = col_character(),
## .. DP05_0014PM = col_character(),
## .. DP05_0015E = col_character(),
## .. DP05_0015M = col_character(),
## .. DP05_0015PE = col_character(),
## .. DP05_0015PM = col_character(),
## .. DP05_0016E = col_character(),
## .. DP05_0016M = col_character(),
## .. DP05_0016PE = col_character(),
## .. DP05_0016PM = col_character(),
## .. DP05_0017E = col_character(),
## .. DP05_0017M = col_character(),
## .. DP05_0017PE = col_character(),
## .. DP05_0017PM = col_character(),
## .. DP05_0018E = col_character(),
## .. DP05_0018M = col_character(),
## .. DP05_0018PE = col_character(),
## .. DP05_0018PM = col_character(),
## .. DP05_0019E = col_character(),
## .. DP05_0019M = col_character(),
## .. DP05_0019PE = col_character(),
## .. DP05_0019PM = col_character(),
## .. DP05_0020E = col_character(),
## .. DP05_0020M = col_character(),
## .. DP05_0020PE = col_character(),
## .. DP05_0020PM = col_character(),
## .. DP05_0021E = col_character(),
## .. DP05_0021M = col_character(),
## .. DP05_0021PE = col_character(),
## .. DP05_0021PM = col_character(),
## .. DP05_0022E = col_character(),
## .. DP05_0022M = col_character(),
## .. DP05_0022PE = col_character(),
## .. DP05_0022PM = col_character(),
## .. DP05_0023E = col_character(),
## .. DP05_0023M = col_character(),
## .. DP05_0023PE = col_character(),
## .. DP05_0023PM = col_character(),
## .. DP05_0024E = col_character(),
## .. DP05_0024M = col_character(),
## .. DP05_0024PE = col_character(),
## .. DP05_0024PM = col_character(),
## .. DP05_0025E = col_character(),
## .. DP05_0025M = col_character(),
## .. DP05_0025PE = col_character(),
## .. DP05_0025PM = col_character(),
## .. DP05_0026E = col_character(),
## .. DP05_0026M = col_character(),
## .. DP05_0026PE = col_character(),
## .. DP05_0026PM = col_character(),
## .. DP05_0027E = col_character(),
## .. DP05_0027M = col_character(),
## .. DP05_0027PE = col_character(),
## .. DP05_0027PM = col_character(),
## .. DP05_0028E = col_character(),
## .. DP05_0028M = col_character(),
## .. DP05_0028PE = col_character(),
## .. DP05_0028PM = col_character(),
## .. DP05_0029E = col_character(),
## .. DP05_0029M = col_character(),
## .. DP05_0029PE = col_character(),
## .. DP05_0029PM = col_character(),
## .. DP05_0030E = col_character(),
## .. DP05_0030M = col_character(),
## .. DP05_0030PE = col_character(),
## .. DP05_0030PM = col_character(),
## .. DP05_0031E = col_character(),
## .. DP05_0031M = col_character(),
## .. DP05_0031PE = col_character()
## .. )
## - attr(*, "problems")=<externalptr>
library(dplyr)
library(stringr)
acs_clean <- ACS_data %>%
slice(-1) %>% # Remove the description row
mutate(
GEOID = sub("1400000US", "", GEO_ID),
total_pop = as.numeric(DP05_0001E), # Total Population
elderly_pop = as.numeric(DP05_0019E), # 65 years and over
white_pop = as.numeric(DP05_0037E), # Race: White
black_pop = as.numeric(DP05_0038E), # Race: Black
hisp_pop = as.numeric(DP05_0071E) # Ethnicity: Hispanic
) %>%
filter(substr(GEOID, 3, 5) %in% c("005", "047", "061", "081", "085")) %>%
# 4. Keep only the necessary columns
select(GEOID, total_pop, elderly_pop, white_pop, black_pop, hisp_pop)
glimpse(acs_clean)
## Rows: 2,167
## Columns: 6
## $ GEOID <chr> "36005000100", "36005000200", "36005000400", "36005001600"…
## $ total_pop <dbl> 7080, 4542, 5634, 5917, 2765, 9409, 4600, 172, 5887, 2868,…
## $ elderly_pop <dbl> 171, 960, 1127, 1501, 757, 2558, 1102, 41, 1650, 1020, 155…
## $ white_pop <dbl> 1773, 2165, 2623, 2406, 585, 3185, 479, 69, 903, 243, 480,…
## $ black_pop <dbl> 4239, 1279, 1699, 2434, 1041, 4487, 2122, 89, 1344, 987, 2…
## $ hisp_pop <dbl> 2329, 3367, 3873, 3603, 1413, 5905, 2674, 0, 4562, 1985, 2…
nyc_tracts_sf <- st_read("~/Desktop/SPRING 2026 HUNTER/Programming with R/Week 8/Section_08/R-Spatial_II_Lab/2010 Census Tracts/geo_export_1dc7b645-647b-4806-b9a0-7b79660f120a.shp")
## Reading layer `geo_export_1dc7b645-647b-4806-b9a0-7b79660f120a' from data source `/Users/emilycoty/Desktop/SPRING 2026 HUNTER/Programming with R/Week 8/Section_08/R-Spatial_II_Lab/2010 Census Tracts/geo_export_1dc7b645-647b-4806-b9a0-7b79660f120a.shp'
## using driver `ESRI Shapefile'
## Simple feature collection with 2165 features and 11 fields
## Geometry type: MULTIPOLYGON
## Dimension: XY
## Bounding box: xmin: -74.25559 ymin: 40.49612 xmax: -73.70001 ymax: 40.91553
## Geodetic CRS: WGS84(DD)
str(nyc_tracts_sf)
## Classes 'sf' and 'data.frame': 2165 obs. of 12 variables:
## $ boro_code : chr "5" "1" "1" "1" ...
## $ boro_ct201: chr "5000900" "1009800" "1010000" "1010200" ...
## $ boro_name : chr "Staten Island" "Manhattan" "Manhattan" "Manhattan" ...
## $ cdeligibil: chr "E" "I" "I" "I" ...
## $ ct2010 : chr "000900" "009800" "010000" "010200" ...
## $ ctlabel : chr "9" "98" "100" "102" ...
## $ ntacode : chr "SI22" "MN19" "MN19" "MN17" ...
## $ ntaname : chr "West New Brighton-New Brighton-St. George" "Turtle Bay-East Midtown" "Turtle Bay-East Midtown" "Midtown-Midtown South" ...
## $ puma : chr "3903" "3808" "3808" "3807" ...
## $ shape_area: num 2497010 1906016 1860938 1860993 1864600 ...
## $ shape_leng: num 7729 5534 5692 5688 5693 ...
## $ geometry :sfc_MULTIPOLYGON of length 2165; first list element: List of 1
## ..$ :List of 1
## .. ..$ : num [1:28, 1:2] -74.1 -74.1 -74.1 -74.1 -74.1 ...
## ..- attr(*, "class")= chr [1:3] "XY" "MULTIPOLYGON" "sfg"
## - attr(*, "sf_column")= chr "geometry"
## - attr(*, "agr")= Factor w/ 3 levels "constant","aggregate",..: NA NA NA NA NA NA NA NA NA NA ...
## ..- attr(*, "names")= chr [1:11] "boro_code" "boro_ct201" "boro_name" "cdeligibil" ...
nyc_tracts_sf <- nyc_tracts_sf %>%
rename(GEOID = ct2010) %>%
mutate(GEOID = as.character(GEOID))
nyc_tracts_fixed <- nyc_tracts_sf %>%
mutate(
county_code = case_when(
boro_code == "1" ~ "061", # Manhattan
boro_code == "2" ~ "005", # Bronx
boro_code == "3" ~ "047", # Brooklyn
boro_code == "4" ~ "081", # Queens
boro_code == "5" ~ "085", # Staten Island
),
GEOID_Full = paste0("36", county_code, boro_ct201 %>% str_remove("^\\d"))
)
tracts_with_acs <- nyc_tracts_fixed %>%
left_join(acs_clean, by = c("GEOID_Full" = "GEOID"))
str(tracts_with_acs)
## Classes 'sf' and 'data.frame': 2165 obs. of 19 variables:
## $ boro_code : chr "5" "1" "1" "1" ...
## $ boro_ct201 : chr "5000900" "1009800" "1010000" "1010200" ...
## $ boro_name : chr "Staten Island" "Manhattan" "Manhattan" "Manhattan" ...
## $ cdeligibil : chr "E" "I" "I" "I" ...
## $ GEOID : chr "000900" "009800" "010000" "010200" ...
## $ ctlabel : chr "9" "98" "100" "102" ...
## $ ntacode : chr "SI22" "MN19" "MN19" "MN17" ...
## $ ntaname : chr "West New Brighton-New Brighton-St. George" "Turtle Bay-East Midtown" "Turtle Bay-East Midtown" "Midtown-Midtown South" ...
## $ puma : chr "3903" "3808" "3808" "3807" ...
## $ shape_area : num 2497010 1906016 1860938 1860993 1864600 ...
## $ shape_leng : num 7729 5534 5692 5688 5693 ...
## $ county_code: chr "085" "061" "061" "061" ...
## $ GEOID_Full : chr "36085000900" "36061009800" "36061010000" "36061010200" ...
## $ total_pop : num 1826 7200 1768 100 919 ...
## $ elderly_pop: num 509 632 120 17 43 ...
## $ white_pop : num 620 5983 1401 64 647 ...
## $ black_pop : num 861 144 35 0 22 26 9 13 78 11 ...
## $ hisp_pop : num 445 424 61 11 103 0 81 184 476 249 ...
## $ geometry :sfc_MULTIPOLYGON of length 2165; first list element: List of 1
## ..$ :List of 1
## .. ..$ : num [1:28, 1:2] -74.1 -74.1 -74.1 -74.1 -74.1 ...
## ..- attr(*, "class")= chr [1:3] "XY" "MULTIPOLYGON" "sfg"
## - attr(*, "sf_column")= chr "geometry"
## - attr(*, "agr")= Factor w/ 3 levels "constant","aggregate",..: NA NA NA NA NA NA NA NA NA NA ...
## ..- attr(*, "names")= chr [1:18] "boro_code" "boro_ct201" "boro_name" "cdeligibil" ...