Under the ACA, employers with 50 or more full-time employees (or the equivalent in part-time employees) must provide health insurance to 95% of their full-time employees or pay a penalty; However, the penalty has been repealed.
Health Insurance Coverage as a Voluntary Benefit Many smaller companies offer health insurance as a benefit, even if they aren’t required to by law. In fact, the majority of Americans have health insurance coverage through an employer.
A study by the Urban Institute reported that 83.1% of all workers were offered health insurance through an employer in the first quarter of 2016.
TidyCensus Package was used to extract data for the following Census variables.
C27013_002 Worked Full-Time, Year-Round
C27013_003 With Private Health Insurance
C27013_004 No Private Health Insurance
Yes.Percentage = insurance population / full-time population
No.Percentage = no-insurance population / full-time population
Var<-c('Total workers' ="C27013_002",'insurance'="C27013_003",'noInsurance'="C27013_004")
ca_hc <- get_acs(geography = "county",
variables = Var,
year = 2018,
survey = "acs5",
state = "06", output = 'wide',
geometry = F)
## Getting data from the 2014-2018 5-year ACS
## Warning: `funs()` is deprecated as of dplyr 0.8.0.
## Please use a list of either functions or lambdas:
##
## # Simple named list:
## list(mean = mean, median = median)
##
## # Auto named with `tibble::lst()`:
## tibble::lst(mean, median)
##
## # Using lambdas
## list(~ mean(., trim = .2), ~ median(., na.rm = TRUE))
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_warnings()` to see where this warning was generated.
ca_hc$NAME <- gsub("County, California","",ca_hc$NAME)
library(DT)
ca_hc1 <- ca_hc[,c(2,3,5,7)]
ca_hc1 %>%
kable(col.names = c("County","Total workers","Worker with insurance","Worker without insurance")) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
County | Total workers | Worker with insurance | Worker without insurance |
---|---|---|---|
Lake | 12988 | 9463 | 3525 |
Mariposa | 3996 | 3378 | 618 |
Yuba | 18844 | 15132 | 3712 |
Contra Costa | 354027 | 316881 | 37146 |
Lassen | 5951 | 5419 | 532 |
Santa Barbara | 127283 | 99819 | 27464 |
Sonoma | 148791 | 127901 | 20890 |
Imperial | 34998 | 26811 | 8187 |
Mono | 5030 | 4062 | 968 |
Alameda | 574651 | 508949 | 65702 |
Sacramento | 454965 | 388329 | 66636 |
Napa | 43043 | 38330 | 4713 |
Monterey | 111282 | 87544 | 23738 |
Sierra | 666 | 555 | 111 |
San Diego | 1023860 | 871282 | 152578 |
Yolo | 59393 | 51851 | 7542 |
Humboldt | 33106 | 25609 | 7497 |
Alpine | 164 | 130 | 34 |
Mendocino | 20179 | 14969 | 5210 |
Santa Cruz | 74671 | 64480 | 10191 |
Los Angeles | 3239505 | 2501304 | 738201 |
Riverside | 653172 | 512200 | 140972 |
Santa Clara | 680592 | 616714 | 63878 |
Marin | 76321 | 69472 | 6849 |
Siskiyou | 9410 | 7470 | 1940 |
Shasta | 43932 | 35764 | 8168 |
Del Norte | 5235 | 4242 | 993 |
San Luis Obispo | 76508 | 64363 | 12145 |
Glenn | 6965 | 5293 | 1672 |
Butte | 52811 | 43095 | 9716 |
Plumas | 4076 | 3582 | 494 |
Kern | 221166 | 163649 | 57517 |
Orange | 1031753 | 871956 | 159797 |
Calaveras | 10492 | 9219 | 1273 |
Sutter | 24290 | 18657 | 5633 |
San Mateo | 274325 | 247732 | 26593 |
Tuolumne | 12234 | 10726 | 1508 |
San Joaquin | 199543 | 159646 | 39897 |
Amador | 8573 | 7185 | 1388 |
Merced | 64682 | 47911 | 16771 |
Modoc | 1990 | 1399 | 591 |
Inyo | 5001 | 4182 | 819 |
Stanislaus | 144263 | 116117 | 28146 |
Tehama | 15228 | 11756 | 3472 |
San Benito | 17709 | 14268 | 3441 |
El Dorado | 50557 | 45237 | 5320 |
San Francisco | 354503 | 327759 | 26744 |
Tulare | 110136 | 77379 | 32757 |
Nevada | 23987 | 19853 | 4134 |
Madera | 35029 | 25486 | 9543 |
Trinity | 2400 | 1660 | 740 |
San Bernardino | 595736 | 465626 | 130110 |
Placer | 112608 | 102362 | 10246 |
Solano | 129853 | 114466 | 15387 |
Colusa | 5917 | 4388 | 1529 |
Kings | 35675 | 27828 | 7847 |
Fresno | 244726 | 187515 | 57211 |
Ventura | 261095 | 218516 | 42579 |
ca_hc1 %>%
ggplot(aes(x = insuranceE, y = reorder(NAME,insuranceE))) +
geom_point(color="darkred")+
labs(x="Insurance Coverage Count",y="County",title = "Full-time workers by county")
hc_ad <- get_acs(geography = "state legislative district (lower chamber)",
variables = Var,
year = 2018,
survey = "acs5",
state = "06", output = 'wide',
geometry = F)
## Getting data from the 2014-2018 5-year ACS
hc_ad$NAME <- gsub("2018","",hc_ad$NAME)
hc_ad$District <- as.numeric(gsub("\\D", "", hc_ad$NAME))
hc_ad$Yes.Percent <- hc_ad$insuranceE/hc_ad$`Total workersE`
hc_ad$No.Percent <- 1- hc_ad$Yes.Percent
library(DT)
hc_ad1 <- hc_ad[,c(9,10,11,7)]
hc_ad1 %>%
kable(col.names = c("Assembly District","Workers with health insurance (%)","Workers with no insurance (%)",
"Workers with no insurance (population)")) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
Assembly District | Workers with health insurance (%) | Workers with no insurance (%) | Workers with no insurance (population) |
---|---|---|---|
1 | 0.8254050 | 0.1745950 | 19078 |
2 | 0.8165237 | 0.1834763 | 22252 |
3 | 0.7954750 | 0.2045250 | 23919 |
4 | 0.8561375 | 0.1438625 | 19215 |
5 | 0.8194776 | 0.1805224 | 20340 |
6 | 0.9261161 | 0.0738839 | 11510 |
7 | 0.8417734 | 0.1582266 | 24468 |
8 | 0.8392275 | 0.1607725 | 23408 |
9 | 0.8465593 | 0.1534407 | 22213 |
10 | 0.8825829 | 0.1174171 | 16818 |
11 | 0.8817377 | 0.1182623 | 17697 |
12 | 0.8417273 | 0.1582727 | 21932 |
13 | 0.7868420 | 0.2131580 | 28217 |
14 | 0.8828406 | 0.1171594 | 18499 |
15 | 0.8955335 | 0.1044665 | 16688 |
16 | 0.9618175 | 0.0381825 | 6599 |
17 | 0.9142308 | 0.0857692 | 18078 |
18 | 0.8340503 | 0.1659497 | 27774 |
19 | 0.9286591 | 0.0713409 | 13895 |
20 | 0.8712684 | 0.1287316 | 23131 |
21 | 0.7430293 | 0.2569707 | 30238 |
22 | 0.9179225 | 0.0820775 | 14743 |
23 | 0.8447627 | 0.1552373 | 22035 |
24 | 0.9193421 | 0.0806579 | 14345 |
25 | 0.9186022 | 0.0813978 | 15984 |
29 | 0.8887964 | 0.1112036 | 15631 |
26 | 0.7111496 | 0.2888504 | 33513 |
27 | 0.8363260 | 0.1636740 | 27455 |
28 | 0.9309155 | 0.0690845 | 11976 |
30 | 0.7867181 | 0.2132819 | 28728 |
31 | 0.6592383 | 0.3407617 | 35567 |
32 | 0.6369704 | 0.3630296 | 38781 |
33 | 0.7462700 | 0.2537300 | 28740 |
34 | 0.8211790 | 0.1788210 | 24592 |
35 | 0.7792942 | 0.2207058 | 30419 |
36 | 0.8321632 | 0.1678368 | 20942 |
37 | 0.8441101 | 0.1558899 | 22255 |
38 | 0.9056894 | 0.0943106 | 14884 |
39 | 0.7226508 | 0.2773492 | 41089 |
40 | 0.8171393 | 0.1828607 | 25275 |
41 | 0.8687720 | 0.1312280 | 20220 |
42 | 0.7934383 | 0.2065617 | 23736 |
43 | 0.8222667 | 0.1777333 | 28614 |
44 | 0.8185797 | 0.1814203 | 25907 |
45 | 0.8231579 | 0.1768421 | 29397 |
46 | 0.7447291 | 0.2552709 | 42994 |
47 | 0.7368349 | 0.2631651 | 38240 |
48 | 0.7813894 | 0.2186106 | 32740 |
49 | 0.7715200 | 0.2284800 | 33842 |
50 | 0.9087758 | 0.0912242 | 16240 |
51 | 0.6804672 | 0.3195328 | 47164 |
52 | 0.7426834 | 0.2573166 | 38202 |
53 | 0.5289708 | 0.4710292 | 77416 |
54 | 0.8257391 | 0.1742609 | 28274 |
55 | 0.8966484 | 0.1033516 | 16066 |
56 | 0.6735610 | 0.3264390 | 35985 |
57 | 0.8189931 | 0.1810069 | 28253 |
58 | 0.7643830 | 0.2356170 | 35839 |
59 | 0.5015663 | 0.4984337 | 65234 |
60 | 0.8136528 | 0.1863472 | 29602 |
61 | 0.7570046 | 0.2429954 | 34977 |
62 | 0.7911776 | 0.2088224 | 34037 |
63 | 0.7049028 | 0.2950972 | 41856 |
64 | 0.6752532 | 0.3247468 | 44855 |
65 | 0.8156634 | 0.1843366 | 27548 |
66 | 0.8989066 | 0.1010934 | 15940 |
67 | 0.8287244 | 0.1712756 | 24415 |
68 | 0.8894677 | 0.1105323 | 19350 |
69 | 0.6784223 | 0.3215777 | 50917 |
70 | 0.8184467 | 0.1815533 | 28912 |
71 | 0.8400728 | 0.1599272 | 22401 |
72 | 0.8282743 | 0.1717257 | 25368 |
73 | 0.9197608 | 0.0802392 | 12921 |
74 | 0.9021735 | 0.0978265 | 16163 |
75 | 0.8159242 | 0.1840758 | 28041 |
76 | 0.8596933 | 0.1403067 | 21164 |
77 | 0.9364043 | 0.0635957 | 10926 |
78 | 0.8985776 | 0.1014224 | 17648 |
79 | 0.8527384 | 0.1472616 | 23199 |
80 | 0.7191971 | 0.2808029 | 35489 |
hc_ad1 %>%
ggplot(aes(x = Yes.Percent, y = reorder(District,Yes.Percent))) +
geom_point(color="brown4")+
labs(x="Full-time workers(percent)",y="Assembly District",title = "Insurance Coverage (%) by Assembly District")
hc_sd <- get_acs(geography = "state legislative district (upper chamber)",
variables = Var,
year = 2018,
survey = "acs5",
state = "06", output = 'wide',
geometry = F)
## Getting data from the 2014-2018 5-year ACS
hc_sd$NAME <- gsub("2018","",hc_sd$NAME)
hc_sd$District <- as.numeric(gsub("\\D", "", hc_sd$NAME))
hc_sd$Yes.Percent <- hc_sd$insuranceE/hc_sd$`Total workersE`
hc_sd$No.Percent <- 1- hc_sd$Yes.Percent
library(DT)
hc_sd1 <- hc_sd[,c(9,10,11,7)]
hc_sd1 %>%
kable(col.names = c("Senate District","Workers with health insurance (%)","Workers with no insurance (%)",
"Workers with no insurance (population)")) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
Senate District | Workers with health insurance (%) | Workers with no insurance (%) | Workers with no insurance (population) |
---|---|---|---|
1 | 0.8796735 | 0.1203265 | 30632 |
2 | 0.8414843 | 0.1585157 | 40720 |
3 | 0.8888036 | 0.1111964 | 32169 |
4 | 0.8249725 | 0.1750275 | 46865 |
5 | 0.8096682 | 0.1903318 | 52401 |
6 | 0.8469084 | 0.1530916 | 45963 |
7 | 0.9170090 | 0.0829910 | 27176 |
8 | 0.8418905 | 0.1581095 | 41973 |
9 | 0.8642962 | 0.1357038 | 44413 |
10 | 0.8973608 | 0.1026392 | 38913 |
11 | 0.9213822 | 0.0786178 | 31763 |
12 | 0.7338233 | 0.2661767 | 62806 |
13 | 0.9180870 | 0.0819130 | 29298 |
14 | 0.6210836 | 0.3789164 | 77086 |
15 | 0.8892862 | 0.1107138 | 37404 |
16 | 0.8013036 | 0.1986964 | 49782 |
17 | 0.8547279 | 0.1452721 | 40793 |
18 | 0.7347011 | 0.2652989 | 83510 |
19 | 0.7841645 | 0.2158355 | 61299 |
20 | 0.7397905 | 0.2602095 | 76442 |
21 | 0.8202884 | 0.1797116 | 46493 |
22 | 0.7587701 | 0.2412299 | 72485 |
23 | 0.8066639 | 0.1933361 | 51155 |
24 | 0.6083441 | 0.3916559 | 123607 |
25 | 0.8604007 | 0.1395993 | 42844 |
26 | 0.9175928 | 0.0824072 | 28266 |
27 | 0.8708420 | 0.1291580 | 41010 |
28 | 0.7824765 | 0.2175235 | 58099 |
29 | 0.8501751 | 0.1498249 | 45988 |
33 | 0.6872341 | 0.3127659 | 91393 |
30 | 0.6887529 | 0.3112471 | 93080 |
31 | 0.7867237 | 0.2132763 | 64579 |
32 | 0.8140382 | 0.1859618 | 57817 |
34 | 0.7690820 | 0.2309180 | 70094 |
35 | 0.7421079 | 0.2578921 | 75460 |
36 | 0.8904197 | 0.1095803 | 34456 |
37 | 0.8959931 | 0.1040069 | 35551 |
38 | 0.8419639 | 0.1580361 | 48055 |
39 | 0.9072690 | 0.0927310 | 32353 |
40 | 0.7670287 | 0.2329713 | 58822 |
hc_sd1 %>%
ggplot(aes(x = Yes.Percent, y = reorder(District,Yes.Percent))) +
geom_point(color="blue")+
labs(x="Full-time workers(percent)",y="State Senate District",title = "Insurance Coverage (%) by State Senate District")
hc_cd <- get_acs(geography = "congressional district",
variables = Var,
year = 2018,
survey = "acs5",
state = "06", output = 'wide',
geometry = F)
## Getting data from the 2014-2018 5-year ACS
hc_cd$NAME <- gsub("116","",hc_cd$NAME)
hc_cd$District <- as.numeric(gsub("\\D", "", hc_cd$NAME))
hc_cd$Yes.Percent <- hc_cd$insuranceE/hc_cd$`Total workersE`
hc_cd$No.Percent <- 1- hc_cd$Yes.Percent
hc_cd1 <- hc_cd[,c(9,10,11,7)]
hc_cd1 %>%
kable(col.names = c("Congressional District","Workers with health insurance (%)","Workers with no insurance (%)",
"Workers with no insurance (population)")) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
Congressional District | Workers with health insurance (%) | Workers with no insurance (%) | Workers with no insurance (population) |
---|---|---|---|
1 | 0.8212441 | 0.1787559 | 29415 |
3 | 0.8402418 | 0.1597582 | 31897 |
5 | 0.8745109 | 0.1254891 | 27708 |
6 | 0.8224284 | 0.1775716 | 40017 |
8 | 0.7662799 | 0.2337201 | 41210 |
10 | 0.8245619 | 0.1754381 | 36242 |
11 | 0.8792471 | 0.1207529 | 28080 |
13 | 0.8693659 | 0.1306341 | 32423 |
15 | 0.9058235 | 0.0941765 | 26302 |
16 | 0.6929580 | 0.3070420 | 51354 |
18 | 0.9290198 | 0.0709802 | 17979 |
20 | 0.8035462 | 0.1964538 | 38181 |
21 | 0.6458584 | 0.3541416 | 57196 |
23 | 0.8163261 | 0.1836739 | 35497 |
24 | 0.8054396 | 0.1945604 | 40281 |
26 | 0.8236538 | 0.1763462 | 38775 |
28 | 0.8177984 | 0.1822016 | 46486 |
29 | 0.6760152 | 0.3239848 | 73887 |
31 | 0.7985909 | 0.2014091 | 42967 |
33 | 0.9395299 | 0.0604701 | 14161 |
34 | 0.5961276 | 0.4038724 | 96036 |
36 | 0.7188631 | 0.2811369 | 49556 |
38 | 0.8163863 | 0.1836137 | 42885 |
39 | 0.8790473 | 0.1209527 | 28312 |
41 | 0.7502902 | 0.2497098 | 54214 |
42 | 0.8520810 | 0.1479190 | 34528 |
44 | 0.6881648 | 0.3118352 | 64761 |
46 | 0.7086604 | 0.2913396 | 69673 |
47 | 0.8311113 | 0.1688887 | 39359 |
49 | 0.8769995 | 0.1230005 | 27675 |
51 | 0.7141329 | 0.2858671 | 50513 |
52 | 0.9291067 | 0.0708933 | 18306 |
2 | 0.8534541 | 0.1465459 | 28303 |
4 | 0.8919318 | 0.1080682 | 21877 |
7 | 0.8867055 | 0.1132945 | 25685 |
9 | 0.8116928 | 0.1883072 | 38902 |
12 | 0.9271206 | 0.0728794 | 23089 |
14 | 0.9053513 | 0.0946487 | 25609 |
25 | 0.8708576 | 0.1291424 | 27797 |
17 | 0.9233506 | 0.0766494 | 22559 |
19 | 0.8651745 | 0.1348255 | 34931 |
22 | 0.8104969 | 0.1895031 | 38421 |
27 | 0.8353764 | 0.1646236 | 37992 |
30 | 0.8494416 | 0.1505584 | 39192 |
32 | 0.7690890 | 0.2309110 | 52360 |
35 | 0.7379301 | 0.2620699 | 58483 |
37 | 0.7736054 | 0.2263946 | 55442 |
40 | 0.5886638 | 0.4113362 | 88267 |
43 | 0.7603755 | 0.2396245 | 55423 |
45 | 0.9175238 | 0.0824762 | 21258 |
48 | 0.8785113 | 0.1214887 | 29267 |
50 | 0.8304093 | 0.1695907 | 38299 |
53 | 0.8658903 | 0.1341097 | 33983 |
hc_cd1$District <- as.numeric(hc_cd1$District)
hc_cd1 %>%
ggplot(aes(x = Yes.Percent, y = reorder(District,Yes.Percent))) +
geom_point(color="brown4")+
labs(x="Full-time workers(percent)",y="Congressional District",title = "Insurance Coverage (%) by Congressional District")