Introduction

In recent years, mental health has gained attention on a national level and many conversations have developed surrounding the topic. An important segment of mental health is services/treatment. I am interested in exploring variables pertaining to individuals who receive services and if there are any notable trends in the population of individuals with unmet mental health needs. The ultimate question I will be asking in this project is: Are mental health services equitable in the United States? The variables I will be exploring are poverty level, type of health insurance, and the number of individuals who received mental health services in 2019. I am interested in this question/topic both due to the prevalence of mental health in the US and previous research indicating disparities in mental illness and treatment across socioeconomic classifications. In 2016, the Substance Abuse and Mental Health Services Administration published research stating that individuals living below the poverty line are more likely to have serious mental illness and higher health care costs (Source). Additional research published by the National Center for Biotechnology Information indicated financial constraints as one of the main reasons for individuals to not seek or receive mental health treatment (Source). This research explores whether individuals living in poverty receive statistically significant less mental health treatment/services than those living above the poverty line. Furthermore, I will display data regarding individuals receiving mental health treatment by geographic region and type of insurance, as well as the same geographic and socioeconomic characteristics for individuals that possess the perception of unmet mental health needs. This information is a preface for potential future research and additional exploration into the topic.

Data

The data I will be working with comes from the Substance Abuse and Mental Health Services Administration (SAMHSA), which is an agency within the US Department of Health and Human Services. The agency’s mission is to “reduce the impact of substance abuse and mental illness on America’s communities”. [https://www.samhsa.gov/]

The data comes from the National Survey on Drug Use and Health (NSDUH). The collection of detailed tables within the report contains estimates on the number of people with specified characteristics, like substance abuse or mental illness. Data is collected by field staff through the administration of in-person surveys. Sample design and sample size are sufficient to allow for state and national estimates. The sample includes United States non-institutionalized residents aged 12 or older, including residents of households, shelters, dormitories, and boarding houses. Individuals that were excluded from the sample include those with no fixed address (but not utilizing shelters), active-duty military, and residents in institutional living (correctional facilities, nursing homes, mental institutions, and long-term care facilities. For further research, it would be interesting and important to focus on populations like the un-housed homeless population, correctional population, and military population due to a high prevalence of mental illness in each of these groups. The data included both 2019 and 2020 sections. However, for this project I will only focus on the data from 2019 due to the COVID-19 pandemic’s presence in the US starting in 2020. The pandemic changed data collection methodology to remote surveying, which could have impacted the ability to accurately sample segments of the population. Additionally, the pandemic likely had unique affects on mental health and available services. To avoid these factors from skewing this research, I will only be working with the 2019 data.

The tables I have gathered data from are listed below:

This data includes the number of people (in thousands) who had received mental health services in the past year. The years included in the data are 2019 and 2020. The counts are itemized by those with any mental illness, serious mental illness, or no mental illness. The geographic and socioeconomic characteristics included in the data are geographic region, county type, poverty level, education level, and type of health insurance.

This data includes estimated percentages of individuals in each mental illness category (all, serious, none) for each geographic/socioeconomic category (same as Table 8.18A) who received mental health services/treatment.

This data includes the number of people (in thousands) who had a perceived unmet need for mental health services in the past year. The years included in the data are 2019 and 2020. The counts are categorized by those who did not receive services and those who received services but felt the services were insufficient or had a perception of unmet needs prior to receiving services but within the survey year. The geographic and socioeconomic characteristics included in the data are geographic region, county type, poverty level, education level, and type of health insurance.

This data includes the percentage of people who had a perceived unmet need for mental health services in the past year. The counts are categorized by those who did not receive services and those who received services (same as Table 8.28A).

Variables

The variables from the dataset that I will be working with for this project are described in detail below:


Received Mental Health Services

menthealth <- read_excel("~/DACSS601_R/Data/US_mentalhealth.xlsx", "Sheet1", skip = 1)
## New names:
## * `Total (2019)` -> `Total (2019)...2`
## * `Total (2020)` -> `Total (2020)...3`
## * `Total (2019)` -> `Total (2019)...10`
## * `Total (2020)` -> `Total (2020)...11`
menthealth <- menthealth %>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "Geographic Region"))%>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "County Type"))%>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "Poverty Level"))%>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "Education Level"))%>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "Health Insurance"))

recservices <- menthealth %>%
  select("Geographic/Socioeconomic Characteristics", "Total (2019)...2", "Any Mental Illness (2019)", "Serious Mental Illness (2019)", "No Mental Illness (2019)")%>%
  rename(Geographic_Socioeconomic_Characteristics="Geographic/Socioeconomic Characteristics", Total="Total (2019)...2", Any_Mental_Illness="Any Mental Illness (2019)", Serious_Mental_Illness="Serious Mental Illness (2019)", No_Mental_Illness="No Mental Illness (2019)")

recservices <- recservices %>%
  filter(Geographic_Socioeconomic_Characteristics=="Northeast"|
           Geographic_Socioeconomic_Characteristics=="Midwest"|
           Geographic_Socioeconomic_Characteristics=="South"|
           Geographic_Socioeconomic_Characteristics=="West"|
           Geographic_Socioeconomic_Characteristics=="Less than 100%"|
           Geographic_Socioeconomic_Characteristics=="100% - 199%"|
           Geographic_Socioeconomic_Characteristics=="200% or More"|
           Geographic_Socioeconomic_Characteristics=="Private"|
           Geographic_Socioeconomic_Characteristics=="Medicaid/CHIP"|
           Geographic_Socioeconomic_Characteristics=="Other"|
           Geographic_Socioeconomic_Characteristics=="No Coverage")%>%
  mutate(Geographic_Socioeconomic_Characteristics = case_when(
    Geographic_Socioeconomic_Characteristics == "Northeast" ~ "Northeast Region",
    Geographic_Socioeconomic_Characteristics == "Midwest" ~ "Midwest Region",
    Geographic_Socioeconomic_Characteristics == "South" ~ "South Region",
    Geographic_Socioeconomic_Characteristics == "West" ~ "West Region",
    Geographic_Socioeconomic_Characteristics == "Less than 100%" ~ "Poverty Level less than 100%",
    Geographic_Socioeconomic_Characteristics == "100% - 199%" ~ "Poverty Level 100%-199%",
    Geographic_Socioeconomic_Characteristics == "200% or More" ~ "Poverty Level more than 200%",
    Geographic_Socioeconomic_Characteristics == "Private" ~ "Private Insurance",
    Geographic_Socioeconomic_Characteristics == "Medicaid/CHIP" ~ "Medicaid/CHIP Insurance",
    Geographic_Socioeconomic_Characteristics == "Other" ~ "Other Insurance",
    Geographic_Socioeconomic_Characteristics == "No Coverage" ~ "No Insurance Coverage"
  ))

kable(recservices, col.names = c("Geographic/Socioeconomic Characteristics", "Total", "Any Mental Illness", "Serious Mental Illness", "No Mental Illness"), 
      align = c('c', 'c', 'c', 'c', 'c')) %>%
  add_header_above(c("Table 1: Number of Individuals in the US who Received Mental Health Services by Geographic/Socioeconomic Characteristics (in Thousands), 2019"=5))%>%
    kable_styling(fixed_thead = TRUE)%>%
  scroll_box(width = "100%", height = "100%")
Table 1: Number of Individuals in the US who Received Mental Health Services by Geographic/Socioeconomic Characteristics (in Thousands), 2019
Geographic/Socioeconomic Characteristics Total Any Mental Illness Serious Mental Illness No Mental Illness
Northeast Region 7503 4048 1406 3455
Midwest Region 9740 5682 2032 4058
South Region 13503 7650 2902 5853
West Region 9407 5573 2235 3835
Poverty Level less than 100% 5578 3860 1692 1718
Poverty Level 100%-199% 7403 4762 2000 2641
Poverty Level more than 200% 26957 14184 4847 12773
Private Insurance 26711 14061 4725 12650
Medicaid/CHIP Insurance 8131 5553 2540 2578
Other Insurance 10935 5633 2053 5301
No Insurance Coverage 2048 1419 665 629
servicesperc <- read_excel("~/DACSS601_R/Data/US_mentalhealth.xlsx", "Sheet2", skip = 1)
## New names:
## * `Total (2019)` -> `Total (2019)...2`
## * `Total (2020)` -> `Total (2020)...3`
## * `Total (2019)` -> `Total (2019)...10`
## * `Total (2020)` -> `Total (2020)...11`
servicesperc <- servicesperc %>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "Geographic Region"))%>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "County Type"))%>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "Poverty Level"))%>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "Education Level"))%>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "Health Insurance"))

servicesperc <- servicesperc %>%
  select("Geographic/Socioeconomic Characteristics", "Total (2019)...2", "Any Mental Illness (2019)", "Serious Mental Illness (2019)", "No Mental Illness (2019)")%>%
  rename(Geographic_Socioeconomic_Characteristics="Geographic/Socioeconomic Characteristics", Total="Total (2019)...2", Any_Mental_Illness="Any Mental Illness (2019)", Serious_Mental_Illness="Serious Mental Illness (2019)", No_Mental_Illness="No Mental Illness (2019)")

servicesperc <- servicesperc %>%
  filter(Geographic_Socioeconomic_Characteristics=="Northeast"|
           Geographic_Socioeconomic_Characteristics=="Midwest"|
           Geographic_Socioeconomic_Characteristics=="South"|
           Geographic_Socioeconomic_Characteristics=="West"|
           Geographic_Socioeconomic_Characteristics=="Less than 100%"|
           Geographic_Socioeconomic_Characteristics=="100% - 199%"|
           Geographic_Socioeconomic_Characteristics=="200% or More"|
           Geographic_Socioeconomic_Characteristics=="Private"|
           Geographic_Socioeconomic_Characteristics=="Medicaid/CHIP"|
           Geographic_Socioeconomic_Characteristics=="Other"|
           Geographic_Socioeconomic_Characteristics=="No Coverage")%>%
  mutate(Geographic_Socioeconomic_Characteristics = case_when(
    Geographic_Socioeconomic_Characteristics == "Northeast" ~ "Northeast Region",
    Geographic_Socioeconomic_Characteristics == "Midwest" ~ "Midwest Region",
    Geographic_Socioeconomic_Characteristics == "South" ~ "South Region",
    Geographic_Socioeconomic_Characteristics == "West" ~ "West Region",
    Geographic_Socioeconomic_Characteristics == "Less than 100%" ~ "Poverty Level less than 100%",
    Geographic_Socioeconomic_Characteristics == "100% - 199%" ~ "Poverty Level 100%-199%",
    Geographic_Socioeconomic_Characteristics == "200% or More" ~ "Poverty Level more than 200%",
    Geographic_Socioeconomic_Characteristics == "Private" ~ "Private Insurance",
    Geographic_Socioeconomic_Characteristics == "Medicaid/CHIP" ~ "Medicaid/CHIP Insurance",
    Geographic_Socioeconomic_Characteristics == "Other" ~ "Other Insurance",
    Geographic_Socioeconomic_Characteristics == "No Coverage" ~ "No Insurance Coverage"
  ))

kable(servicesperc, col.names = c("Geographic/Socioeconomic Characteristics", "Total", "Any Mental Illness", "Serious Mental Illness", "No Mental Illness"), 
      align = c('c', 'c', 'c', 'c', 'c')) %>%
  add_header_above(c("Table 2: Percentage of Individuals in the US who Received Mental Health Services by Geographic/Socioeconomic Characteristics, 2019"=5))%>%
    kable_styling(fixed_thead = TRUE)%>%
  scroll_box(width = "100%", height = "100%")
Table 2: Percentage of Individuals in the US who Received Mental Health Services by Geographic/Socioeconomic Characteristics, 2019
Geographic/Socioeconomic Characteristics Total Any Mental Illness Serious Mental Illness No Mental Illness
Northeast Region 17.3 47.2 68.3 9.9
Midwest Region 18.8 49.6 69.7 10.0
South Region 14.3 42.1 61.1 7.7
West Region 15.9 42.6 66.5 8.3
Poverty Level less than 100% 17.5 44.9 65.6 7.4
Poverty Level 100%-199% 15.6 42.4 62.2 7.3
Poverty Level more than 200% 16.0 45.6 67.2 9.3
Private Insurance 16.2 45.8 67.1 9.4
Medicaid/CHIP Insurance 22.9 50.1 70.8 10.6
Other Insurance 15.9 48.8 77.8 9.3
No Insurance Coverage 8.0 25.5 42.8 3.1

Geographic Region

georegion <- servicesperc %>%
  filter(Geographic_Socioeconomic_Characteristics=="Northeast Region"|
         Geographic_Socioeconomic_Characteristics=="Midwest Region"|
         Geographic_Socioeconomic_Characteristics=="South Region"|
         Geographic_Socioeconomic_Characteristics=="West Region")%>%
  select(Geographic_Socioeconomic_Characteristics, Total, Any_Mental_Illness, Serious_Mental_Illness, No_Mental_Illness)%>%
  rename(Geographic_Region=Geographic_Socioeconomic_Characteristics)

georegion <- georegion[, c("Geographic_Region", "Any_Mental_Illness", "Serious_Mental_Illness", "No_Mental_Illness", "Total")]

kable(georegion, col.names = c("Geographic Region", "Any Mental Illness", "Serious Mental Illness", "No Mental Illness", "Total"), 
      align = c('c', 'c', 'c', 'c', 'c')) %>%
  add_header_above(c("Table 3: Percentage of Individuals who Received Mental Health Services by Geographic Region, 2019"=5))%>%
    kable_styling(fixed_thead = TRUE)%>%
  scroll_box(width = "100%", height = "100%")
Table 3: Percentage of Individuals who Received Mental Health Services by Geographic Region, 2019
Geographic Region Any Mental Illness Serious Mental Illness No Mental Illness Total
Northeast Region 47.2 68.3 9.9 17.3
Midwest Region 49.6 69.7 10.0 18.8
South Region 42.1 61.1 7.7 14.3
West Region 42.6 66.5 8.3 15.9
georegion1 <- georegion %>%
  pivot_longer(c(Any_Mental_Illness, Serious_Mental_Illness, No_Mental_Illness), names_to = "Mental_Illness_Type", values_to = "Number_Treated")%>%
  select(Geographic_Region, Mental_Illness_Type, Number_Treated)

ggplot(data = georegion1) +
  geom_bar(mapping = aes(x = Mental_Illness_Type, y = Number_Treated, fill = Geographic_Region), stat = "identity", position = "dodge") +
  labs(title = "Graph 1: Percentage of Individuals who Received Treatment", 
       subtitle = "by Geographic Region, 2019", x = "Type of Mental Illness", y = "Percentage Treated")

Poverty Level

povertylvl <- servicesperc %>%
  filter(Geographic_Socioeconomic_Characteristics=="Poverty Level less than 100%"|
         Geographic_Socioeconomic_Characteristics=="Poverty Level 100%-199%"|
         Geographic_Socioeconomic_Characteristics=="Poverty Level more than 200%")%>%
  select(Geographic_Socioeconomic_Characteristics, Total, Any_Mental_Illness, Serious_Mental_Illness, No_Mental_Illness)%>%
  rename(Poverty_Level=Geographic_Socioeconomic_Characteristics)

povertylvl <- povertylvl[, c("Poverty_Level", "Any_Mental_Illness", "Serious_Mental_Illness", "No_Mental_Illness", "Total")]

kable(povertylvl, col.names = c("Poverty Level", "Any Mental Illness", "Serious Mental Illness", "No Mental Illness", "Total"), 
      align = c('c', 'c', 'c', 'c', 'c')) %>%
  add_header_above(c("Table 4: Percentage of Individuals who Received Mental Health Services by Poverty Level, 2019"=5))%>%
    kable_styling(fixed_thead = TRUE)%>%
  scroll_box(width = "100%", height = "100%")
Table 4: Percentage of Individuals who Received Mental Health Services by Poverty Level, 2019
Poverty Level Any Mental Illness Serious Mental Illness No Mental Illness Total
Poverty Level less than 100% 44.9 65.6 7.4 17.5
Poverty Level 100%-199% 42.4 62.2 7.3 15.6
Poverty Level more than 200% 45.6 67.2 9.3 16.0
povertylvl1 <- povertylvl %>%
  pivot_longer(c(Any_Mental_Illness, Serious_Mental_Illness, No_Mental_Illness), names_to = "Mental_Illness_Type", values_to = "Number_Treated")%>%
  select(Poverty_Level, Mental_Illness_Type, Number_Treated)

ggplot(data = povertylvl1) +
  geom_bar(mapping = aes(x = Mental_Illness_Type, y = Number_Treated, fill = Poverty_Level), stat = "identity", position = "dodge") +
  labs(title = "Graph 2: Percentage of Individuals who Received Treatment", 
       subtitle = "by Poverty Level, 2019", x = "Type of Mental Illness", y = "Percentage Treated")

Type of Insurance

insurance <- servicesperc %>%
  filter(Geographic_Socioeconomic_Characteristics=="Private Insurance"|
         Geographic_Socioeconomic_Characteristics=="Medicaid/CHIP Insurance"|
         Geographic_Socioeconomic_Characteristics=="Other Insurance"|
         Geographic_Socioeconomic_Characteristics=="No Insurance Coverage")%>%
  select(Geographic_Socioeconomic_Characteristics, Total, Any_Mental_Illness, Serious_Mental_Illness, No_Mental_Illness)%>%
  rename(Insurance_Type=Geographic_Socioeconomic_Characteristics)

insurance <- insurance[, c("Insurance_Type", "Any_Mental_Illness", "Serious_Mental_Illness", "No_Mental_Illness", "Total")]

kable(insurance, col.names = c("Insurance Type", "Any Mental Illness", "Serious Mental Illness", "No Mental Illness", "Total"), 
      align = c('c', 'c', 'c', 'c', 'c')) %>%
  add_header_above(c("Table 5: Percentage of Individuals who Received Mental Health Services by Insurance Type, 2019"=5))%>%
    kable_styling(fixed_thead = TRUE)%>%
  scroll_box(width = "100%", height = "100%")
Table 5: Percentage of Individuals who Received Mental Health Services by Insurance Type, 2019
Insurance Type Any Mental Illness Serious Mental Illness No Mental Illness Total
Private Insurance 45.8 67.1 9.4 16.2
Medicaid/CHIP Insurance 50.1 70.8 10.6 22.9
Other Insurance 48.8 77.8 9.3 15.9
No Insurance Coverage 25.5 42.8 3.1 8.0
insurance1 <- insurance %>%
  pivot_longer(c(Any_Mental_Illness, Serious_Mental_Illness, No_Mental_Illness), names_to = "Mental_Illness_Type", values_to = "Number_Treated")%>%
  select(Insurance_Type, Mental_Illness_Type, Number_Treated)

ggplot(data = insurance1) +
  geom_bar(mapping = aes(x = Mental_Illness_Type, y = Number_Treated, fill = Insurance_Type), stat = "identity", position = "dodge") +
  labs(title = "Graph 3: Percentage of Individuals who Received Treatment", 
       subtitle = "by Insurance Type, 2019", x = "Type of Mental Illness", y = "Percentage Treated")

While Graphs 1 and 2 display the Geographic Region categories and Poverty Level categories to have comparable proportions of treatment across the categories, Graph 3 evidently shows a substantially less proportion of treatment for individuals lacking health insurance. However, it is important to note that the Poverty Level graph (Graph 2) includes one category below the poverty line and two categories above the line. Therefore, in the next section I will display a visualization representing the proportion of individuals receiving treatment below the poverty line compared to the total proportion above the poverty line receiving treatment.


Hypothesis and Testing

Returning to the original research question, how does poverty relate to individuals receiving mental health treatment?

povline <- povertylvl %>%
  select(Poverty_Level, Total) %>%
  pivot_wider(names_from = Poverty_Level, values_from = Total)%>%
  mutate(Above_Poverty_Line = (15.6+16))%>%
  select("Poverty Level less than 100%", Above_Poverty_Line)%>%
  rename(Below_Poverty_Line="Poverty Level less than 100%")

kable(povline, col.names = c("Below Poverty Level", "Above Poverty Level"), 
      align = c('c', 'c')) %>%
  add_header_above(c("Table 6: Percentage Receiving Services, Above & Below Poverty Line"=2))%>%
    kable_styling(fixed_thead = TRUE)%>%
  scroll_box(width = "100%", height = "100%")
Table 6: Percentage Receiving Services, Above & Below Poverty Line
Below Poverty Level Above Poverty Level
17.5 31.6
povline1 <- povline %>%
  pivot_longer(Below_Poverty_Line:Above_Poverty_Line, names_to = "Poverty_Level", values_to = "Percentage")

ggplot(data = povline1) +
  geom_bar(mapping = aes(x = Poverty_Level, y = Percentage), stat = "identity", position = "dodge") +
  labs(title = "Graph 4: Percentage Receiving Services", 
       subtitle = "Above & Below Poverty Line, 2019", x = "Poverty Line", y = "Percentage Treated")

Two Proportion z-test

  • Null Hypothesis: The proportions of individuals living above the poverty line receiving mental health services and individuals living below the poverty line receiving mental health services are equal.
  • Alternate Hypothesis: The proportions are not equal.

p1 = 34360/108734 = 0.316 p2 = 5578/31874 = 0.175

Following the two-tailed z-test, with a significance level of p<.01, z = 49.089, the result is statistically significant. I can reject the null hypothesis and conclude that the proportions are not equal (and are statistically different).

This preliminary research indicates that there are differences in the amount/proportion of individuals who receive mental health treatment and services in relationship to poverty level. While there is more research (and sounder research) needed, this piece of data indicates that mental health treatment is not equitable in the United States.


Perceived Unmet Need for Mental Health Services

While I do not analyze this next portion of data, I wanted to include some tables and basic visualizations because I find the information interesting and would continue research or further studies on the perceived unmet needs of treatment.

unmetnum <- read_excel("~/DACSS601_R/Data/US_mentalhealth.xlsx", "Sheet1", skip = 1)
## New names:
## * `Total (2019)` -> `Total (2019)...2`
## * `Total (2020)` -> `Total (2020)...3`
## * `Total (2019)` -> `Total (2019)...10`
## * `Total (2020)` -> `Total (2020)...11`
unmetnum <- unmetnum %>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "Geographic Region"))%>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "County Type"))%>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "Poverty Level"))%>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "Education Level"))%>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "Health Insurance"))

unmetnum <- unmetnum %>%
  select("Geographic/Socioeconomic Characteristics", "Total (2019)...10", "Received Services (2019)", "Services Not Received (2019)")%>%
  rename(Geographic_Socioeconomic_Characteristics="Geographic/Socioeconomic Characteristics", Total="Total (2019)...10", Received_Services="Received Services (2019)", Services_Not_Received="Services Not Received (2019)")

unmetnum <- unmetnum %>%
  filter(Geographic_Socioeconomic_Characteristics=="Northeast"|
           Geographic_Socioeconomic_Characteristics=="Midwest"|
           Geographic_Socioeconomic_Characteristics=="South"|
           Geographic_Socioeconomic_Characteristics=="West"|
           Geographic_Socioeconomic_Characteristics=="Less than 100%"|
           Geographic_Socioeconomic_Characteristics=="100% - 199%"|
           Geographic_Socioeconomic_Characteristics=="200% or More"|
           Geographic_Socioeconomic_Characteristics=="Private"|
           Geographic_Socioeconomic_Characteristics=="Medicaid/CHIP"|
           Geographic_Socioeconomic_Characteristics=="Other"|
           Geographic_Socioeconomic_Characteristics=="No Coverage")%>%
  mutate(Geographic_Socioeconomic_Characteristics = case_when(
    Geographic_Socioeconomic_Characteristics == "Northeast" ~ "Northeast Region",
    Geographic_Socioeconomic_Characteristics == "Midwest" ~ "Midwest Region",
    Geographic_Socioeconomic_Characteristics == "South" ~ "South Region",
    Geographic_Socioeconomic_Characteristics == "West" ~ "West Region",
    Geographic_Socioeconomic_Characteristics == "Less than 100%" ~ "Poverty Level less than 100%",
    Geographic_Socioeconomic_Characteristics == "100% - 199%" ~ "Poverty Level 100%-199%",
    Geographic_Socioeconomic_Characteristics == "200% or More" ~ "Poverty Level more than 200%",
    Geographic_Socioeconomic_Characteristics == "Private" ~ "Private Insurance",
    Geographic_Socioeconomic_Characteristics == "Medicaid/CHIP" ~ "Medicaid/CHIP Insurance",
    Geographic_Socioeconomic_Characteristics == "Other" ~ "Other Insurance",
    Geographic_Socioeconomic_Characteristics == "No Coverage" ~ "No Insurance Coverage"
  ))

kable(unmetnum, col.names = c("Geographic/Socioeconomic Characteristics", "Total", "Received Services", "Services Not Received"), 
      align = c('c', 'c', 'c', 'c')) %>%
  add_header_above(c("Table 7: Number of Individuals with a Perceived Unmet Need for Mental Health Services by Geographic/Socioeconomic Characteristics (in thousands), 2019"=4))%>%
    kable_styling(fixed_thead = TRUE)%>%
  scroll_box(width = "100%", height = "100%")
Table 7: Number of Individuals with a Perceived Unmet Need for Mental Health Services by Geographic/Socioeconomic Characteristics (in thousands), 2019
Geographic/Socioeconomic Characteristics Total Received Services Services Not Received
Northeast Region 2673 1408 1253
Midwest Region 3754 2095 1646
South Region 5868 2973 2894
West Region 4302 2097 2203
Poverty Level less than 100% 2814 1735 1078
Poverty Level 100%-199% 3824 2034 1790
Poverty Level more than 200% 9738 4704 5007
Private Insurance 10270 5044 5200
Medicaid/CHIP Insurance 3617 2322 1294
Other Insurance 2297 1526 771
No Insurance Coverage 1994 762 1231
unmetperc <- read_excel("~/DACSS601_R/Data/US_mentalhealth.xlsx", "Sheet2", skip = 1)
## New names:
## * `Total (2019)` -> `Total (2019)...2`
## * `Total (2020)` -> `Total (2020)...3`
## * `Total (2019)` -> `Total (2019)...10`
## * `Total (2020)` -> `Total (2020)...11`
unmetperc <- unmetperc %>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "Geographic Region"))%>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "County Type"))%>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "Poverty Level"))%>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "Education Level"))%>%
  filter(!str_detect(`Geographic/Socioeconomic Characteristics`, "Health Insurance"))

unmetperc <- unmetperc %>%
  select("Geographic/Socioeconomic Characteristics", "Total (2019)...10", "Received Services (2019)", "Services Not Received (2019)")%>%
  rename(Geographic_Socioeconomic_Characteristics="Geographic/Socioeconomic Characteristics", Total="Total (2019)...10", Received_Services="Received Services (2019)", Services_Not_Received="Services Not Received (2019)")

unmetperc <- unmetperc %>%
  filter(Geographic_Socioeconomic_Characteristics=="Northeast"|
           Geographic_Socioeconomic_Characteristics=="Midwest"|
           Geographic_Socioeconomic_Characteristics=="South"|
           Geographic_Socioeconomic_Characteristics=="West"|
           Geographic_Socioeconomic_Characteristics=="Less than 100%"|
           Geographic_Socioeconomic_Characteristics=="100% - 199%"|
           Geographic_Socioeconomic_Characteristics=="200% or More"|
           Geographic_Socioeconomic_Characteristics=="Private"|
           Geographic_Socioeconomic_Characteristics=="Medicaid/CHIP"|
           Geographic_Socioeconomic_Characteristics=="Other"|
           Geographic_Socioeconomic_Characteristics=="No Coverage")%>%
  mutate(Geographic_Socioeconomic_Characteristics = case_when(
    Geographic_Socioeconomic_Characteristics == "Northeast" ~ "Northeast Region",
    Geographic_Socioeconomic_Characteristics == "Midwest" ~ "Midwest Region",
    Geographic_Socioeconomic_Characteristics == "South" ~ "South Region",
    Geographic_Socioeconomic_Characteristics == "West" ~ "West Region",
    Geographic_Socioeconomic_Characteristics == "Less than 100%" ~ "Poverty Level less than 100%",
    Geographic_Socioeconomic_Characteristics == "100% - 199%" ~ "Poverty Level 100%-199%",
    Geographic_Socioeconomic_Characteristics == "200% or More" ~ "Poverty Level more than 200%",
    Geographic_Socioeconomic_Characteristics == "Private" ~ "Private Insurance",
    Geographic_Socioeconomic_Characteristics == "Medicaid/CHIP" ~ "Medicaid/CHIP Insurance",
    Geographic_Socioeconomic_Characteristics == "Other" ~ "Other Insurance",
    Geographic_Socioeconomic_Characteristics == "No Coverage" ~ "No Insurance Coverage"
  ))

kable(unmetperc, col.names = c("Geographic/Socioeconomic Characteristics", "Total", "Received Services", "Services Not Received"), 
      align = c('c', 'c', 'c', 'c')) %>%
  add_header_above(c("Table 8: Percentage of Individuals with a Perceived Unmet Need for Mental Health Services by Geographic/Socioeconomic Characteristics, 2019"=4))%>%
    kable_styling(fixed_thead = TRUE)%>%
  scroll_box(width = "100%", height = "100%")
Table 8: Percentage of Individuals with a Perceived Unmet Need for Mental Health Services by Geographic/Socioeconomic Characteristics, 2019
Geographic/Socioeconomic Characteristics Total Received Services Services Not Received
Northeast Region 6.1 18.9 3.5
Midwest Region 7.2 21.6 3.9
South Region 6.2 22.1 3.6
West Region 7.3 22.3 4.4
Poverty Level less than 100% 8.8 31.3 4.1
Poverty Level 100%-199% 8.1 27.7 4.5
Poverty Level more than 200% 5.8 17.5 3.5
Private Insurance 6.2 18.9 3.8
Medicaid/CHIP Insurance 10.2 28.7 4.8
Other Insurance 3.3 14.0 1.3
No Insurance Coverage 7.8 38.0 5.2

Geographic Region

geoperc <- unmetperc %>%
  filter(Geographic_Socioeconomic_Characteristics=="Northeast Region"|
         Geographic_Socioeconomic_Characteristics=="Midwest Region"|
         Geographic_Socioeconomic_Characteristics=="South Region"|
         Geographic_Socioeconomic_Characteristics=="West Region")%>%
  select(Geographic_Socioeconomic_Characteristics, Total, Received_Services, Services_Not_Received)%>%
  rename(Geographic_Region=Geographic_Socioeconomic_Characteristics)

geoperc <- geoperc[, c("Geographic_Region", "Received_Services", "Services_Not_Received", "Total")]

geoperc1 <- geoperc %>%
  pivot_longer(c(Received_Services, Services_Not_Received), names_to = "Service_Receival", values_to = "Percentage")%>%
  select(Geographic_Region, Service_Receival, Percentage)

ggplot(data = geoperc1) +
  geom_bar(mapping = aes(x = Service_Receival, y = Percentage, fill = Geographic_Region), stat = "identity", position = "dodge") +
  labs(title = "Graph 5: Percentage of Individuals with Perception of Unmet Mental Health Needs", 
       subtitle = "by Geographic Region, 2019", x = "Service Receival", y = "Percentage with Unmet Needs")

Poverty Level

povperc <- unmetperc %>%
  filter(Geographic_Socioeconomic_Characteristics=="Poverty Level less than 100%"|
         Geographic_Socioeconomic_Characteristics=="Poverty Level 100%-199%"|
         Geographic_Socioeconomic_Characteristics=="Poverty Level more than 200%")%>%
  select(Geographic_Socioeconomic_Characteristics, Total, Received_Services, Services_Not_Received)%>%
  rename(Poverty_Level=Geographic_Socioeconomic_Characteristics)

povperc <- povperc[, c("Poverty_Level", "Received_Services", "Services_Not_Received", "Total")]

povperc1 <- povperc %>%
  pivot_longer(c(Received_Services, Services_Not_Received), names_to = "Service_Receival", values_to = "Percentage")%>%
  select(Poverty_Level, Service_Receival, Percentage)

ggplot(data = povperc1) +
  geom_bar(mapping = aes(x = Service_Receival, y = Percentage, fill = Poverty_Level), stat = "identity", position = "dodge") +
  labs(title = "Graph 6: Percentage of Individuals with Perception of Unmet Mental Health Needs", 
       subtitle = "by Poverty Level, 2019", x = "Service Receival", y = "Percentage with Unmet Needs")

Type of Insurance

insuranceperc <- unmetperc %>%
  filter(Geographic_Socioeconomic_Characteristics=="Private Insurance"|
         Geographic_Socioeconomic_Characteristics=="Medicaid/CHIP Insurance"|
         Geographic_Socioeconomic_Characteristics=="Other Insurance"|
         Geographic_Socioeconomic_Characteristics=="No Insurance Coverage")%>%
  select(Geographic_Socioeconomic_Characteristics, Total, Received_Services, Services_Not_Received)%>%
  rename(Insurance_Type=Geographic_Socioeconomic_Characteristics)

insuranceperc <- insuranceperc[, c("Insurance_Type", "Received_Services", "Services_Not_Received", "Total")]

insuranceperc1 <- insuranceperc %>%
  pivot_longer(c(Received_Services, Services_Not_Received), names_to = "Service_Receival", values_to = "Percentage")%>%
  select(Insurance_Type, Service_Receival, Percentage)

ggplot(data = insuranceperc1) +
  geom_bar(mapping = aes(x = Service_Receival, y = Percentage, fill = Insurance_Type), stat = "identity", position = "dodge") +
  labs(title = "Graph 7: Percentage of Individuals with Perception of Unmet Mental Health Needs", 
       subtitle = "by Insurance Type, 2019", x = "Service Receival", y = "Percentage with Unmet Needs")


Reflection and Conclusion

I found this project very interesting but challenging. Working with datasets and topics that are personally compelling definitely makes the process more enjoyable. Plus, mental health treatment/services necessitate attention nowadays as there continues to be a push for mental health advocacy, de-stigmatization, and accessible treatment. Engaging in research like this projects attempts to initiate are essential to understanding utilization of services and need for services. Potential implications of studies like this is to influence policy on treatment accessibility to the public and advocacy to increased services. While I did not elaborate on type of insurance, I wanted to include this variable (that could be a great topic for future research) because insurance coverage and affordability are one of the barriers people face when attempting to access mental health services (according to former research stated in my introduction section). For the visualization of the data, I chose to display data on counts first. However, the counts made it seem that there were massive differences in the geographic/socioeconomic variables for treatment. Therefore, I added tables with percentages of individuals receiving treatment, etc. to account for the differences in population size for the categories. Bar graphs seemed most appropriate to represent the different variables because it allowed for clear visualization of the different categories within a variable by stacking bins next to each other. Particularly, comparing the bar graphs of counts with the bar graphs of percentages shows how misleading the counts can be. I considered using facetwraps with some of the graphs to allow for easier comparison and cross-observation between characteristics/variables. It may also make for a more succinct presentation of findings. However, I decided to lay everything out in its own section for this project to keep each variable separate due to the fact that they were independent of each other. The largest flaw of this research is that I am uncertain that I selected the correct statistical test to run on the proportion of individuals receiving treatment based upon their poverty status. This is something for the future that I would want to focus more on. However, just the practice cleaning data and presenting it in clear and visual ways was very helpful for someone very new to the world of coding and analysis.

Citations

  1. Center for Behavioral Health Statistics and Quality. (2021). Results from the 2020 National Survey on Drug Use and Health: Detailed tables. Rockville, MD: Substance Abuse and Mental Health Services Administration. Retrieved from https://www.samhsa.gov/data/

  2. Center for Behavioral Health Statistics and Quality. (2021). 2020 National Survey on Drug Use and Health (NSDUH): Methodological summary and definitions. Rockville, MD: Substance Abuse and Mental Health Services Administration. Retrieved from https://www.samhsa.gov/data/