Instruction
Introduction
Overall
food insecurity rate by state 2022
Child
Food Insecurity Rate by State (2022)
Older
Adult Food Insecurity Rate by State (2022)
Poverty
Rates by State (2022)
Correlation
between Food Insecurity and Poverty
Households
With Children Consistently Face Higher Food Insecurity
Food
Insecurity Trends by Race
Conclusion
The United Nations Food and Agriculture Organization publication, The State of Food Security and Nutrition in the World 2022 (https://www.fao.org/documents/card/en/c/cc0639en) might lead one to the conclusion that it’s an elsewhere problem. That the people who are suffering malnutrition and starvation are “elsewhere”, not in our backyard. For this assignment you will need to take a closer look here at home (the US)
Notes:
You will need to locate and source data that reflects food security and nutrition by state broken down by men, women, children and by age groups
Your analysis should demonstrate correlations that exist between level of poverty and food insecurity, malnutrition and starvation.
Your data and analysis should also indicate what happens to the children as they mature into adults. Will they become fully functional citizens or will they require continued support?
You data visualizations need to tell the story for a political audience that you were lobbying to address the issue of food insecurity in the US
Food insecurity remains a critical challenge in the United States, affecting millions of individuals and households each year. It is influenced by a complex interplay of economic, demographic, and geographic factors, including poverty, household composition, age, and race/ethnicity. Understanding these patterns is essential for designing effective policies and programs to ensure all Americans have consistent access to adequate, nutritious food. This analysis examines food insecurity across the U.S. in 2022–2023 using state-level and household-level data. It explores overall trends, disparities among children and older adults, differences by household type and race/ethnicity, and the relationship between food insecurity and poverty. Through maps, trend analyses, and correlation visualizations, this study aims to highlight vulnerable populations and inform strategies to reduce food insecurity nationwide.
Overall food insecurity
rate by state 2022
The map below illustrates the overall food insecurity rate across U.S. states in 2022. Using data from the 2022 dataset and U.S. Census TIGER/Line shapefiles, each state is shaded according to its reported proportion of food-insecure individuals. Darker shades represent higher rates of food insecurity, allowing for a clear visual comparison of geographic patterns and disparities across the country. Alaska, Hawaii, and Puerto Rico were excluded to maintain focus on the contiguous United States.
library(dplyr)
library(ggplot2)
library(sf)
library(tigris)
library(tidyverse)
# Load data
# df <- read.csv("https://raw.githubusercontent.com/BIKASHBHOWMIK15/data-608/main/MMG2024_2022_Data.csv", stringsAsFactors = FALSE)
df <- read.csv("D://Cuny_sps//DATA_608//Story-6//MMG2024_2022_Data.csv", stringsAsFactors = FALSE)
poverty <- read.csv("D://Cuny_sps//DATA_608//Story-6//poverty.csv")# Prepare data
data_2022o <- df %>%
filter(Year == 2022) %>%
mutate(Overall_Food_Insecurity_Rate = as.numeric(gsub("%", "", `Overall.Food.Insecurity.Rate`))) %>%
select(State, State.Name, Overall_Food_Insecurity_Rate)
# Load state geometries
us_states <- tigris::states(cb = TRUE, year = 2022) %>%
filter(!STUSPS %in% c("PR", "HI", "AK"))
# Join data to geographies
map_data <- us_states %>%
left_join(data_2022o, by = c("STUSPS" = "State"))
# ---- Find Top 5 Most Food Insecure States ----
top5 <- map_data %>%
st_drop_geometry() %>% # Drop geometry to work with table
arrange(desc(Overall_Food_Insecurity_Rate)) %>%
slice(1:5) %>% # <-- Change from 1:3 to 1:5
select(STUSPS)
# Extract labels with centroids
label_data <- map_data %>%
filter(STUSPS %in% top5$STUSPS) %>%
mutate(centroid = st_centroid(geometry),
longitude = st_coordinates(centroid)[,1],
latitude = st_coordinates(centroid)[,2])
# ---- Map with top 3 labeled ----
ggplot(data = map_data) +
geom_sf(aes(fill = Overall_Food_Insecurity_Rate), color = "white", size = 0.2) +
scale_fill_gradient(low = "#FFCCCC", high = "#990000", na.value = "grey90",
name = "Food Insecurity (%)") +
# Top 3 state labels
geom_text(
data = label_data,
aes(x = longitude, y = latitude, label = STUSPS),
size = 4, fontface = "bold", color = "black"
) +
labs(
title = "Food Insecurity Is Not Evenly Distributed Across the U.S.: Southern States Face the Highest Risk (2022)",
subtitle = "Highlights show the Five states with the highest food insecurity rates.",
caption = "Source: USDA, 2022"
) +
theme_minimal() +
coord_sf(xlim = c(-125, -65), ylim = c(25, 50), expand = FALSE) +
theme(
axis.text = element_blank(),
axis.ticks = element_blank(),
panel.grid = element_blank()
)The choropleth reveals notable regional differences in food insecurity. States with darker shading—typically concentrated in certain areas—show higher levels of vulnerability, whereas lighter shaded states appear to have comparatively lower food insecurity rates. This visualization helps highlight where additional resources, interventions, or policy efforts may be most needed. Further examination could explore how these differences relate to socioeconomic factors such as poverty rates, employment levels, or access to federal assistance programs.
Child Food Insecurity
Rate by State (2022)
The following map displays the child food insecurity rate across U.S. states in 2022. Using the 2022 dataset, each state is shaded based on the percentage of children living in households that lack consistent access to adequate food. Darker shades indicate higher rates of child food insecurity, highlighting areas where children may be at greater nutritional and economic risk. Alaska, Hawaii, and Puerto Rico are excluded to focus on the contiguous United States and maintain a consistent geographic scale.
# Prepare data for 2022
data_2022 <- df %>%
filter(Year == 2022) %>%
mutate(Child_Food_Insecurity_Rate = as.numeric(gsub("%", "", `Child.Food.Insecurity.Rate`))) %>%
select(State, State.Name, Child_Food_Insecurity_Rate)
# Load US state geometries
us_states <- tigris::states(cb = TRUE, year = 2022) %>%
filter(!STUSPS %in% c("PR", "HI", "AK"))
# Join data with geometries
map_data <- us_states %>%
left_join(data_2022, by = c("STUSPS" = "State"))
# ---- Find Top 5 States for Child Food Insecurity ----
top5 <- map_data %>%
st_drop_geometry() %>%
arrange(desc(Child_Food_Insecurity_Rate)) %>%
slice(1:5) %>% # Change from 1:3 to 1:5
select(STUSPS)
# Extract centroids for labeling
label_data <- map_data %>%
filter(STUSPS %in% top5$STUSPS) %>%
mutate(
centroid = st_centroid(geometry),
longitude = st_coordinates(centroid)[,1],
latitude = st_coordinates(centroid)[,2]
)
# ---- Map with top 5 states labeled ----
ggplot(data = map_data) +
geom_sf(aes(fill = Child_Food_Insecurity_Rate), color = "white", size = 0.2) +
scale_fill_gradient(low = "#FFCCCC", high = "#990000", na.value = "grey90",
name = "Child Food Insecurity Rate (%)") +
geom_text(
data = label_data,
aes(x = longitude, y = latitude, label = STUSPS),
size = 4, fontface = "bold", color = "black"
) +
labs(
title = "Children Face Disproportionately High Food Insecurity in Many Southern States (2022)",
subtitle = "Top 5 states with the highest child food insecurity are labeled",
caption = "Source: USDA, 2022"
) +
theme_minimal() +
coord_sf(xlim = c(-125, -65), ylim = c(25, 50), expand = FALSE) +
theme(
axis.text = element_blank(),
axis.ticks = element_blank(),
panel.grid = element_blank()
)The visualization reveals clear disparities in child food insecurity across states. States shaded more intensely tend to face greater challenges related to child poverty, access to affordable food, and household economic stability. Identifying these geographic patterns is an important step toward understanding where targeted policy interventions, school meal programs, or community support initiatives may be most urgently needed. Further exploration could compare these rates with overall food insecurity, poverty levels, or demographic factors to better understand the underlying drivers.
Older Adult Food
Insecurity Rate by state (2022)
The map below presents the older adult food insecurity rate across U.S. states in 2022. This visualization highlights the percentage of adults aged 60 and older who experience limited or uncertain access to sufficient food. By shading states according to their reported rates, the map illustrates where older adults may be disproportionately affected by economic hardship, limited mobility, or gaps in social support systems. Alaska, Hawaii, and Puerto Rico are excluded to keep the focus on the contiguous United States.
# Prepare data for 2022
data_2022 <- df %>%
filter(Year == 2022) %>%
mutate(Older_Adult_Food_Insecurity_Rate = as.numeric(gsub("%", "", `Older.Adult.Food.Insecurity.Rate`))) %>%
select(State, State.Name, Older_Adult_Food_Insecurity_Rate)
# Load US state geometries
us_states <- tigris::states(cb = TRUE, year = 2022) %>%
filter(!STUSPS %in% c("PR", "HI", "AK"))
# Join data with geometries
map_data <- us_states %>%
left_join(data_2022, by = c("STUSPS" = "State"))
# ---- Find Top 5 States for Child Food Insecurity ----
top5 <- map_data %>%
st_drop_geometry() %>%
arrange(desc(Older_Adult_Food_Insecurity_Rate)) %>%
slice(1:5) %>% # now selecting top 5
select(STUSPS)
# Extract centroids for labeling
label_data <- map_data %>%
filter(STUSPS %in% top5$STUSPS) %>%
mutate(
centroid = st_centroid(geometry),
longitude = st_coordinates(centroid)[,1],
latitude = st_coordinates(centroid)[,2]
)
# ---- Map with top 5 states labeled ----
ggplot(data = map_data) +
geom_sf(aes(fill = Older_Adult_Food_Insecurity_Rate), color = "white", size = 0.2) +
scale_fill_gradient(low = "#FFCCCC", high = "#990000", na.value = "grey90",
name = "Older Adult Food Insecurity Rate (%)") +
geom_text(
data = label_data,
aes(x = longitude, y = latitude, label = STUSPS),
size = 4, fontface = "bold", color = "black"
) +
labs(
title = "Older Adults Face Elevated Food Insecurity Across Several States (2022)",
subtitle = "Top 5 states with the highest older adult food insecurity are labeled",
caption = "Source: USDA, 2022"
) +
theme_minimal() +
coord_sf(xlim = c(-125, -65), ylim = c(25, 50), expand = FALSE) +
theme(
axis.text = element_blank(),
axis.ticks = element_blank(),
panel.grid = element_blank(),
plot.title = element_text(size = 16, face = "bold"),
plot.subtitle = element_text(size = 13),
plot.caption = element_text(size = 10)
)The results of the map indicate a clear variation in older adult food insecurity across the country. States shown in deeper red tones experience higher levels of need among seniors, potentially reflecting challenges such as inadequate retirement income, higher healthcare costs, or limited access to food assistance programs. Understanding these geographic disparities is essential for designing targeted interventions—such as expanded senior nutrition services, transportation support, or community outreach—to ensure older adults have reliable access to food. Further analysis could compare these findings with overall and child food insecurity rates to identify broader trends and shared risk factors.
The map below illustrates the poverty rate across U.S. states in 2022, using merged data from the food insecurity dataset and a separate poverty dataset. Each state is shaded based on its overall poverty percentage, with darker shades of red indicating higher levels of economic hardship. This visualization provides a geographic overview of where poverty is most concentrated in the contiguous United States and helps contextualize socioeconomic conditions that may also influence food insecurity patterns.
# Merge poverty data with 2022 food insecurity data
merged_data <- left_join(data_2022o, poverty, by = c("State.Name" = "state"))
# Join with US state geometries
map_data <- us_states %>%
left_join(merged_data, by = c("STUSPS" = "State"))
# ---- Find Top 5 States for Poverty ----
top5 <- map_data %>%
st_drop_geometry() %>%
arrange(desc(povertyPercentage)) %>%
slice(1:5) %>% # selecting top 5
select(STUSPS)
# Extract centroids for labeling
label_data <- map_data %>%
filter(STUSPS %in% top5$STUSPS) %>%
mutate(
centroid = st_centroid(geometry),
longitude = st_coordinates(centroid)[,1],
latitude = st_coordinates(centroid)[,2]
)
# ---- Map with top 5 states labeled ----
ggplot(data = map_data) +
geom_sf(aes(fill = povertyPercentage), color = "white", size = 0.2) +
scale_fill_gradient(low = "white", high = "red", na.value = "grey90",
name = "Poverty Rate (%)") +
geom_text(
data = label_data,
aes(x = longitude, y = latitude, label = STUSPS),
size = 4, fontface = "bold", color = "black"
) +
labs(
title = "Poverty Is Concentrated in the Same Regions with High Food Insecurity (2022)",
subtitle = "Top 5 states with the highest poverty rates are labeled",
caption = "Source: USDA, 2022"
) +
theme_minimal() +
coord_sf(xlim = c(-125, -65), ylim = c(25, 50), expand = FALSE) +
theme(
axis.text = element_blank(),
axis.ticks = element_blank(),
panel.grid = element_blank(),
plot.title = element_text(size = 16, face = "bold"),
plot.subtitle = element_text(size = 14),
plot.caption = element_text(size = 10)
)The map reveals clear regional disparities in poverty across the country. States shaded more deeply in red exhibit higher poverty rates, suggesting increased economic vulnerability among their populations. Understanding where poverty is most prevalent can help inform policy decisions, resource allocation, and future research on related issues such as food insecurity, income inequality, and access to social support programs. Comparing this map with the food insecurity maps created earlier may also highlight important correlations between poverty levels and food access challenges.
Correlation between
Food Insecurity and Poverty
The scatter plot below examines the relationship between state-level poverty rates and overall food insecurity rates in 2022. Each point represents a U.S. state, with poverty rate on the x-axis and food insecurity rate on the y-axis. A linear regression line is added to highlight the general trend. This visualization helps assess whether higher poverty levels are associated with increased food insecurity across states.
# ---- Find Top 5 States by Food Insecurity ----
top5_states <- merged_data %>%
arrange(desc(Overall_Food_Insecurity_Rate)) %>%
slice(1:5)
# ---- Scatter Plot with Labels ----
ggplot(merged_data, aes(x = povertyPercentage, y = Overall_Food_Insecurity_Rate)) +
geom_point(color = "red", size = 3) + # Points for each state
geom_smooth(method = "lm", color = "blue", linetype = "dashed") + # Linear trend line
geom_text(
data = top5_states,
aes(label = State.Name),
vjust = -1, # position label above the point
color = "black",
fontface = "bold",
size = 3
) +
labs(
title = "Higher Poverty Rates Strongly Predict Higher Food Insecurity Across States (2022)",
subtitle = "Top 5 most food-insecure states are labeled",
caption = "A linear trend confirms poverty is a major structural driver of food insecurity."
) +
theme_minimal() +
theme(
axis.text = element_text(size = 12),
axis.title = element_text(size = 14),
plot.title = element_text(size = 16, face = "bold"),
plot.subtitle = element_text(size = 14),
plot.caption = element_text(size = 10)
)The scatter plot shows a clear positive relationship between poverty rates and overall food insecurity. States with higher poverty percentages tend to report higher food insecurity levels, as indicated by the upward-sloping regression line. While individual states may vary, the overall trend supports the idea that economic hardship is a significant driver of food access challenges. This relationship underscores the importance of policies that address both poverty reduction and food assistance, as improvements in one area may positively influence the other.
Households With
Children Consistently Face Higher Food Insecurity
The chart below examines trends in food insecurity among different household types over time. Using national household-level food security data, the visualization compares food insecurity rates for households with children and those without children. By plotting these categories across multiple years, the graph highlights persistent differences in vulnerability based on household composition. This helps reveal whether certain household structures consistently experience higher rates of food insecurity.
household <- read.csv("D://Cuny_sps//DATA_608//Story-6//foodsecurity_all_households_2023.csv")
trend_data <- household %>%
filter(Category == "Household composition") %>%
filter(is.na(`Sub.subcategory`) | `Sub.subcategory` == "") %>%
select(Year, Subcategory, `Food.insecure.percent`) %>%
filter(!is.na(`Food.insecure.percent`))
ggplot(trend_data, aes(x = Year, y = `Food.insecure.percent`, color = Subcategory, group = Subcategory)) +
geom_line() +
geom_point() +
labs(
title = "Households with Children Consistently Experience Higher Food Insecurity",
subtitle = "Across all years, families raising children report significantly higher food insecurity rates.",
caption = "Households with children—especially single-parent households—face greater economic vulnerabilities."
) +
theme_minimal() +
theme(
axis.text.x = element_text(angle = 45, hjust = 1),
plot.title = element_text(face = "bold", size = 16),
plot.subtitle = element_text(size = 13),
plot.caption = element_text(size = 10, face = "italic")
)The line chart shows a clear and consistent pattern: households with children experience higher food insecurity rates than those without children across every year represented. Although both groups show some fluctuations over time, the gap between them remains noticeable, suggesting structural challenges faced by families raising children. These disparities may be influenced by childcare costs, housing expenses, limited wages, or gaps in access to nutrition programs. The trend emphasizes the importance of targeted policies and support programs aimed at families with children in order to reduce national food insecurity levels.
The visualization below explores food insecurity trends among single-parent households, comparing households led by a female head with no spouse to those led by a male head with no spouse. These two household types often face different economic pressures, including wage disparities, childcare responsibilities, and availability of support systems. By examining year-to-year changes in their food insecurity rates, the graph highlights how gender dynamics within single-parent households may influence household vulnerability.
trend_data <- household %>%
filter(Sub.subcategory == "Female head, no spouse" |
Sub.subcategory == "Male head, no spouse") %>%
select(Year, Sub.subcategory, `Food.insecure.percent`) %>%
filter(!is.na(`Food.insecure.percent`))
ggplot(trend_data, aes(x = Year, y = `Food.insecure.percent`,
color = Sub.subcategory, group = Sub.subcategory)) +
geom_line(size = 1) +
geom_point(size = 2) +
labs(
title = "Single-Mother Households Face the Highest and Most Persistent Food Insecurity",
subtitle = "Economic inequality, wage gaps, and childcare burdens leave female-headed households at elevated risk.",
x = "Year",
y = "Food Insecure Percent (%)",
caption = "Across all years, food insecurity rates for female-headed households exceed those for male-headed households."
) +
theme_minimal() +
theme(
axis.text.x = element_text(angle = 45, hjust = 1),
plot.title = element_text(size = 16, face = "bold"),
plot.subtitle = element_text(size = 12),
plot.caption = element_text(size = 10, face = "italic")
)The results show a persistent and significant gap: single-parent households led by women experience higher food insecurity rates than those led by men across every year shown. While both groups face elevated levels of economic strain compared to two-parent households, the consistently higher rates for female-headed households reflect broader issues such as gender wage inequality, higher caregiving burdens, and limited access to economic opportunities. These findings underscore the need for targeted support—such as childcare subsidies, income assistance, and expanded nutrition programs—to address the disproportionate challenges faced by single mothers.
Food Insecurity Trends
by Race
The following chart presents trends in food insecurity by race and ethnicity among U.S. households over time. By comparing food insecurity rates across demographic groups, this visualization highlights long-standing disparities that reflect broader structural and socioeconomic inequalities. Plotting these changes year by year helps illustrate whether gaps between racial and ethnic groups are widening, narrowing, or remaining persistent.
trend_data <- household %>%
filter(Category == "Race/ethnicity of households") %>%
select(Year, Subcategory, `Food.insecure.percent`) %>%
filter(!is.na(`Food.insecure.percent`))
ggplot(trend_data, aes(x = Year, y = `Food.insecure.percent`, color = Subcategory, group = Subcategory)) +
geom_line() +
geom_point()+
labs(
title = "Food Insecurity Remains Significantly Higher for Black and Hispanic Households",
subtitle = "These disparities persist year after year, reflecting structural inequities.",
caption = "Gaps do not close over time, indicating long-term systemic drivers of food insecurity."
) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) # Rotate x-axis labels for readabilityThe trend lines reveal a consistent pattern: food insecurity rates are higher among Black and Hispanic households compared to other racial and ethnic groups throughout the entire time period shown. Although year-to-year fluctuations occur, the disparities remain pronounced, reflecting systemic factors such as wage gaps, employment barriers, housing inequality, and unequal access to social safety-net programs. These persistent differences underscore the need for targeted, equity-focused policies and interventions that address the root causes of racial and ethnic disparities in food security.
This analysis highlights that food insecurity in the U.S. is strongly linked to poverty, household composition, and demographic factors. State-level maps show higher food insecurity in certain regions, with children and older adults particularly vulnerable. Households with children and single-parent households led by women consistently face the highest rates, while Black and Hispanic households experience persistently elevated food insecurity compared to other racial and ethnic groups.
Correlation analysis confirms that higher poverty rates are associated with higher food insecurity, emphasizing the role of economic inequality. These findings indicate that addressing food insecurity requires comprehensive, targeted policies—such as income support, nutrition programs, and interventions aimed at vulnerable populations—to reduce disparities and ensure equitable access to food across all communities.