The data from the Census Application Programming Interface (API) show the percentage of individuals, aged 25 and older, in Tennessee’s 95 counties who have attained a bachelor’s degree or higher. Williamson County ranked first with 62.7%, while Rutherford County, home to Middle Tennessee State University, ranked sixth at 35.8%. Lake County, on the other hand, ranked last with an estimate of only 9.4%.
The findings reveal a significant educational divide across Tennessee. Williamson County’s attainment rate is significantly higher than Lake County’s. It appears that counties surrounding the Nashville Metropolitan Statistical Area generally have the highest educational attainment rates in the state. This suggests that access to higher education, professional development opportunities, and economic growth may be associated with higher levels of educational achievement.
| County | Variable | Estimate | Margin of Error |
|---|---|---|---|
| Williamson County, Tennessee | DP02_0068P | 62.7 | 1.0 |
| Davidson County, Tennessee | DP02_0068P | 48.4 | 0.6 |
| Knox County, Tennessee | DP02_0068P | 41.0 | 0.8 |
| Wilson County, Tennessee | DP02_0068P | 37.8 | 1.7 |
| Hamilton County, Tennessee | DP02_0068P | 37.5 | 0.9 |
| Rutherford County, Tennessee | DP02_0068P | 35.8 | 1.0 |
| Shelby County, Tennessee | DP02_0068P | 34.3 | 0.6 |
| Washington County, Tennessee | DP02_0068P | 34.3 | 1.7 |
| Sumner County, Tennessee | DP02_0068P | 33.6 | 1.3 |
| Montgomery County, Tennessee | DP02_0068P | 31.1 | 1.3 |
| Putnam County, Tennessee | DP02_0068P | 29.8 | 1.9 |
| Loudon County, Tennessee | DP02_0068P | 29.4 | 2.2 |
| Blount County, Tennessee | DP02_0068P | 28.6 | 1.4 |
| Maury County, Tennessee | DP02_0068P | 28.0 | 1.6 |
| Anderson County, Tennessee | DP02_0068P | 27.5 | 1.8 |
| Fayette County, Tennessee | DP02_0068P | 27.3 | 1.7 |
| Sullivan County, Tennessee | DP02_0068P | 26.8 | 1.1 |
| Cheatham County, Tennessee | DP02_0068P | 26.6 | 2.1 |
| Madison County, Tennessee | DP02_0068P | 26.6 | 1.5 |
| Bradley County, Tennessee | DP02_0068P | 24.4 | 1.7 |
| Moore County, Tennessee | DP02_0068P | 24.1 | 5.1 |
| Franklin County, Tennessee | DP02_0068P | 23.9 | 2.0 |
| Marshall County, Tennessee | DP02_0068P | 23.1 | 2.7 |
| Weakley County, Tennessee | DP02_0068P | 22.7 | 2.4 |
| Robertson County, Tennessee | DP02_0068P | 22.4 | 1.7 |
| Roane County, Tennessee | DP02_0068P | 22.1 | 1.5 |
| Chester County, Tennessee | DP02_0068P | 22.0 | 3.3 |
| Dickson County, Tennessee | DP02_0068P | 22.0 | 1.9 |
| Sevier County, Tennessee | DP02_0068P | 21.8 | 1.6 |
| Coffee County, Tennessee | DP02_0068P | 21.4 | 1.6 |
| Unicoi County, Tennessee | DP02_0068P | 21.3 | 3.2 |
| Dyer County, Tennessee | DP02_0068P | 21.1 | 2.8 |
| DeKalb County, Tennessee | DP02_0068P | 20.8 | 3.4 |
| Jefferson County, Tennessee | DP02_0068P | 20.8 | 2.0 |
| Tipton County, Tennessee | DP02_0068P | 20.7 | 1.9 |
| Carter County, Tennessee | DP02_0068P | 20.6 | 1.6 |
| Lincoln County, Tennessee | DP02_0068P | 20.6 | 2.1 |
| Sequatchie County, Tennessee | DP02_0068P | 20.6 | 3.0 |
| Gibson County, Tennessee | DP02_0068P | 20.5 | 1.7 |
| Giles County, Tennessee | DP02_0068P | 20.1 | 2.0 |
| Hamblen County, Tennessee | DP02_0068P | 20.0 | 1.9 |
| Cumberland County, Tennessee | DP02_0068P | 19.1 | 1.4 |
| Henry County, Tennessee | DP02_0068P | 19.1 | 2.0 |
| Pickett County, Tennessee | DP02_0068P | 18.9 | 3.8 |
| Greene County, Tennessee | DP02_0068P | 18.7 | 1.5 |
| McMinn County, Tennessee | DP02_0068P | 18.6 | 1.8 |
| Rhea County, Tennessee | DP02_0068P | 18.6 | 2.6 |
| Smith County, Tennessee | DP02_0068P | 18.5 | 2.3 |
| Obion County, Tennessee | DP02_0068P | 18.3 | 2.0 |
| Claiborne County, Tennessee | DP02_0068P | 18.2 | 2.3 |
| Carroll County, Tennessee | DP02_0068P | 18.1 | 1.9 |
| Stewart County, Tennessee | DP02_0068P | 17.6 | 2.9 |
| Johnson County, Tennessee | DP02_0068P | 17.5 | 2.8 |
| Bedford County, Tennessee | DP02_0068P | 17.2 | 2.2 |
| Marion County, Tennessee | DP02_0068P | 17.1 | 2.2 |
| Monroe County, Tennessee | DP02_0068P | 17.1 | 1.9 |
| Cannon County, Tennessee | DP02_0068P | 16.8 | 3.5 |
| Crockett County, Tennessee | DP02_0068P | 16.6 | 2.5 |
| Polk County, Tennessee | DP02_0068P | 16.6 | 2.5 |
| Hawkins County, Tennessee | DP02_0068P | 16.2 | 1.6 |
| Henderson County, Tennessee | DP02_0068P | 16.1 | 2.8 |
| Grainger County, Tennessee | DP02_0068P | 15.9 | 2.6 |
| Humphreys County, Tennessee | DP02_0068P | 15.7 | 2.3 |
| Lawrence County, Tennessee | DP02_0068P | 15.2 | 1.6 |
| Hardin County, Tennessee | DP02_0068P | 15.1 | 2.2 |
| White County, Tennessee | DP02_0068P | 15.1 | 2.0 |
| Jackson County, Tennessee | DP02_0068P | 15.0 | 2.9 |
| Overton County, Tennessee | DP02_0068P | 15.0 | 2.3 |
| Fentress County, Tennessee | DP02_0068P | 14.6 | 2.5 |
| Haywood County, Tennessee | DP02_0068P | 14.5 | 2.3 |
| Grundy County, Tennessee | DP02_0068P | 14.3 | 2.3 |
| Trousdale County, Tennessee | DP02_0068P | 14.3 | 3.4 |
| Perry County, Tennessee | DP02_0068P | 14.2 | 3.5 |
| Union County, Tennessee | DP02_0068P | 14.2 | 2.4 |
| Warren County, Tennessee | DP02_0068P | 14.1 | 1.8 |
| Decatur County, Tennessee | DP02_0068P | 14.0 | 2.6 |
| Hickman County, Tennessee | DP02_0068P | 13.9 | 2.0 |
| Wayne County, Tennessee | DP02_0068P | 13.8 | 2.2 |
| Van Buren County, Tennessee | DP02_0068P | 13.7 | 3.5 |
| Houston County, Tennessee | DP02_0068P | 13.6 | 3.0 |
| Morgan County, Tennessee | DP02_0068P | 13.6 | 2.4 |
| Meigs County, Tennessee | DP02_0068P | 13.5 | 2.5 |
| McNairy County, Tennessee | DP02_0068P | 13.0 | 1.9 |
| Scott County, Tennessee | DP02_0068P | 12.9 | 2.0 |
| Benton County, Tennessee | DP02_0068P | 12.8 | 2.4 |
| Campbell County, Tennessee | DP02_0068P | 12.7 | 2.2 |
| Macon County, Tennessee | DP02_0068P | 12.5 | 2.5 |
| Bledsoe County, Tennessee | DP02_0068P | 12.4 | 2.5 |
| Hardeman County, Tennessee | DP02_0068P | 12.2 | 2.2 |
| Lauderdale County, Tennessee | DP02_0068P | 12.0 | 1.7 |
| Clay County, Tennessee | DP02_0068P | 11.5 | 2.9 |
| Cocke County, Tennessee | DP02_0068P | 11.0 | 1.8 |
| Hancock County, Tennessee | DP02_0068P | 10.8 | 2.4 |
| Lewis County, Tennessee | DP02_0068P | 10.3 | 2.9 |
| Lake County, Tennessee | DP02_0068P | 9.4 | 2.7 |
Here is the code that produced the analysis, which relied on information from the U.S. Census Bureau’s American Community Survey.
############################################################
# STEP 1: Load Packages
############################################################
if (!require("tidycensus")) install.packages("tidycensus")
if (!require("tidyverse")) install.packages("tidyverse")
if (!require("kableExtra")) install.packages("kableExtra")
library(tidycensus)
library(tidyverse)
library(kableExtra)
############################################################
# STEP 2: Verify Census API Key
############################################################
if (!nzchar(Sys.getenv("CENSUS_API_KEY"))) {
stop(
paste(
"\nNo Census API key was found.",
"\n\nTo obtain a free Census API key, visit:",
"\nhttps://api.census.gov/data/key_signup.html",
"\n\nThen run the one-time setup code at the",
"\ntop of this script to store your key.",
"\n"
)
)
}
############################################################
# STEP 3: Explore 2024 Codebooks and Choose an ACS Variable
############################################################
ProfileTables <- load_variables(2024, "acs5/profile")
# DetailedTables <- load_variables(2024, "acs5")
# SubjectTables <- load_variables(2024, "acs5/subject")
# Replace the variable code below with the ACS variable
# you want to download.
my_variable <- "DP02_0068P" # <<< CAN CHANGE THE VARIABLE CODE
# Example variables:
#
# DP05_0001 = Total population
# DP03_0062 = Median Household Income
# DP03_0128P = Poverty Rate
# DP02_0068P = Bachelor's Degree or Higher Rate
# DP05_0018 = Median Age
# DP04_0046P = Homeownership Rate
# DP04_0134 = Median Gross Rent
# DP04_0142P = Pct. renters paying 35%+ HH income in rent (GRAPI)
# DP05_0090P = Hispanic or Latino Population Percentage
# DP02_0094P = Foreign-Born Percentage
# DP03_0009P = Unemployment Rate
# DP03_0025 = Average Commute Time
############################################################
# STEP 4: Download Tennessee County Data
############################################################
mydata <- get_acs(
geography = "county",
state = "TN", # <<< CAN CHANGE THE STATE
year = 2024,
survey = "acs5",
variables = my_variable
)
############################################################
# STEP 5: Keep Needed Variables
############################################################
mydata <- mydata |>
select(
County = NAME,
Variable = variable,
Estimate = estimate,
Margin_of_Error = moe
)
############################################################
# STEP 6: Sort Results from Highest to Lowest
############################################################
mydata <- mydata |>
arrange(desc(Estimate))
############################################################
# STEP 7: Display Results as a Table
############################################################
ResultsTable <- mydata |>
kbl(
col.names = c(
"County",
"Variable",
"Estimate",
"Margin of Error"
),
format.args = list(big.mark = ",")
) |>
kable_styling(
bootstrap_options = c("striped", "hover"),
full_width = FALSE
)
ResultsTable