*These are updates. The 2022 version from Corey Sparks, Ph.D. can be found here.
In this example we will use the IPUMS USA data to produce survey-based estimates for various geographic levels present in the IPUMS. This example uses the 2014-2018 ACS 5-year microdata.
Click here for more info on setting chunk options.
The good folks at IPUMS have created a library to read in their data from the .gz file that you download. Be sure you right click and save the DDI codebook when you create your extract
This will save the .XML file that contains all the information on the
data (what is contained in the data file) to your computer. When using
IPUMS, it will have a name like usa_xxxxx.xml where the x’s
represent the extract number (I’m on 2 as of today).
You will also need to download the data file, by right clicking the
Download .DAT link in the above image. This will save a
.GZ file to your computer, again with a name like:
usa_xxxxx.dat.gz. Make sure this file and the XML file from
above are in the same folder, preferably your class folder.
Be sure the ipumsr package is installed. Click here
for a PDF of ipumsr package documentation.
library(ipumsr) #new library for GIS class
## Warning: package 'ipumsr' was built under R version 4.2.3
ddi <- read_ipums_ddi("usa_00004.xml") #R Markdown uses the same directory where you save this file, so no need to repeat unless your .xml is located elsewhere
data <- read_ipums_micro(ddi)
## Use of data from IPUMS USA is subject to conditions including that users should
## cite the data appropriately. Use command `ipums_conditions()` for more details.
data<-haven::zap_labels(data) #necessary to avoid problems with "labelled" data class (removes variable labels); 'ipumsr' imports package 'haven' to use zap_labels
names(data)<-tolower(names(data)) #tolower changes any uppercase letters in variable names to lowercase
library(survey, quietly = T)
## Warning: package 'survey' was built under R version 4.2.3
library(tidyverse, quietly = T)
library(car, quietly = T)
## Warning: package 'car' was built under R version 4.2.3
## Warning: package 'carData' was built under R version 4.2.3
library(ggplot2, quietly = T)
library(tigris, quietly = T)
library(classInt, quietly = T)
library(tmap, quietly = T)
The IPUMS data we just downloaded doesn’t come with any geographic data (i.e., it has FIPS codes, but not the geographic data component).
The Public Use Microdata Area is the lowest level of geography in the PUMS data. They correspond to geographic ares of ~ 100,000 people. Here are some helpful sites about PUMAs:
Missouri Census Data Center - All About Public-Use Microdata Areas (PUMAs)
US Census - 2020 Public Use Microdata Areas Program Frequently Asked Questions (FAQs)
For more information about tigris package click here and here.
options(tigris_class = "sf")
pumas<-pumas(state = "TX", #match these to the data you downloaded from IPUMS
year = 2018, #match these to the data you downloaded from IPUMS
cb = T)
##
Downloading: 16 kB
Downloading: 16 kB
Downloading: 25 kB
Downloading: 25 kB
Downloading: 25 kB
Downloading: 25 kB
Downloading: 41 kB
Downloading: 41 kB
Downloading: 41 kB
Downloading: 41 kB
Downloading: 49 kB
Downloading: 49 kB
Downloading: 49 kB
Downloading: 49 kB
Downloading: 49 kB
Downloading: 49 kB
Downloading: 49 kB
Downloading: 49 kB
Downloading: 68 kB
Downloading: 68 kB
Downloading: 68 kB
Downloading: 68 kB
Downloading: 68 kB
Downloading: 68 kB
Downloading: 68 kB
Downloading: 68 kB
Downloading: 68 kB
Downloading: 68 kB
Downloading: 84 kB
Downloading: 84 kB
Downloading: 84 kB
Downloading: 84 kB
Downloading: 92 kB
Downloading: 92 kB
Downloading: 92 kB
Downloading: 92 kB
Downloading: 92 kB
Downloading: 92 kB
Downloading: 110 kB
Downloading: 110 kB
Downloading: 120 kB
Downloading: 120 kB
Downloading: 120 kB
Downloading: 120 kB
Downloading: 120 kB
Downloading: 120 kB
Downloading: 130 kB
Downloading: 130 kB
Downloading: 130 kB
Downloading: 130 kB
Downloading: 140 kB
Downloading: 140 kB
Downloading: 140 kB
Downloading: 140 kB
Downloading: 160 kB
Downloading: 160 kB
Downloading: 170 kB
Downloading: 170 kB
Downloading: 170 kB
Downloading: 170 kB
Downloading: 170 kB
Downloading: 170 kB
Downloading: 180 kB
Downloading: 180 kB
Downloading: 190 kB
Downloading: 190 kB
Downloading: 190 kB
Downloading: 190 kB
Downloading: 190 kB
Downloading: 190 kB
Downloading: 210 kB
Downloading: 210 kB
Downloading: 220 kB
Downloading: 220 kB
Downloading: 220 kB
Downloading: 220 kB
Downloading: 220 kB
Downloading: 220 kB
Downloading: 230 kB
Downloading: 230 kB
Downloading: 230 kB
Downloading: 230 kB
Downloading: 240 kB
Downloading: 240 kB
Downloading: 250 kB
Downloading: 250 kB
Downloading: 250 kB
Downloading: 250 kB
Downloading: 270 kB
Downloading: 270 kB
Downloading: 270 kB
Downloading: 270 kB
Downloading: 270 kB
Downloading: 270 kB
Downloading: 290 kB
Downloading: 290 kB
Downloading: 300 kB
Downloading: 300 kB
Downloading: 300 kB
Downloading: 300 kB
Downloading: 310 kB
Downloading: 310 kB
Downloading: 310 kB
Downloading: 310 kB
Downloading: 340 kB
Downloading: 340 kB
Downloading: 350 kB
Downloading: 350 kB
Downloading: 350 kB
Downloading: 350 kB
Downloading: 350 kB
Downloading: 350 kB
Downloading: 370 kB
Downloading: 370 kB
Downloading: 380 kB
Downloading: 380 kB
Downloading: 390 kB
Downloading: 390 kB
Downloading: 410 kB
Downloading: 410 kB
Downloading: 410 kB
Downloading: 410 kB
Downloading: 430 kB
Downloading: 430 kB
Downloading: 440 kB
Downloading: 440 kB
Downloading: 440 kB
Downloading: 440 kB
Downloading: 440 kB
Downloading: 440 kB
Downloading: 450 kB
Downloading: 450 kB
Downloading: 460 kB
Downloading: 460 kB
Downloading: 480 kB
Downloading: 480 kB
Downloading: 490 kB
Downloading: 490 kB
Downloading: 500 kB
Downloading: 500 kB
Downloading: 520 kB
Downloading: 520 kB
Downloading: 530 kB
Downloading: 530 kB
Downloading: 550 kB
Downloading: 550 kB
Downloading: 570 kB
Downloading: 570 kB
Downloading: 580 kB
Downloading: 580 kB
Downloading: 610 kB
Downloading: 610 kB
Downloading: 610 kB
Downloading: 610 kB
Downloading: 630 kB
Downloading: 630 kB
Downloading: 650 kB
Downloading: 650 kB
Downloading: 650 kB
Downloading: 650 kB
Downloading: 670 kB
Downloading: 670 kB
Downloading: 670 kB
Downloading: 670 kB
Downloading: 690 kB
Downloading: 690 kB
Downloading: 690 kB
Downloading: 690 kB
plot(pumas["GEOID10"],
main = "Public Use Microdata Areas in Texas")
mapview::mapview(pumas, zcol= "GEOID10")
Here Dr. Sparks recoded several demographic variables.
READ YOUR CODEBOOK (DDI).
Click here
for R documentation on the function Recode.
Click here
for R documentation on the function interaction.
Click here
for R documentation on the function relevel.
Click here
for R documentation on the function as.factor.
Click here
for R documentation on the function ifelese.
READ YOUR CODEBOOK (DDI).
See how your variables are coded.
See how missing values are coded.
data$pwt <- data$perwt
data$hwt <- data$hhwt
#race/ethnicity
data$hisp <- Recode(data$hispan, recodes = "9=NA; 1:4='Hispanic'; 0='NonHispanic'")
data$race_rec <- Recode(data$race, recodes = "1='White'; 2='Black'; 3='Other'; 4:6='Asian'; 7:9='Other'")
data$race_eth <- interaction(data$hisp, data$race_rec, sep = "_")
data$race_eth <- as.factor(ifelse(substr(as.character(data$race_eth),1,8) == "Hispanic", "Hispanic", as.character(data$race_eth)))
data$race_eth <- relevel(data$race_eth, ref = "NonHispanic_White")
#sex
data$male <- ifelse(data$sex == 1,1,0)
#education
data$educ_level<- Recode(data$educd, recodes = "2:61='0LT_HS';62:64='1_HSD/GED';65:80='2_somecoll';90:100='2_somecoll'; 81:83='3_AssocDegree';101='4_bachelordegree'; 110:116='4_BAplus_GradDegree'; else=NA")
#employment
data$employed <- Recode(data$wrklstwk, recodes = "1=0;2=1; else=NA")
#citizenship
data$cit<-Recode(data$citizen, recodes = "1='US born'; 2='naturalized'; 3:4='notcitizen';else=NA ")
#industry
data$ind_group<-Recode(data$ind, recodes = "170:490='ag_extract'; 770='construction'; 1070:3990='manufac'; 4070:5790='whole_retail'; 6070:6390='trans'; 6470:6780='information'; 6870:7190= 'fire'; 7270=7790='prof/sci/manage'; 7860:8470='edu/social'; 8560:8690='arts'; 8770:9290='other'; 9370:9590='public_adm'; 9670:9870='military'; else=NA ")
data$proftech <- Recode(data$ind, recodes = "7270:7490=1; 0=NA; else=0")
#age in 10 year intervals
data$agecat<-cut(data$age, breaks = c(0, 18, 20, 30, 40, 50, 65, 120), include.lowest = T)
data$income <- ifelse(data$incwage>=999998, NA, data$incwage) #if income is greater than 999998 then recode it as NA, otherwise keep as is
Here we identify the person weights and the survey design variables. This is a stratified clustered sample. Here, for the ACS the strata are geographic chunks and the clusters are households. It’s not a random sample so need person weights.
head(data$perwt) #shows how many people each person in the sample represents (shows for the first 6 people)
## [1] 29 16 64 260 12 58
sum(data$perwt) #gives you the population of the place (in this case, Texas)
## [1] 28701845
des<-svydesign(ids = ~cluster, #these variables (cluster, strata, and pwt) are automatically downloaded from IPUMS
strata = ~ strata,
weights = ~pwt,
data = data)
The svyby() function allows us calculate estimates for
different sub-domains within the data, this could be a
demographic characteristic, but we’ll use our geographic level. Of
course you could do both….
Click here
or here
for R documentation on svyby.
Click here
for R documentation on the function svytable.
Click here
for R documentation on formulas and ~.
Click here
for R documentation on I.
test<-svytable(~I(cit=="US born")+puma+sex, design=des )
puma_est_edu<-svyby(formula = ~educ_level, #what I want to take the % of, I want the % in each education level
by = ~puma, #...so taking the % of each educational level in each PUMA
design = subset(des, age>25), #Census doesn't get education level for those age 25 and under; subsetting the dataset to only include those over 25
FUN=svymean, #the function I want is survey mean, so takes the mean of each level of this categorical variable and give a %
na.rm = TRUE ) #remove any missing values coded in the variable before it does calculations
puma_est_employ<-svyby(formula = ~employed, #employment rate (because coded 1,0)
by = ~puma,
design=subset(des, age %in% 18:65), #get working age people between age 18 and 65
FUN=svymean,
na.rm = TRUE )
puma_est_industry<-svyby(formula = ~proftech, #proportion of each PUMA where the workforce is proftech
by = ~puma+sex+race_eth,
design = subset(des, employed==1),
FUN = svymean,
na.rm = TRUE )
library(reldist)
## Warning: package 'reldist' was built under R version 4.2.3
## reldist: Relative Distribution Methods
## Version 1.7-2 created on 2023-02-16.
## copyright (c) 2003, Mark S. Handcock, University of California-Los Angeles
## For citation information, type citation("reldist").
## Type help(package="reldist") to get started.
gini.puma<-data%>% #calculate this measure of income inequality (Gini)
filter(income >0, is.na(income)==F)%>% #filer to only have positive income (so not missing)
group_by( puma, race_eth)%>% #group by PUMA and race/ethnicity; for every PUMA calculate income inequality between race/ethnicity groups
summarize(ineq = gini(income, weights = pwt))%>% #gini function comes from the reldist package which allows person weights to calculate properly
ungroup()
## `summarise()` has grouped output by 'puma'. You can override using the
## `.groups` argument.
head(puma_est_edu) #estimates of education by PUMA; first row shows about 23% of residents over age 25 in that PUMA have less than HS education; can map any column
head(puma_est_employ)
head(puma_est_industry) #first row shows for males non-Hispanic White is about 2% prof/tech in that PUMA
Joining the survey estimates data to the geography data. Every row in each dataset is one PUMA.
See How to Do a Left Join in R (With Examples) and Merge Data Frames in R for some more insight into joins.
pumas$puma<-as.numeric(pumas$PUMACE10) #PUMACE10 is the PUMA variable in the spatial data; have to make it numeric because it's numeric in the survey estimates
geo1<-left_join(pumas, puma_est_employ, by=c("puma"= "puma")) #join the geography (pumas) to the statistical estimate (puma_est_employ); the variable captured in both is called "puma"
head(geo1)
geo2<-left_join(pumas, puma_est_industry, by=c("puma"= "puma"))
head(geo2)
geo3<-left_join(pumas, gini.puma, by=c("puma"= "puma"))
head(geo2)
tmap_mode("view") #can use tmap because all spatial data
## tmap mode set to interactive viewing
geo1%>% #feed this employment dataset (made in last chunk) into tmap
tm_shape()+
tm_polygons("employed", #map the employed column
style="kmeans", #type of mapping style breaks, could use Fisher or jenks or quantile etc.
n=8, #8 classes
legend.hist = TRUE) + #plot the histogram (if it weren't the interactive map)
tm_layout(legend.outside = TRUE, #plot the histogram/legend outside (if it weren't the interactive map)
title = "Employment rate in Texas PUMAs \n 2014-2018")
tmap_mode("plot") #"view" isn't working for some reason
## tmap mode set to plotting
geo2%>%
tm_shape()+
tm_polygons("proftech",
style="kmeans",
n=8,
legend.hist = TRUE) +
tm_layout(legend.outside = TRUE,
title = "Professional/Scientific/Technical Employment in Texas PUMAs \n 2014-2018")
tmap_mode("plot") #"view" isn't working for some reason
## tmap mode set to plotting
geo3%>%
tm_shape()+
tm_polygons("ineq",
style="kmeans",
n=8,
legend.hist = TRUE) +
tm_layout(legend.outside = TRUE,
title = "Gini in Texas PUMAs \n 2014-2018")
Here we use core based statistical areas instead of PUMAs. The geography corresponding to Metro Areas are Core Based Statistical Areas.
There are a lot of places in the state that aren’t Metropolitan areas, so they’re not represented at all in the map or the estimates.
mets<-core_based_statistical_areas(cb = T, year = 2018) #function from tigris to get these geographies
##
Downloading: 25 kB
Downloading: 25 kB
Downloading: 49 kB
Downloading: 49 kB
Downloading: 57 kB
Downloading: 57 kB
Downloading: 57 kB
Downloading: 57 kB
Downloading: 82 kB
Downloading: 82 kB
Downloading: 82 kB
Downloading: 82 kB
Downloading: 97 kB
Downloading: 97 kB
Downloading: 97 kB
Downloading: 97 kB
Downloading: 120 kB
Downloading: 120 kB
Downloading: 140 kB
Downloading: 140 kB
Downloading: 150 kB
Downloading: 150 kB
Downloading: 160 kB
Downloading: 160 kB
Downloading: 160 kB
Downloading: 160 kB
Downloading: 200 kB
Downloading: 200 kB
Downloading: 220 kB
Downloading: 220 kB
Downloading: 240 kB
Downloading: 240 kB
Downloading: 240 kB
Downloading: 240 kB
Downloading: 270 kB
Downloading: 270 kB
Downloading: 280 kB
Downloading: 280 kB
Downloading: 280 kB
Downloading: 280 kB
Downloading: 300 kB
Downloading: 300 kB
Downloading: 310 kB
Downloading: 310 kB
Downloading: 310 kB
Downloading: 310 kB
Downloading: 330 kB
Downloading: 330 kB
Downloading: 330 kB
Downloading: 330 kB
Downloading: 350 kB
Downloading: 350 kB
Downloading: 370 kB
Downloading: 370 kB
Downloading: 370 kB
Downloading: 370 kB
Downloading: 400 kB
Downloading: 400 kB
Downloading: 410 kB
Downloading: 410 kB
Downloading: 410 kB
Downloading: 410 kB
Downloading: 480 kB
Downloading: 480 kB
Downloading: 500 kB
Downloading: 500 kB
Downloading: 520 kB
Downloading: 520 kB
Downloading: 530 kB
Downloading: 530 kB
Downloading: 540 kB
Downloading: 540 kB
Downloading: 540 kB
Downloading: 540 kB
Downloading: 560 kB
Downloading: 560 kB
Downloading: 590 kB
Downloading: 590 kB
Downloading: 600 kB
Downloading: 600 kB
Downloading: 620 kB
Downloading: 620 kB
Downloading: 640 kB
Downloading: 640 kB
Downloading: 650 kB
Downloading: 650 kB
Downloading: 650 kB
Downloading: 650 kB
Downloading: 670 kB
Downloading: 670 kB
Downloading: 670 kB
Downloading: 670 kB
Downloading: 690 kB
Downloading: 690 kB
Downloading: 690 kB
Downloading: 690 kB
Downloading: 720 kB
Downloading: 720 kB
Downloading: 720 kB
Downloading: 720 kB
Downloading: 720 kB
Downloading: 720 kB
Downloading: 740 kB
Downloading: 740 kB
Downloading: 770 kB
Downloading: 770 kB
Downloading: 780 kB
Downloading: 780 kB
Downloading: 780 kB
Downloading: 780 kB
Downloading: 790 kB
Downloading: 790 kB
Downloading: 790 kB
Downloading: 790 kB
Downloading: 790 kB
Downloading: 790 kB
Downloading: 810 kB
Downloading: 810 kB
Downloading: 830 kB
Downloading: 830 kB
Downloading: 840 kB
Downloading: 840 kB
Downloading: 840 kB
Downloading: 840 kB
Downloading: 870 kB
Downloading: 870 kB
Downloading: 870 kB
Downloading: 870 kB
Downloading: 890 kB
Downloading: 890 kB
Downloading: 910 kB
Downloading: 910 kB
Downloading: 930 kB
Downloading: 930 kB
Downloading: 930 kB
Downloading: 930 kB
Downloading: 960 kB
Downloading: 960 kB
Downloading: 970 kB
Downloading: 970 kB
Downloading: 970 kB
Downloading: 970 kB
Downloading: 990 kB
Downloading: 990 kB
Downloading: 990 kB
Downloading: 990 kB
Downloading: 1 MB
Downloading: 1 MB
Downloading: 1 MB
Downloading: 1 MB
Downloading: 1 MB
Downloading: 1 MB
Downloading: 1 MB
Downloading: 1 MB
Downloading: 1.1 MB
Downloading: 1.1 MB
Downloading: 1.1 MB
Downloading: 1.1 MB
Downloading: 1.1 MB
Downloading: 1.1 MB
Downloading: 1.1 MB
Downloading: 1.1 MB
Downloading: 1.1 MB
Downloading: 1.1 MB
Downloading: 1.1 MB
Downloading: 1.1 MB
Downloading: 1.2 MB
Downloading: 1.2 MB
Downloading: 1.2 MB
Downloading: 1.2 MB
Downloading: 1.2 MB
Downloading: 1.2 MB
Downloading: 1.2 MB
Downloading: 1.2 MB
Downloading: 1.2 MB
Downloading: 1.2 MB
Downloading: 1.2 MB
Downloading: 1.2 MB
Downloading: 1.2 MB
Downloading: 1.2 MB
Downloading: 1.2 MB
Downloading: 1.2 MB
Downloading: 1.2 MB
Downloading: 1.2 MB
Downloading: 1.3 MB
Downloading: 1.3 MB
Downloading: 1.3 MB
Downloading: 1.3 MB
Downloading: 1.3 MB
Downloading: 1.3 MB
Downloading: 1.3 MB
Downloading: 1.3 MB
Downloading: 1.3 MB
Downloading: 1.3 MB
Downloading: 1.4 MB
Downloading: 1.4 MB
Downloading: 1.4 MB
Downloading: 1.4 MB
Downloading: 1.4 MB
Downloading: 1.4 MB
Downloading: 1.4 MB
Downloading: 1.4 MB
Downloading: 1.5 MB
Downloading: 1.5 MB
Downloading: 1.5 MB
Downloading: 1.5 MB
Downloading: 1.5 MB
Downloading: 1.5 MB
Downloading: 1.5 MB
Downloading: 1.5 MB
Downloading: 1.5 MB
Downloading: 1.5 MB
Downloading: 1.5 MB
Downloading: 1.5 MB
Downloading: 1.6 MB
Downloading: 1.6 MB
Downloading: 1.6 MB
Downloading: 1.6 MB
Downloading: 1.6 MB
Downloading: 1.6 MB
Downloading: 1.6 MB
Downloading: 1.6 MB
Downloading: 1.6 MB
Downloading: 1.6 MB
Downloading: 1.6 MB
Downloading: 1.6 MB
Downloading: 1.6 MB
Downloading: 1.6 MB
Downloading: 1.6 MB
Downloading: 1.6 MB
Downloading: 1.6 MB
Downloading: 1.6 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.7 MB
Downloading: 1.8 MB
Downloading: 1.8 MB
Downloading: 1.8 MB
Downloading: 1.8 MB
Downloading: 1.8 MB
Downloading: 1.8 MB
Downloading: 1.8 MB
Downloading: 1.8 MB
Downloading: 1.8 MB
Downloading: 1.8 MB
Downloading: 1.8 MB
Downloading: 1.8 MB
Downloading: 1.8 MB
Downloading: 1.8 MB
Downloading: 1.8 MB
Downloading: 1.8 MB
Downloading: 1.9 MB
Downloading: 1.9 MB
Downloading: 1.9 MB
Downloading: 1.9 MB
Downloading: 1.9 MB
Downloading: 1.9 MB
Downloading: 1.9 MB
Downloading: 1.9 MB
Downloading: 1.9 MB
Downloading: 1.9 MB
Downloading: 2 MB
Downloading: 2 MB
Downloading: 2 MB
Downloading: 2 MB
Downloading: 2 MB
Downloading: 2 MB
Downloading: 2 MB
Downloading: 2 MB
Downloading: 2 MB
Downloading: 2 MB
Downloading: 2 MB
Downloading: 2 MB
Downloading: 2 MB
Downloading: 2 MB
Downloading: 2 MB
Downloading: 2 MB
Downloading: 2.1 MB
Downloading: 2.1 MB
Downloading: 2.1 MB
Downloading: 2.1 MB
Downloading: 2.1 MB
Downloading: 2.1 MB
Downloading: 2.1 MB
Downloading: 2.1 MB
Downloading: 2.1 MB
Downloading: 2.1 MB
Downloading: 2.1 MB
Downloading: 2.1 MB
Downloading: 2.1 MB
Downloading: 2.1 MB
Downloading: 2.1 MB
Downloading: 2.1 MB
Downloading: 2.2 MB
Downloading: 2.2 MB
Downloading: 2.2 MB
Downloading: 2.2 MB
Downloading: 2.2 MB
Downloading: 2.2 MB
Downloading: 2.2 MB
Downloading: 2.2 MB
Downloading: 2.2 MB
Downloading: 2.2 MB
Downloading: 2.2 MB
Downloading: 2.2 MB
Downloading: 2.2 MB
Downloading: 2.2 MB
Downloading: 2.3 MB
Downloading: 2.3 MB
Downloading: 2.3 MB
Downloading: 2.3 MB
Downloading: 2.3 MB
Downloading: 2.3 MB
Downloading: 2.3 MB
Downloading: 2.3 MB
Downloading: 2.3 MB
Downloading: 2.3 MB
Downloading: 2.3 MB
Downloading: 2.3 MB
Downloading: 2.3 MB
Downloading: 2.3 MB
Downloading: 2.4 MB
Downloading: 2.4 MB
Downloading: 2.4 MB
Downloading: 2.4 MB
Downloading: 2.4 MB
Downloading: 2.4 MB
Downloading: 2.4 MB
Downloading: 2.4 MB
Downloading: 2.4 MB
Downloading: 2.4 MB
Downloading: 2.4 MB
Downloading: 2.4 MB
Downloading: 2.4 MB
Downloading: 2.4 MB
Downloading: 2.5 MB
Downloading: 2.5 MB
Downloading: 2.5 MB
Downloading: 2.5 MB
Downloading: 2.5 MB
Downloading: 2.5 MB
Downloading: 2.5 MB
Downloading: 2.5 MB
Downloading: 2.5 MB
Downloading: 2.5 MB
Downloading: 2.5 MB
Downloading: 2.5 MB
Downloading: 2.6 MB
Downloading: 2.6 MB
Downloading: 2.6 MB
Downloading: 2.6 MB
Downloading: 2.6 MB
Downloading: 2.6 MB
Downloading: 2.6 MB
Downloading: 2.6 MB
Downloading: 2.6 MB
Downloading: 2.6 MB
Downloading: 2.6 MB
Downloading: 2.6 MB
Downloading: 2.6 MB
Downloading: 2.6 MB
Downloading: 2.7 MB
Downloading: 2.7 MB
Downloading: 2.7 MB
Downloading: 2.7 MB
Downloading: 2.7 MB
Downloading: 2.7 MB
Downloading: 2.7 MB
Downloading: 2.7 MB
Downloading: 2.7 MB
Downloading: 2.7 MB
Downloading: 2.7 MB
Downloading: 2.7 MB
Downloading: 2.7 MB
Downloading: 2.7 MB
Downloading: 2.8 MB
Downloading: 2.8 MB
Downloading: 2.8 MB
Downloading: 2.8 MB
Downloading: 2.8 MB
Downloading: 2.8 MB
Downloading: 2.8 MB
Downloading: 2.8 MB
Downloading: 2.8 MB
Downloading: 2.8 MB
Downloading: 2.8 MB
Downloading: 2.8 MB
Downloading: 2.8 MB
Downloading: 2.8 MB
Downloading: 2.8 MB
Downloading: 2.8 MB
Downloading: 2.9 MB
Downloading: 2.9 MB
Downloading: 2.9 MB
Downloading: 2.9 MB
Downloading: 2.9 MB
Downloading: 2.9 MB
Downloading: 2.9 MB
Downloading: 2.9 MB
Downloading: 2.9 MB
Downloading: 2.9 MB
Downloading: 3 MB
Downloading: 3 MB
Downloading: 3 MB
Downloading: 3 MB
Downloading: 3 MB
Downloading: 3 MB
Downloading: 3 MB
Downloading: 3 MB
Downloading: 3 MB
Downloading: 3 MB
Downloading: 3 MB
Downloading: 3 MB
Downloading: 3 MB
Downloading: 3 MB
Downloading: 3 MB
Downloading: 3 MB
Downloading: 3 MB
Downloading: 3 MB
Downloading: 3.1 MB
Downloading: 3.1 MB
Downloading: 3.1 MB
Downloading: 3.1 MB
Downloading: 3.1 MB
Downloading: 3.1 MB
Downloading: 3.1 MB
Downloading: 3.1 MB
Downloading: 3.1 MB
Downloading: 3.1 MB
Downloading: 3.1 MB
Downloading: 3.1 MB
Downloading: 3.1 MB
Downloading: 3.1 MB
Downloading: 3.1 MB
Downloading: 3.1 MB
Downloading: 3.2 MB
Downloading: 3.2 MB
Downloading: 3.2 MB
Downloading: 3.2 MB
Downloading: 3.2 MB
Downloading: 3.2 MB
Downloading: 3.2 MB
Downloading: 3.2 MB
Downloading: 3.2 MB
Downloading: 3.2 MB
Downloading: 3.3 MB
Downloading: 3.3 MB
Downloading: 3.3 MB
Downloading: 3.3 MB
Downloading: 3.3 MB
Downloading: 3.3 MB
Downloading: 3.3 MB
Downloading: 3.3 MB
Downloading: 3.3 MB
Downloading: 3.3 MB
Downloading: 3.3 MB
Downloading: 3.3 MB
Downloading: 3.3 MB
Downloading: 3.3 MB
Downloading: 3.4 MB
Downloading: 3.4 MB
Downloading: 3.4 MB
Downloading: 3.4 MB
Downloading: 3.4 MB
Downloading: 3.4 MB
Downloading: 3.4 MB
Downloading: 3.4 MB
Downloading: 3.4 MB
Downloading: 3.4 MB
Downloading: 3.4 MB
Downloading: 3.4 MB
Downloading: 3.5 MB
Downloading: 3.5 MB
Downloading: 3.5 MB
Downloading: 3.5 MB
Downloading: 3.5 MB
Downloading: 3.5 MB
Downloading: 3.5 MB
Downloading: 3.5 MB
Downloading: 3.5 MB
Downloading: 3.5 MB
Downloading: 3.5 MB
Downloading: 3.5 MB
Downloading: 3.5 MB
Downloading: 3.5 MB
Downloading: 3.5 MB
Downloading: 3.5 MB
Downloading: 3.5 MB
Downloading: 3.5 MB
Downloading: 3.6 MB
Downloading: 3.6 MB
Downloading: 3.6 MB
Downloading: 3.6 MB
Downloading: 3.6 MB
Downloading: 3.6 MB
Downloading: 3.6 MB
Downloading: 3.6 MB
Downloading: 3.6 MB
Downloading: 3.6 MB
Downloading: 3.6 MB
Downloading: 3.6 MB
Downloading: 3.7 MB
Downloading: 3.7 MB
Downloading: 3.7 MB
Downloading: 3.7 MB
Downloading: 3.7 MB
Downloading: 3.7 MB
Downloading: 3.7 MB
Downloading: 3.7 MB
Downloading: 3.7 MB
Downloading: 3.7 MB
Downloading: 3.7 MB
Downloading: 3.7 MB
Downloading: 3.7 MB
Downloading: 3.7 MB
Downloading: 3.8 MB
Downloading: 3.8 MB
Downloading: 3.8 MB
Downloading: 3.8 MB
Downloading: 3.8 MB
Downloading: 3.8 MB
Downloading: 3.8 MB
Downloading: 3.8 MB
Downloading: 3.8 MB
Downloading: 3.8 MB
Downloading: 3.8 MB
Downloading: 3.8 MB
Downloading: 3.8 MB
Downloading: 3.8 MB
Downloading: 3.8 MB
Downloading: 3.8 MB
Downloading: 3.8 MB
Downloading: 3.8 MB
Downloading: 3.9 MB
Downloading: 3.9 MB
Downloading: 3.9 MB
Downloading: 3.9 MB
Downloading: 3.9 MB
Downloading: 3.9 MB
Downloading: 3.9 MB
Downloading: 3.9 MB
Downloading: 3.9 MB
Downloading: 3.9 MB
Downloading: 3.9 MB
Downloading: 3.9 MB
Downloading: 3.9 MB
Downloading: 3.9 MB
Downloading: 3.9 MB
Downloading: 3.9 MB
Downloading: 3.9 MB
Downloading: 3.9 MB
Downloading: 4 MB
Downloading: 4 MB
Downloading: 4 MB
Downloading: 4 MB
Downloading: 4 MB
Downloading: 4 MB
Downloading: 4 MB
Downloading: 4 MB
Downloading: 4 MB
Downloading: 4 MB
Downloading: 4 MB
Downloading: 4 MB
Downloading: 4.1 MB
Downloading: 4.1 MB
Downloading: 4.1 MB
Downloading: 4.1 MB
Downloading: 4.1 MB
Downloading: 4.1 MB
Downloading: 4.1 MB
Downloading: 4.1 MB
Downloading: 4.1 MB
Downloading: 4.1 MB
Downloading: 4.1 MB
Downloading: 4.1 MB
Downloading: 4.1 MB
Downloading: 4.1 MB
Downloading: 4.1 MB
Downloading: 4.1 MB
Downloading: 4.2 MB
Downloading: 4.2 MB
Downloading: 4.2 MB
Downloading: 4.2 MB
Downloading: 4.2 MB
Downloading: 4.2 MB
Downloading: 4.2 MB
Downloading: 4.2 MB
Downloading: 4.2 MB
Downloading: 4.2 MB
Downloading: 4.2 MB
Downloading: 4.2 MB
Downloading: 4.3 MB
Downloading: 4.3 MB
Downloading: 4.3 MB
Downloading: 4.3 MB
Downloading: 4.3 MB
Downloading: 4.3 MB
Downloading: 4.3 MB
Downloading: 4.3 MB
Downloading: 4.3 MB
Downloading: 4.3 MB
Downloading: 4.3 MB
Downloading: 4.3 MB
Downloading: 4.3 MB
Downloading: 4.3 MB
Downloading: 4.3 MB
Downloading: 4.3 MB
Downloading: 4.3 MB
Downloading: 4.3 MB
Downloading: 4.4 MB
Downloading: 4.4 MB
Downloading: 4.4 MB
Downloading: 4.4 MB
Downloading: 4.4 MB
Downloading: 4.4 MB
Downloading: 4.4 MB
Downloading: 4.4 MB
Downloading: 4.4 MB
Downloading: 4.4 MB
Downloading: 4.4 MB
Downloading: 4.4 MB
Downloading: 4.4 MB
Downloading: 4.4 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.5 MB
Downloading: 4.6 MB
Downloading: 4.6 MB
Downloading: 4.6 MB
Downloading: 4.6 MB
Downloading: 4.6 MB
Downloading: 4.6 MB
mets<-mets[grep(mets$NAME,pattern = "TX"),]
plot(mets["NAME"])
sts<-states(cb=T, year=2018)
##
|
| | 0%
|
|= | 1%
|
|= | 2%
|
|== | 2%
|
|== | 3%
|
|=== | 4%
|
|=== | 5%
|
|==== | 5%
|
|==== | 6%
|
|===== | 7%
|
|====== | 8%
|
|====== | 9%
|
|======= | 10%
|
|======== | 11%
|
|======== | 12%
|
|========= | 12%
|
|========== | 14%
|
|========== | 15%
|
|=========== | 16%
|
|============ | 17%
|
|============ | 18%
|
|============= | 19%
|
|============== | 20%
|
|=============== | 21%
|
|=============== | 22%
|
|================ | 23%
|
|================= | 24%
|
|================= | 25%
|
|================== | 25%
|
|================== | 26%
|
|=================== | 27%
|
|=================== | 28%
|
|==================== | 28%
|
|==================== | 29%
|
|===================== | 30%
|
|===================== | 31%
|
|====================== | 31%
|
|====================== | 32%
|
|======================= | 33%
|
|======================= | 34%
|
|======================== | 34%
|
|======================== | 35%
|
|========================= | 36%
|
|========================== | 37%
|
|=========================== | 39%
|
|============================ | 39%
|
|============================ | 41%
|
|============================= | 41%
|
|============================== | 43%
|
|=============================== | 45%
|
|================================ | 45%
|
|================================= | 47%
|
|================================== | 49%
|
|=================================== | 49%
|
|=================================== | 51%
|
|==================================== | 51%
|
|===================================== | 53%
|
|====================================== | 55%
|
|======================================= | 55%
|
|======================================= | 56%
|
|======================================== | 57%
|
|========================================= | 58%
|
|========================================= | 59%
|
|========================================== | 60%
|
|=========================================== | 61%
|
|============================================ | 62%
|
|============================================ | 63%
|
|============================================= | 64%
|
|============================================== | 65%
|
|============================================== | 66%
|
|=============================================== | 67%
|
|================================================ | 68%
|
|================================================ | 69%
|
|================================================= | 70%
|
|================================================== | 71%
|
|=================================================== | 72%
|
|=================================================== | 73%
|
|==================================================== | 74%
|
|===================================================== | 75%
|
|===================================================== | 76%
|
|====================================================== | 77%
|
|====================================================== | 78%
|
|======================================================= | 78%
|
|======================================================= | 79%
|
|======================================================== | 80%
|
|========================================================= | 81%
|
|========================================================== | 82%
|
|========================================================== | 83%
|
|=========================================================== | 84%
|
|=========================================================== | 85%
|
|============================================================ | 86%
|
|============================================================= | 87%
|
|============================================================== | 88%
|
|============================================================== | 89%
|
|=============================================================== | 90%
|
|================================================================ | 91%
|
|================================================================ | 92%
|
|================================================================= | 93%
|
|================================================================== | 94%
|
|================================================================== | 95%
|
|=================================================================== | 96%
|
|==================================================================== | 97%
|
|==================================================================== | 98%
|
|===================================================================== | 98%
|
|===================================================================== | 99%
|
|======================================================================| 100%
sts<-sts%>%
filter(GEOID==48)
Redo the survey estimation calculations, but this time use a
different grouping variable met2013.
met_est_edu<-svyby(formula = ~educ_level,
by = ~met2013, #See, not PUMAs; Metro Areas to correspond to the Metro Areas geometries we just downloaded; rest of code is the same
design=subset(des,age>25),
FUN=svymean,
na.rm=T )
met_est_employ<-svyby(formula = ~employed,
by = ~met2013,
design=subset(des, age%in%18:65),
FUN=svymean,
na.rm=T )
met_est_industry<-svyby(formula = ~proftech,
by = ~met2013,
design=subset(des, employed==1),
FUN=svymean,
na.rm=T )
head(met_est_edu)
head(met_est_employ)
head(met_est_industry)
mets$met2013<-as.numeric(mets$GEOID)
geo3<-left_join(mets, met_est_employ,by=c("met2013"= "met2013"))
Note, grey Metros are ones that are not identified in the ACS because of the population limit (but they are in the spatial data).
tmap_mode("plot") #"view" isn't working for some reason
## tmap mode set to plotting
geo3%>%
tm_shape()+
tm_polygons("employed",
style="kmeans",
n=8,
legend.hist = TRUE) +
tm_layout(legend.outside = TRUE,
title = "Employment rate in Texas Metro Areas \n 2014-2018")
cos<-counties(cb= T,state = "TX", year = 2018)
plot(cos["NAME"])
sts<-states(cb=T, year=2018)
sts<-sts%>%
filter(GEOID==48)
cos_est_edu<-svyby(formula = ~educ_level,
by = ~countyfip,
design=subset(des,age>25),
FUN=svymean, na.rm=T )
cos_est_employ<-svyby(formula = ~employed,
by = ~countyfip,
design=subset(des, age%in%18:65),
FUN=svymean, na.rm=T )
cos_est_industry<-svyby(formula = ~proftech,
by = ~countyfip,
design=subset(des, employed==1),
FUN=svymean, na.rm=T )
head(cos_est_edu)
head(cos_est_employ)
head(cos_est_industry)
Again, the ACS doesn’t identify counties in the microdata except for certain ones that fit this criteria mentioned in this link: here.
cos$cofip<-as.numeric(cos$COUNTYFP)
geo4<-left_join(cos, cos_est_employ,by=c("cofip"= "countyfip"))
tmap_mode("plot") #"view" isn't working for some reason
## tmap mode set to plotting
geo4%>%
tm_shape()+
tm_polygons("employed",
style="kmeans",
n=8,
legend.hist = TRUE) +
tm_layout(legend.outside = TRUE,
title = "Employment rate in Texas Counties \n 2014-2018")