knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "README-",
  warning = FALSE,
  message = FALSE,
  cache = TRUE
)

Travis-CI Build Status

About

This package includes Qualified Health Plan (qhp) data in the Health Insurance Marketplace. So far it contains three years of enrollment data and the initial health plan data.

Installation

# install.packages("devtools")
devtools::install_github("jjchern/qhp")

Links

General

Sources

Inital Enrollment Data

Second Enrollment Data

Usage

Zip Code Level Enrollment Data

library(dplyr, warn.conflicts = FALSE)
qhp::enrollment2014
qhp::enrollment2015
qhp::enrollment2016

Top 10 Counties, Sorted According to Total Enrollment

# 2014
qhp::enrollment2014 %>% 
  na.omit() %>% 
  group_by(countygeoid) %>% 
  summarise(countyname = first(countyname),
            enrollment = sum(PlanSelections),
            state = first(state),
            copop = first(copop)) %>% 
  arrange(desc(enrollment))

# 2015
qhp::enrollment2015 %>% 
  na.omit() %>% 
  group_by(countygeoid) %>% 
  summarise(countyname = first(countyname),
            enrollment = sum(PlanSelections),
            state = first(state),
            copop = first(copop)) %>% 
  arrange(desc(enrollment))

Top 10 Counties, Sorted According to Enrollment per 10,000 Residents

# 2014
qhp::enrollment2014 %>% 
  na.omit() %>% 
  group_by(countygeoid) %>% 
  summarise(countyname = first(countyname),
            enrollment = sum(PlanSelections),
            state = first(state),
            copop = first(copop)) %>% 
  mutate(enroll_per100000 = enrollment / copop * 10000) %>% 
  filter(copop >= 100000) %>% 
  arrange(desc(enroll_per100000))

# 2015
qhp::enrollment2015 %>% 
  na.omit() %>% 
  group_by(countygeoid) %>% 
  summarise(countyname = first(countyname),
            enrollment = sum(PlanSelections),
            state = first(state),
            copop = first(copop)) %>% 
  mutate(enroll_per100000 = enrollment / copop * 10000) %>% 
  filter(copop >= 100000) %>% 
  arrange(desc(enroll_per100000))

Enrolloment per 10,000 Residents by counties

# 2014
qhp::enrollment2014 %>% 
  na.omit() %>% 
  group_by(countygeoid) %>% 
  summarise(countyname = first(countyname),
            enrollment = sum(PlanSelections),
            state = first(state),
            copop = first(copop)) %>% 
  mutate(enroll_per10000 = enrollment / copop * 10000) %>% 
  arrange(desc(enroll_per10000)) %>% 
  mutate(countygeoid = sprintf("%05.0f", countygeoid)) %>% 
  arrange(countygeoid) %>% 
  mutate(year = 2014) -> en_county_2014

# 2015
qhp::enrollment2015 %>% 
  na.omit() %>% 
  group_by(countygeoid) %>% 
  summarise(countyname = first(countyname),
            enrollment = sum(PlanSelections),
            state = first(state),
            copop = first(copop)) %>% 
  mutate(enroll_per10000 = enrollment / copop * 10000) %>% 
  arrange(desc(enroll_per10000)) %>% 
  mutate(countygeoid = sprintf("%05.0f", countygeoid)) %>% 
  arrange(countygeoid) %>% 
  mutate(year = 2015) -> en_county_2015

# 2016
qhp::enrollment2016 %>% 
  na.omit() %>% 
  group_by(countygeoid) %>% 
  summarise(countyname = first(countyname),
            enrollment = sum(PlanSelections),
            state = first(state),
            copop = first(copop)) %>% 
  mutate(enroll_per10000 = enrollment / copop * 10000) %>% 
  arrange(desc(enroll_per10000)) %>% 
  mutate(countygeoid = sprintf("%05.0f", countygeoid)) %>% 
  arrange(countygeoid) %>% 
  mutate(year = 2016) -> en_county_2016

# devtools::install_github("jjchern/usmapdata")
usmapdata::county %>% 
  left_join(en_county_2014, by = c("id" = "countygeoid")) %>% 
  mutate(region = id) -> en_county_2014_map

usmapdata::county %>% 
  left_join(en_county_2015, by = c("id" = "countygeoid")) %>% 
  mutate(region = id) -> en_county_2015_map

usmapdata::county %>% 
  left_join(en_county_2016, by = c("id" = "countygeoid")) %>% 
  mutate(region = id) -> en_county_2016_map

en_county_map = bind_rows(
  en_county_2014_map, 
  en_county_2015_map,
  en_county_2016_map
) %>% 
  filter(enroll_per10000 < 3000)

usmapdata::state %>% 
  mutate(region = id) -> state_map

library(ggplot2)

ggplot() +
  geom_map(data = en_county_2014_map, map = en_county_2014_map,
           aes(x = long, y = lat, map_id = region, fill = enroll_per10000),
           colour = alpha("white", 0.1), size=0.2) +
  geom_map(data = state_map, map = state_map,
           aes(x = long, y = lat, map_id = region),
           colour = "white", fill = "NA") +
  coord_map("albers", lat0 = 30, lat1 = 40) +
  scale_fill_gradientn(colors = viridis::viridis(en_county_map$enroll_per10000, option = "B"),
                       limits=c(min(en_county_map$enroll_per10000, na.rm = TRUE),
                                max(en_county_map$enroll_per10000, na.rm = TRUE))) +
  ggtitle("Enrollment per 10,000 Population in 2014") +
  ggthemes::theme_map() +
  theme(legend.position = c(.85, .3),
        legend.title=element_blank())

ggplot() +
  geom_map(data = en_county_2015_map, map = en_county_2015_map,
           aes(x = long, y = lat, map_id = region, fill = enroll_per10000),
           colour = alpha("white", 0.1), size=0.2) +
  geom_map(data = state_map, map = state_map,
           aes(x = long, y = lat, map_id = region),
           colour = "white", fill = "NA") +
  coord_map("albers", lat0 = 30, lat1 = 40) +
  scale_fill_gradientn(colors = viridis::viridis(en_county_map$enroll_per10000, option = "B"),
                       limits=c(min(en_county_map$enroll_per10000, na.rm = TRUE),
                                max(en_county_map$enroll_per10000, na.rm = TRUE))) +
  ggtitle("Enrollment per 10,000 Population in 2015") +
  ggthemes::theme_map() +
  theme(legend.position = c(.85, .3),
        legend.title=element_blank())

ggplot() +
  geom_map(data = en_county_2016_map, map = en_county_2016_map,
           aes(x = long, y = lat, map_id = region, fill = enroll_per10000),
           colour = alpha("white", 0.1), size=0.2) +
  geom_map(data = state_map, map = state_map,
           aes(x = long, y = lat, map_id = region),
           colour = "white", fill = "NA") +
  coord_map("albers", lat0 = 30, lat1 = 40) +
  scale_fill_gradientn(colors = viridis::viridis(en_county_map$enroll_per10000, option = "B"),
                       limits=c(min(en_county_map$enroll_per10000, na.rm = TRUE),
                                max(en_county_map$enroll_per10000, na.rm = TRUE))) +
  ggtitle("Enrollment per 10,000 Population in 2016") +
  ggthemes::theme_map() +
  theme(legend.position = c(.85, .3),
        legend.title=element_blank())

Total enrollment by states

# 2014
qhp::enrollment2014 %>% 
  na.omit() %>% 
  group_by(state) %>% 
  summarise(statename = first(StateName),
            enrollment = sum(PlanSelections)) %>% 
  arrange(enrollment %>% desc) %>% 
  print(n = 36)

# 2015
qhp::enrollment2015 %>% 
  na.omit() %>% 
  group_by(state) %>% 
  summarise(statename = first(StateName),
            enrollment = sum(PlanSelections)) %>% 
  arrange(enrollment %>% desc) %>% 
  print(n = 37)

Health Plan Data

qhp::qhp2014

Reference



jjchern/qhp documentation built on May 19, 2019, 11:39 a.m.