The Data
The shape file for this analysis was taken from https://www.census.gov/geo/maps-data/data/tiger-line.html. The tigris package was used for the shape file. The data displayed in the shape file is from Social Explorer within the Health data for 2016. This data is the health insurance portion of the health data. The variables of use in this data is only the variable for the percentage of people without health insurance. The variable is called “Percent18to64.”
library(tidyverse)
library(tmap)
library(tigris)
library(spdep)
library(sf)
library(tmaptools)
Reading in the Shape File and the Data
ct_map <- st_read('/Users/paulkim/Downloads/tl_2016_us_county/tl_2016_us_county.shp', stringsAsFactors = FALSE)
Reading layer `tl_2016_us_county' from data source `/Users/paulkim/Downloads/tl_2016_us_county/tl_2016_us_county.shp' using driver `ESRI Shapefile'
Simple feature collection with 3233 features and 17 fields
geometry type: MULTIPOLYGON
dimension: XY
bbox: xmin: -179.2311 ymin: -14.60181 xmax: 179.8597 ymax: 71.44106
epsg (SRID): 4269
proj4string: +proj=longlat +datum=NAD83 +no_defs
names(ct_map)
[1] "STATEFP" "COUNTYFP" "COUNTYNS" "GEOID" "NAME" "NAMELSAD" "LSAD" "CLASSFP" "MTFCC" "CSAFP"
[11] "CBSAFP" "METDIVFP" "FUNCSTAT" "ALAND" "AWATER" "INTPTLAT" "INTPTLON" "geometry"
am_data <- read_csv("/Users/paulkim/Downloads/mapcountydata.csv")
Parsed with column specification:
cols(
Geo_FIPS = col_integer(),
County = col_character(),
Geo_QNAME = col_character(),
Geo_STATE = col_integer(),
Geo_COUNTY = col_integer(),
PercentLessThan19 = col_double(),
Percent18to64 = col_double(),
PercentUnder65 = col_double(),
CountLessThan19 = col_integer(),
Count18to64 = col_integer(),
CountUnder65 = col_integer()
)
names(am_data)
[1] "Geo_FIPS" "County" "Geo_QNAME" "Geo_STATE" "Geo_COUNTY"
[6] "PercentLessThan19" "Percent18to64" "PercentUnder65" "CountLessThan19" "Count18to64"
[11] "CountUnder65"
Merging the Shape File and the Data
am_data <- am_data %>%
mutate(fips = Geo_FIPS)
ct_map <- ct_map %>%
mutate(fips = parse_integer(GEOID))
comb_data <- ct_map %>%
left_join(am_data, by = "fips")
Focusing on the Contiguous United States
comb_data_sub <- comb_data %>%
filter(STATEFP != "02") %>%
filter(STATEFP != "15") %>%
filter(STATEFP != "60") %>%
filter(STATEFP != "66") %>%
filter(STATEFP != "69") %>%
filter(STATEFP != "72") %>%
filter(STATEFP != "78")
Viewing the Data by County
tm_shape(comb_data_sub, projection = 2163) + tm_polygons("Percent18to64")

This county level map is diffcult to look at and understand. The county boundaries are too close together to get a clear understanding. The West Coast can be better understood because the counties are bigger so the boundaries are not close to each other. But the East Coast has smaller counties with a lot more boundaries near each other. Another map needs to be created for a better understanding, maybe a map with state boundaries? Let’s take a look…
Adding State Borders
us_states <- comb_data_sub %>%
aggregate_map(by = "STATEFP")
tm_shape(comb_data_sub, projection = 2163) + tm_polygons("Percent18to64") +
tm_shape(us_states) + tm_borders(lwd = .36, col = "black", alpha = 1)

The state boundaries help see how the counties are divided amongst each other. But not much has been made clearer from the county level map besides the definition of the state boundaries. Let’s make the state lines the focus and the county lines lighter for a better analysis.
Highlighting the State Lines
tm_shape(comb_data_sub, projection = 2163) + tm_polygons("Percent18to64", border.col = "grey", border.alpha = .4) +
tm_shape(us_states) + tm_borders(lwd = .36, col = "black", alpha = 1)

When we focus on the state lines and make the county lines grey, it helps with understanding and better visualizing the data. Now we can start interpreting the data presented on the map. The map is displaying that the Northeast region of the United States has a low percentage of people without health insurance. The Southeast region and the West Coast of the United States have a darker shade so the percentage of people without health insurance is higher than those in the Northeast. The darkest part of this map is shown in a few counties in Texas. Also a few counties in Florida and the Northwest region have higher percentages of people without health insurance.
Non-Spatial Approach
ggplot(data=comb_data_sub, aes(Percent18to64)) + geom_histogram() + labs(title = "Proportion of People Without Health Insurance") + ylab("Count") + xlab("Percentage of People Between 18 and 64 Without Health Insurance")

This non-spatial approach for the county level data gives a big picture of how many of the counties with a certain percentage of people with no health insurance. The strengths of the non-spatial approach is that it allows for a better understanding of the numbers within the data and for a better look at the statistics of the data. The non-spatial approach is one dimensional in the sense that only the general statistics of the data are provided with no other information on the data. The spatial approach on the other hand provides a more muti-dimensional view of the data. Spatial data can provide a map that displays the areas of interest. Spatial data is muti-dimensonal in the sense that it provides a map and within the map there is data displayed. So the spatial data shows how the data is spread out throughout an area.
The command used in slide 32, t_county <- counties(cb = TRUE), was used to receive county-level map files. The command cb = TRUE is used to make the resolution for the county-level map. The cb = TRUE command makes the resolution 1:500k but if cb was to equal FALSE then the default resolution would be the most detailed file. So the cb command makes the resolution of the maps better fitting for display instead of having the resolution become too detailed.
LS0tCnRpdGxlOiAiU3BhdGlhbCBEYXRhIGZvciBIZWFsdGggSW5zdXJhbmNlIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCiMjI1Jlc2VhcmNoIFRvcGljClRoZSByZXNlYXJjaCB0b3BpYyBmb3IgdGhpcyBhbmFseXNpcyBpcyBsb29raW5nIGF0IHRoZSBwZXJjZW50YWdlIG9mIHBlb3BsZSB3aXRoaW4gdGhlIFVuaXRlZCBTdGF0ZXMgYmV0d2VlbiB0aGUgYWdlcyBvZiAxOCB5ZWFycyBvbGQgYW5kIDY0IHllYXJzIG9sZCB3aXRob3V0IGFueSBoZWFsdGggaW5zdXJhbmNlLiBIZWFsdGggaW5zdXJhbmNlIGhhcyBiZWVuIGEgdG9waWMgb2YgZGViYXRlIGZvciBtYW55IHllYXJzLiBNYW55IHByZXNpZGVudGlhbCBjYW5kaWRhdGVzIGhhdmUgZGlzY3Vzc2VkIHRoZSB0b3BpYyBvZiBoZWFsdGggaW5zdXJhbmNlIGFuZCBoZWFsdGggaW5zdXJhbmNlIGNvdmVyYWdlLiBUaGlzIGFuYWx5c2lzIHdpbGwgZGlzcGxheSBhIG1hcCBvZiB0aGUgVW5pdGVkIFN0YXRlcyB3aXRoIHRoZSBwZXJjZW50YWdlIG9mIHBlb3BsZSB3aXRob3V0IGhlYWx0aCBpbnN1cmFuY2UgYnkgY291bnR5IGFuZCBieSBzdGF0ZS4gCgojIyNUaGUgRGF0YQpUaGUgc2hhcGUgZmlsZSBmb3IgdGhpcyBhbmFseXNpcyB3YXMgdGFrZW4gZnJvbSBodHRwczovL3d3dy5jZW5zdXMuZ292L2dlby9tYXBzLWRhdGEvZGF0YS90aWdlci1saW5lLmh0bWwuIFRoZSB0aWdyaXMgcGFja2FnZSB3YXMgdXNlZCBmb3IgdGhlIHNoYXBlIGZpbGUuIFRoZSBkYXRhIGRpc3BsYXllZCBpbiB0aGUgc2hhcGUgZmlsZSBpcyBmcm9tIFNvY2lhbCBFeHBsb3JlciB3aXRoaW4gdGhlIEhlYWx0aCBkYXRhIGZvciAyMDE2LiBUaGlzIGRhdGEgaXMgdGhlIGhlYWx0aCBpbnN1cmFuY2UgcG9ydGlvbiBvZiB0aGUgaGVhbHRoIGRhdGEuIFRoZSB2YXJpYWJsZXMgb2YgdXNlIGluIHRoaXMgZGF0YSBpcyBvbmx5IHRoZSB2YXJpYWJsZSBmb3IgdGhlIHBlcmNlbnRhZ2Ugb2YgcGVvcGxlIHdpdGhvdXQgaGVhbHRoIGluc3VyYW5jZS4gVGhlIHZhcmlhYmxlIGlzIGNhbGxlZCAiUGVyY2VudDE4dG82NC4iCgpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBwYWdlZC5wcmludD1GQUxTRX0KbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkodG1hcCkKbGlicmFyeSh0aWdyaXMpCmxpYnJhcnkoc3BkZXApCmxpYnJhcnkoc2YpCmxpYnJhcnkodG1hcHRvb2xzKQpgYGAKCiMjIyNSZWFkaW5nIGluIHRoZSBTaGFwZSBGaWxlIGFuZCB0aGUgRGF0YQpgYGB7cn0KY3RfbWFwIDwtIHN0X3JlYWQoJy9Vc2Vycy9wYXVsa2ltL0Rvd25sb2Fkcy90bF8yMDE2X3VzX2NvdW50eS90bF8yMDE2X3VzX2NvdW50eS5zaHAnLCBzdHJpbmdzQXNGYWN0b3JzID0gRkFMU0UpCm5hbWVzKGN0X21hcCkKYGBgCmBgYHtyfQphbV9kYXRhIDwtIHJlYWRfY3N2KCIvVXNlcnMvcGF1bGtpbS9Eb3dubG9hZHMvbWFwY291bnR5ZGF0YS5jc3YiKQpuYW1lcyhhbV9kYXRhKQpgYGAKCiMjIyNNZXJnaW5nIHRoZSBTaGFwZSBGaWxlIGFuZCB0aGUgRGF0YQpgYGB7cn0KYW1fZGF0YSA8LSBhbV9kYXRhICU+JSAKICBtdXRhdGUoZmlwcyA9IEdlb19GSVBTKQpjdF9tYXAgPC0gY3RfbWFwICU+JSAKICBtdXRhdGUoZmlwcyA9IHBhcnNlX2ludGVnZXIoR0VPSUQpKQpjb21iX2RhdGEgPC0gY3RfbWFwICU+JSAKICBsZWZ0X2pvaW4oYW1fZGF0YSwgYnkgPSAiZmlwcyIpCmBgYAoKIyMjI0ZvY3VzaW5nIG9uIHRoZSBDb250aWd1b3VzIFVuaXRlZCBTdGF0ZXMKYGBge3J9CmNvbWJfZGF0YV9zdWIgPC0gY29tYl9kYXRhICU+JSAKICBmaWx0ZXIoU1RBVEVGUCAhPSAiMDIiKSAlPiUgCiAgZmlsdGVyKFNUQVRFRlAgIT0gIjE1IikgJT4lIAogIGZpbHRlcihTVEFURUZQICE9ICI2MCIpICU+JSAKICBmaWx0ZXIoU1RBVEVGUCAhPSAiNjYiKSAlPiUgCiAgZmlsdGVyKFNUQVRFRlAgIT0gIjY5IikgJT4lIAogIGZpbHRlcihTVEFURUZQICE9ICI3MiIpICU+JSAKICBmaWx0ZXIoU1RBVEVGUCAhPSAiNzgiKQpgYGAKCiMjIyNWaWV3aW5nIHRoZSBEYXRhIGJ5IENvdW50eQpgYGB7cn0KdG1fc2hhcGUoY29tYl9kYXRhX3N1YiwgcHJvamVjdGlvbiA9IDIxNjMpICsgdG1fcG9seWdvbnMoIlBlcmNlbnQxOHRvNjQiKQpgYGAKVGhpcyBjb3VudHkgbGV2ZWwgbWFwIGlzIGRpZmZjdWx0IHRvIGxvb2sgYXQgYW5kIHVuZGVyc3RhbmQuIFRoZSBjb3VudHkgYm91bmRhcmllcyBhcmUgdG9vIGNsb3NlIHRvZ2V0aGVyIHRvIGdldCBhIGNsZWFyIHVuZGVyc3RhbmRpbmcuIFRoZSBXZXN0IENvYXN0IGNhbiBiZSBiZXR0ZXIgdW5kZXJzdG9vZCBiZWNhdXNlIHRoZSBjb3VudGllcyBhcmUgYmlnZ2VyIHNvIHRoZSBib3VuZGFyaWVzIGFyZSBub3QgY2xvc2UgdG8gZWFjaCBvdGhlci4gQnV0IHRoZSBFYXN0IENvYXN0IGhhcyBzbWFsbGVyIGNvdW50aWVzIHdpdGggYSBsb3QgbW9yZSBib3VuZGFyaWVzIG5lYXIgZWFjaCBvdGhlci4gQW5vdGhlciBtYXAgbmVlZHMgdG8gYmUgY3JlYXRlZCBmb3IgYSBiZXR0ZXIgdW5kZXJzdGFuZGluZywgbWF5YmUgYSBtYXAgd2l0aCBzdGF0ZSBib3VuZGFyaWVzPyBMZXQncyB0YWtlIGEgbG9vay4uLgoKIyMjI0FkZGluZyBTdGF0ZSBCb3JkZXJzCmBgYHtyfQp1c19zdGF0ZXMgPC0gY29tYl9kYXRhX3N1YiAlPiUgCiAgYWdncmVnYXRlX21hcChieSA9ICJTVEFURUZQIikKYGBgCgpgYGB7cn0KdG1fc2hhcGUoY29tYl9kYXRhX3N1YiwgcHJvamVjdGlvbiA9IDIxNjMpICsgdG1fcG9seWdvbnMoIlBlcmNlbnQxOHRvNjQiKSArIAogIHRtX3NoYXBlKHVzX3N0YXRlcykgKyB0bV9ib3JkZXJzKGx3ZCA9IC4zNiwgY29sID0gImJsYWNrIiwgYWxwaGEgPSAxKQoKYGBgClRoZSBzdGF0ZSBib3VuZGFyaWVzIGhlbHAgc2VlIGhvdyB0aGUgY291bnRpZXMgYXJlIGRpdmlkZWQgYW1vbmdzdCBlYWNoIG90aGVyLiBCdXQgbm90IG11Y2ggaGFzIGJlZW4gbWFkZSBjbGVhcmVyIGZyb20gdGhlIGNvdW50eSBsZXZlbCBtYXAgYmVzaWRlcyB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgc3RhdGUgYm91bmRhcmllcy4gTGV0J3MgbWFrZSB0aGUgc3RhdGUgbGluZXMgdGhlIGZvY3VzIGFuZCB0aGUgY291bnR5IGxpbmVzIGxpZ2h0ZXIgZm9yIGEgYmV0dGVyIGFuYWx5c2lzLiAKCiMjIyNIaWdobGlnaHRpbmcgdGhlIFN0YXRlIExpbmVzCmBgYHtyfQp0bV9zaGFwZShjb21iX2RhdGFfc3ViLCBwcm9qZWN0aW9uID0gMjE2MykgKyB0bV9wb2x5Z29ucygiUGVyY2VudDE4dG82NCIsIGJvcmRlci5jb2wgPSAiZ3JleSIsIGJvcmRlci5hbHBoYSA9IC40KSArIAogIHRtX3NoYXBlKHVzX3N0YXRlcykgKyB0bV9ib3JkZXJzKGx3ZCA9IC4zNiwgY29sID0gImJsYWNrIiwgYWxwaGEgPSAxKQpgYGAKV2hlbiB3ZSBmb2N1cyBvbiB0aGUgc3RhdGUgbGluZXMgYW5kIG1ha2UgdGhlIGNvdW50eSBsaW5lcyBncmV5LCBpdCBoZWxwcyB3aXRoIHVuZGVyc3RhbmRpbmcgYW5kIGJldHRlciB2aXN1YWxpemluZyB0aGUgZGF0YS4gTm93IHdlIGNhbiBzdGFydCBpbnRlcnByZXRpbmcgdGhlIGRhdGEgcHJlc2VudGVkIG9uIHRoZSBtYXAuIFRoZSBtYXAgaXMgZGlzcGxheWluZyB0aGF0IHRoZSBOb3J0aGVhc3QgcmVnaW9uIG9mIHRoZSBVbml0ZWQgU3RhdGVzIGhhcyBhIGxvdyBwZXJjZW50YWdlIG9mIHBlb3BsZSB3aXRob3V0IGhlYWx0aCBpbnN1cmFuY2UuIFRoZSBTb3V0aGVhc3QgcmVnaW9uIGFuZCB0aGUgV2VzdCBDb2FzdCBvZiB0aGUgVW5pdGVkIFN0YXRlcyBoYXZlIGEgZGFya2VyIHNoYWRlIHNvIHRoZSBwZXJjZW50YWdlIG9mIHBlb3BsZSB3aXRob3V0IGhlYWx0aCBpbnN1cmFuY2UgaXMgaGlnaGVyIHRoYW4gdGhvc2UgaW4gdGhlIE5vcnRoZWFzdC4gVGhlIGRhcmtlc3QgcGFydCBvZiB0aGlzIG1hcCBpcyBzaG93biBpbiBhIGZldyBjb3VudGllcyBpbiBUZXhhcy4gQWxzbyBhIGZldyBjb3VudGllcyBpbiBGbG9yaWRhIGFuZCB0aGUgTm9ydGh3ZXN0IHJlZ2lvbiBoYXZlIGhpZ2hlciBwZXJjZW50YWdlcyBvZiBwZW9wbGUgd2l0aG91dCBoZWFsdGggaW5zdXJhbmNlLiAKCiMjIyNOb24tU3BhdGlhbCBBcHByb2FjaApgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBwYWdlZC5wcmludD1UUlVFfQpnZ3Bsb3QoZGF0YT1jb21iX2RhdGFfc3ViLCBhZXMoUGVyY2VudDE4dG82NCkpICsgZ2VvbV9oaXN0b2dyYW0oKSArIGxhYnModGl0bGUgPSAiUHJvcG9ydGlvbiBvZiBQZW9wbGUgV2l0aG91dCBIZWFsdGggSW5zdXJhbmNlIikgKyB5bGFiKCJDb3VudCIpICsgeGxhYigiUGVyY2VudGFnZSBvZiBQZW9wbGUgQmV0d2VlbiAxOCBhbmQgNjQgV2l0aG91dCBIZWFsdGggSW5zdXJhbmNlIikKYGBgClRoaXMgbm9uLXNwYXRpYWwgYXBwcm9hY2ggZm9yIHRoZSBjb3VudHkgbGV2ZWwgZGF0YSBnaXZlcyBhIGJpZyBwaWN0dXJlIG9mIGhvdyBtYW55IG9mIHRoZSBjb3VudGllcyB3aXRoIGEgY2VydGFpbiBwZXJjZW50YWdlIG9mIHBlb3BsZSB3aXRoIG5vIGhlYWx0aCBpbnN1cmFuY2UuIFRoZSBzdHJlbmd0aHMgb2YgdGhlIG5vbi1zcGF0aWFsIGFwcHJvYWNoIGlzIHRoYXQgaXQgYWxsb3dzIGZvciBhIGJldHRlciB1bmRlcnN0YW5kaW5nIG9mIHRoZSBudW1iZXJzIHdpdGhpbiB0aGUgZGF0YSBhbmQgZm9yIGEgYmV0dGVyIGxvb2sgYXQgdGhlIHN0YXRpc3RpY3Mgb2YgdGhlIGRhdGEuIFRoZSBub24tc3BhdGlhbCBhcHByb2FjaCBpcyBvbmUgZGltZW5zaW9uYWwgaW4gdGhlIHNlbnNlIHRoYXQgb25seSB0aGUgZ2VuZXJhbCBzdGF0aXN0aWNzIG9mIHRoZSBkYXRhIGFyZSBwcm92aWRlZCB3aXRoIG5vIG90aGVyIGluZm9ybWF0aW9uIG9uIHRoZSBkYXRhLiBUaGUgc3BhdGlhbCBhcHByb2FjaCBvbiB0aGUgb3RoZXIgaGFuZCBwcm92aWRlcyBhIG1vcmUgbXV0aS1kaW1lbnNpb25hbCB2aWV3IG9mIHRoZSBkYXRhLiBTcGF0aWFsIGRhdGEgY2FuIHByb3ZpZGUgYSBtYXAgdGhhdCBkaXNwbGF5cyB0aGUgYXJlYXMgb2YgaW50ZXJlc3QuIFNwYXRpYWwgZGF0YSBpcyBtdXRpLWRpbWVuc29uYWwgaW4gdGhlIHNlbnNlIHRoYXQgaXQgcHJvdmlkZXMgYSBtYXAgYW5kIHdpdGhpbiB0aGUgbWFwIHRoZXJlIGlzIGRhdGEgZGlzcGxheWVkLiBTbyB0aGUgc3BhdGlhbCBkYXRhIHNob3dzIGhvdyB0aGUgZGF0YSBpcyBzcHJlYWQgb3V0IHRocm91Z2hvdXQgYW4gYXJlYS4gCgpUaGUgY29tbWFuZCB1c2VkIGluIHNsaWRlIDMyLCB0X2NvdW50eSA8LSBjb3VudGllcyhjYiA9IFRSVUUpLCB3YXMgdXNlZCB0byByZWNlaXZlIGNvdW50eS1sZXZlbCBtYXAgZmlsZXMuIFRoZSBjb21tYW5kIGNiID0gVFJVRSBpcyB1c2VkIHRvIG1ha2UgdGhlIHJlc29sdXRpb24gZm9yIHRoZSBjb3VudHktbGV2ZWwgbWFwLiBUaGUgY2IgPSBUUlVFIGNvbW1hbmQgbWFrZXMgdGhlIHJlc29sdXRpb24gMTo1MDBrIGJ1dCBpZiBjYiB3YXMgdG8gZXF1YWwgRkFMU0UgdGhlbiB0aGUgZGVmYXVsdCByZXNvbHV0aW9uIHdvdWxkIGJlIHRoZSBtb3N0IGRldGFpbGVkIGZpbGUuIFNvIHRoZSBjYiBjb21tYW5kIG1ha2VzIHRoZSByZXNvbHV0aW9uIG9mIHRoZSBtYXBzIGJldHRlciBmaXR0aW5nIGZvciBkaXNwbGF5IGluc3RlYWQgb2YgaGF2aW5nIHRoZSByZXNvbHV0aW9uIGJlY29tZSB0b28gZGV0YWlsZWQuIAo=