Example #4. Explore the Geographies that Tidycensus can pull out. This is an example of using tidycensus to extract 2014/18 ACS data for all available geographies for the entire USA. ItÕs just a test of capabilities. Some geographic levels (county subdivision, state upper and lower houses) donÕt appear to be working. There is some extra code in the ÒPUMA stepÓ to tally the number of PUMAs per US state, and the minimum and maximum total population levels for each PUMA in the US. # Step 0: Load relevant libraries into each R-session. library(tidyverse) library(tidycensus) library(janitor) library(plyr) # This is needed for a function to concatenate a lot of files in one statement! library(dplyr) # Add the variable Geography_Name to each data frame. Maybe concatenate/pancake these dataframes? selvars <- c(TotalPop_ = "B06001_001", # Total Population SamplePop_ = "B00001_001", # Unweighted Sample Count of Population HHUnits_ = "B25002_001", # Total Housing Units Househlds_ = "B25002_002", # Total Households SampleDU_ = "B00002_001") # Unweighted Sample Count of Dwelling Units #------------------------------------------------------------------------------------ us <- get_acs(survey="acs5", year=2018, geography = "us", show_call = TRUE,output="wide", variables = selvars) us$Geography_Name <- "us" #------------------------------------------------------------------------------------ region <- get_acs(survey="acs5", year=2018, geography = "region", show_call = TRUE,output="wide", variables = selvars) region$Geography_Name <- "region" #------------------------------------------------------------------------------------ division <- get_acs(survey="acs5", year=2018, geography = "division", show_call = TRUE,output="wide", variables = selvars) division$Geography_Name <- "division" #------------------------------------------------------------------------------------ state <- get_acs(survey="acs5", year=2018, geography = "state", show_call = TRUE,output="wide", variables = selvars) state$Geography_Name <- "state" setwd("~/Desktop/tidycensus_work/output") write.csv(state,"ACS1418_USA_State_1.csv") #------------------------------------------------------------------------------------ county <- get_acs(survey="acs5", year=2018, geography = "county", show_call = TRUE,output="wide", variables = selvars) county$Geography_Name <- "county" #------------------------------------------------------------------------------------ # County Subdivision isn't working ...returns an API error (unknown/unsupported geography) countysubdiv <- get_acs(survey="acs5", year=2018, geography = "county subdivision", show_call = TRUE,output="wide", variables = selvars) countysubdiv$Geography_Name <- "countysubdiv" #------------------------------------------------------------------------------------ # Pull just the tracts in Alameda County, California tract <- get_acs(survey="acs5", year=2018, geography = "tract", state="CA", county="Alameda",show_call = TRUE,output="wide", variables = selvars) tract$Geography_Name <- "tract" #------------------------------------------------------------------------------------ # Pull just the block groups in Alameda County, California blockgroup<- get_acs(survey="acs5", year=2018, geography = "block group", state="CA", county="Alameda",show_call = TRUE,output="wide", variables = selvars) blockgroup$Geography_Name <- "blockgroup" #------------------------------------------------------------------------------------ place <- get_acs(survey="acs5", year=2018, geography = "place", show_call = TRUE,output="wide", variables = selvars) place$Geography_Name <- "place" #------------------------------------------------------------------------------------ urban <- get_acs(survey="acs5", year=2018, geography = "urban area", show_call = TRUE,output="wide", variables = selvars) urban$Geography_Name <- "urban" #------------------------------------------------------------------------------------ congdist <- get_acs(survey="acs5", year=2018, geography = "congressional district", show_call = TRUE,output="wide", variables = selvars) congdist$Geography_Name <- "congdist" #------------------------------------------------------------------------------------ puma <- get_acs(survey="acs5", year=2018, geography = "public use microdata area", show_call = TRUE,output="wide", variables = selvars) puma$TotalPop2 <- puma$TotalPop_E * 1.0 puma$Tally <- 1.0 puma$State <- substr(puma$GEOID,1,2) puma$Geography_Name <- "puma" pumas <- puma[order(puma$State,puma$GEOID),] summary(pumas) sum1 <- aggregate(pumas[,3:12], by = list(pumas$State), FUN = sum, na.rm=TRUE) min1 <- aggregate(pumas[,3:12], by = list(pumas$State), FUN = min, na.rm=TRUE) max1 <- aggregate(pumas[,3:12], by = list(pumas$State), FUN = max, na.rm=TRUE) setwd("~/Desktop/tidycensus_work/output") write.csv(sum1,"ACS1418_USA_PUMA_sum_by_State_1.csv") write.csv(min1,"ACS1418_USA_PUMA_min_by_State_1.csv") write.csv(max1,"ACS1418_USA_PUMA_max_by_State_1.csv") write.csv(pumas,"ACS1418_USA_PUMA_All_1.csv") sum2 <- pumas %>% group_by(State) %>% summarize_at("TotalPop_E", list(name=sum)) #------------------------------------------------------------------------------------ csa <- get_acs(survey="acs5", year=2018, geography = "combined statistical area", show_call = TRUE,output="wide", variables = selvars) csa$Geography_Name <- "csa" #------------------------------------------------------------------------------------ msamisa <- get_acs(survey="acs5", year=2018, geography = "metropolitan statistical area/micropolitan statistical area", show_call = TRUE,output="wide", variables = selvars) msamisa$Geography_Name <- "msamisa" #------------------------------------------------------------------------------------ zcta <- get_acs(survey="acs5", year=2018, geography = "zcta", show_call = TRUE,output="wide", variables = selvars) zcta$Geography_Name <- "zcta" #------------------------------------------------------------------------------------ # State Senate and House aren't working ...returns an API error (unknown/unsupported geography) statesenate <- get_acs(survey="acs5", year=2018, geography = "state legislative district (upper chamber)", show_call = TRUE,output="wide", variables = selvars) statesenate$Geography_Name <- "statesenate" #------------------------------------------------------------------------------------ statehouse <- get_acs(survey="acs5", year=2018, geography = "state legislative district (lower chamber)", show_call = TRUE,output="wide", variables = selvars) statehouse$Geography_Name <- "statehouse" #------------------------------------------------------------------------------------ This concludes Example #4: Òexploring tidycensus geography.Ó