Read ACS 2019 5 Year data

hw7ddi <- read_ipums_ddi("C:/UTSA//OneDrive - University of Texas at San Antonio//3_W_7093_GIS/GISClasswork/usa_00001.xml")

hw7data <- read_ipums_micro(hw7ddi)

hw7data <- haven::zap_labels(hw7data) 

names(hw7data) <- tolower(names(hw7data))

Get PUMA Geographic data

options(tigris_class = "sf")

ca_pumas <- pumas(state = "CA",
               year = 2019,
               cb = T)

# plot(ca_pumas["GEOID10"],
#     main = "Public Use Microdata Areas in California")

# mapview::mapview(ca_pumas, zcol= "GEOID10")

Recode “migrate1d” variable into “samehouse” binary variable

hw7data$samehouse <- Recode(hw7data$migrate1d, recodes = "10=1; 20:40=0; else=NA")

Survey design and estimate residential stability rate

hw7design <- svydesign(ids = ~cluster,
                       strata = ~strata, 
                       weights = ~perwt, 
                       data = hw7data)

puma_est_samehouse <- svyby (formula = ~samehouse,
                             by = ~puma,
                             design = hw7design, 
                             FUN = svymean,
                             na.rm = TRUE)

Join to PUMA geography data

ca_pumas$puma <- as.numeric(ca_pumas$PUMACE10)

geo7 <- left_join(ca_pumas, puma_est_samehouse, by=c("puma"="puma"))

Map

tmap_mode("view")

geo7 %>%
  tm_shape()+
  tm_polygons("samehouse",
              style = "kmeans",
              n = 8, 
              legend.hist = TRUE)+
  tm_layout(title = "Residential Stability Rate in California, 2015-2019")
LS0tDQp0aXRsZTogIjcwOTNfSFc3Ig0KYXV0aG9yOiAiUnlhbiBMYWJpbyINCmRhdGU6ICI0LzcvMjAyMiINCm91dHB1dDoNCiAgIGh0bWxfZG9jdW1lbnQ6DQogICAgZGZfcHJpbnQ6IHBhZ2VkDQogICAgZmlnX2hlaWdodDogNw0KICAgIGZpZ193aWR0aDogNw0KICAgIHRvYzogeWVzDQogICAgdG9jX2Zsb2F0OiB5ZXMNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQotLS0NCg0KYGBge3IsIG1lc3NhZ2U9RkFMU0UsIGVjaG89RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQoNCmxpYnJhcnkobWFwdmlldykNCmxpYnJhcnkoc2YpDQpsaWJyYXJ5KGNlbnN1c3h5KQ0KbGlicmFyeShkcGx5cikNCmxpYnJhcnkoaXB1bXNyKQ0KbGlicmFyeShzdXJ2ZXkpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoY2FyKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KbGlicmFyeSh0aWdyaXMpDQpsaWJyYXJ5KGNsYXNzSW50KQ0KbGlicmFyeSh0bWFwKQ0KDQpgYGANCg0KIyMgUmVhZCBBQ1MgMjAxOSA1IFllYXIgZGF0YQ0KDQpgYGB7ciwgbWVzc2FnZT1GQUxTRSwgcmVzdWx0cz1GQUxTRX0NCg0KaHc3ZGRpIDwtIHJlYWRfaXB1bXNfZGRpKCJDOi9VVFNBLy9PbmVEcml2ZSAtIFVuaXZlcnNpdHkgb2YgVGV4YXMgYXQgU2FuIEFudG9uaW8vLzNfV183MDkzX0dJUy9HSVNDbGFzc3dvcmsvdXNhXzAwMDAxLnhtbCIpDQoNCmh3N2RhdGEgPC0gcmVhZF9pcHVtc19taWNybyhodzdkZGkpDQoNCmh3N2RhdGEgPC0gaGF2ZW46OnphcF9sYWJlbHMoaHc3ZGF0YSkgDQoNCm5hbWVzKGh3N2RhdGEpIDwtIHRvbG93ZXIobmFtZXMoaHc3ZGF0YSkpDQoNCmBgYA0KDQojIyBHZXQgUFVNQSBHZW9ncmFwaGljIGRhdGENCg0KYGBge3IsIG1lc3NhZ2U9RkFMU0UsIHJlc3VsdHM9RkFMU0V9DQoNCm9wdGlvbnModGlncmlzX2NsYXNzID0gInNmIikNCg0KY2FfcHVtYXMgPC0gcHVtYXMoc3RhdGUgPSAiQ0EiLA0KICAgICAgICAgICAgICAgeWVhciA9IDIwMTksDQogICAgICAgICAgICAgICBjYiA9IFQpDQoNCiMgcGxvdChjYV9wdW1hc1siR0VPSUQxMCJdLA0KIyAgICAgbWFpbiA9ICJQdWJsaWMgVXNlIE1pY3JvZGF0YSBBcmVhcyBpbiBDYWxpZm9ybmlhIikNCg0KIyBtYXB2aWV3OjptYXB2aWV3KGNhX3B1bWFzLCB6Y29sPSAiR0VPSUQxMCIpDQoNCmBgYA0KDQojIyBSZWNvZGUgIm1pZ3JhdGUxZCIgdmFyaWFibGUgaW50byAic2FtZWhvdXNlIiBiaW5hcnkgdmFyaWFibGUNCg0KYGBge3J9DQoNCmh3N2RhdGEkc2FtZWhvdXNlIDwtIFJlY29kZShodzdkYXRhJG1pZ3JhdGUxZCwgcmVjb2RlcyA9ICIxMD0xOyAyMDo0MD0wOyBlbHNlPU5BIikNCg0KYGBgDQoNCiMjIFN1cnZleSBkZXNpZ24gYW5kIGVzdGltYXRlIHJlc2lkZW50aWFsIHN0YWJpbGl0eSByYXRlDQoNCmBgYHtyfQ0KDQpodzdkZXNpZ24gPC0gc3Z5ZGVzaWduKGlkcyA9IH5jbHVzdGVyLA0KICAgICAgICAgICAgICAgICAgICAgICBzdHJhdGEgPSB+c3RyYXRhLCANCiAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0cyA9IH5wZXJ3dCwgDQogICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBodzdkYXRhKQ0KDQpwdW1hX2VzdF9zYW1laG91c2UgPC0gc3Z5YnkgKGZvcm11bGEgPSB+c2FtZWhvdXNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSA9IH5wdW1hLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNpZ24gPSBodzdkZXNpZ24sIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGVU4gPSBzdnltZWFuLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYS5ybSA9IFRSVUUpDQoNCmBgYA0KDQojIyBKb2luIHRvIFBVTUEgZ2VvZ3JhcGh5IGRhdGENCg0KYGBge3J9DQoNCmNhX3B1bWFzJHB1bWEgPC0gYXMubnVtZXJpYyhjYV9wdW1hcyRQVU1BQ0UxMCkNCg0KZ2VvNyA8LSBsZWZ0X2pvaW4oY2FfcHVtYXMsIHB1bWFfZXN0X3NhbWVob3VzZSwgYnk9YygicHVtYSI9InB1bWEiKSkNCg0KYGBgDQoNCiMjIE1hcA0KDQpgYGB7ciwgbWVzc2FnZT1GQUxTRX0NCg0KdG1hcF9tb2RlKCJ2aWV3IikNCg0KZ2VvNyAlPiUNCiAgdG1fc2hhcGUoKSsNCiAgdG1fcG9seWdvbnMoInNhbWVob3VzZSIsDQogICAgICAgICAgICAgIHN0eWxlID0gImttZWFucyIsDQogICAgICAgICAgICAgIG4gPSA4LCANCiAgICAgICAgICAgICAgbGVnZW5kLmhpc3QgPSBUUlVFKSsNCiAgdG1fbGF5b3V0KHRpdGxlID0gIlJlc2lkZW50aWFsIFN0YWJpbGl0eSBSYXRlIGluIENhbGlmb3JuaWEsIDIwMTUtMjAxOSIpDQoNCmBgYA0KDQoNCg==