When looking at all 95 counties in the state of Tennessee, the average age differs to a large degree depending on which specific county one is looking at. Cumberland County has the greatest median age at 53.5, and is followed by Pickett County at 51.6 and Loudon County at 48.8. The lowest median ages include Montgomery County at 31.9 and Rutherford County at 34.2, which interestingly enough are both counties with major universities. The difference in median age between Montgomery County and Cumberland County is 21.6 years, which shows just how drastic the gap is between certain counties on age.
| County | Variable | Estimate | Margin of Error |
|---|---|---|---|
| Cumberland County, Tennessee | DP05_0018 | 53.5 | 0.4 |
| Pickett County, Tennessee | DP05_0018 | 51.6 | 0.7 |
| Loudon County, Tennessee | DP05_0018 | 48.8 | 0.4 |
| Clay County, Tennessee | DP05_0018 | 48.5 | 1.3 |
| Benton County, Tennessee | DP05_0018 | 47.8 | 0.7 |
| Fayette County, Tennessee | DP05_0018 | 47.4 | 0.3 |
| Grainger County, Tennessee | DP05_0018 | 47.4 | 0.7 |
| Roane County, Tennessee | DP05_0018 | 47.3 | 0.3 |
| Van Buren County, Tennessee | DP05_0018 | 47.2 | 0.5 |
| Fentress County, Tennessee | DP05_0018 | 46.9 | 0.4 |
| Jackson County, Tennessee | DP05_0018 | 46.9 | 1.2 |
| Polk County, Tennessee | DP05_0018 | 46.9 | 0.6 |
| Unicoi County, Tennessee | DP05_0018 | 46.9 | 1.0 |
| Johnson County, Tennessee | DP05_0018 | 46.7 | 0.7 |
| Moore County, Tennessee | DP05_0018 | 46.2 | 0.4 |
| Hawkins County, Tennessee | DP05_0018 | 46.0 | 0.4 |
| Carter County, Tennessee | DP05_0018 | 45.9 | 0.3 |
| Decatur County, Tennessee | DP05_0018 | 45.8 | 0.3 |
| Henry County, Tennessee | DP05_0018 | 45.8 | 0.6 |
| Bledsoe County, Tennessee | DP05_0018 | 45.5 | 0.7 |
| Meigs County, Tennessee | DP05_0018 | 45.4 | 0.6 |
| Cocke County, Tennessee | DP05_0018 | 45.3 | 0.2 |
| Monroe County, Tennessee | DP05_0018 | 45.2 | 0.3 |
| Hardin County, Tennessee | DP05_0018 | 45.1 | 0.5 |
| Sullivan County, Tennessee | DP05_0018 | 45.0 | 0.2 |
| Sequatchie County, Tennessee | DP05_0018 | 44.9 | 0.6 |
| Greene County, Tennessee | DP05_0018 | 44.7 | 0.2 |
| Wayne County, Tennessee | DP05_0018 | 44.4 | 0.7 |
| Jefferson County, Tennessee | DP05_0018 | 44.3 | 0.5 |
| Stewart County, Tennessee | DP05_0018 | 44.3 | 0.8 |
| Campbell County, Tennessee | DP05_0018 | 44.2 | 0.4 |
| Marion County, Tennessee | DP05_0018 | 43.8 | 0.4 |
| Blount County, Tennessee | DP05_0018 | 43.7 | 0.3 |
| Overton County, Tennessee | DP05_0018 | 43.7 | 0.5 |
| Giles County, Tennessee | DP05_0018 | 43.5 | 0.3 |
| Sevier County, Tennessee | DP05_0018 | 43.5 | 0.6 |
| White County, Tennessee | DP05_0018 | 43.5 | 0.6 |
| Humphreys County, Tennessee | DP05_0018 | 43.3 | 0.8 |
| Perry County, Tennessee | DP05_0018 | 43.3 | 1.6 |
| Haywood County, Tennessee | DP05_0018 | 43.2 | 0.5 |
| Hancock County, Tennessee | DP05_0018 | 43.1 | 1.1 |
| Houston County, Tennessee | DP05_0018 | 43.0 | 1.0 |
| Lincoln County, Tennessee | DP05_0018 | 42.9 | 0.6 |
| McNairy County, Tennessee | DP05_0018 | 42.9 | 0.6 |
| Lake County, Tennessee | DP05_0018 | 42.8 | 1.8 |
| Grundy County, Tennessee | DP05_0018 | 42.7 | 0.4 |
| Union County, Tennessee | DP05_0018 | 42.7 | 0.7 |
| Claiborne County, Tennessee | DP05_0018 | 42.5 | 0.9 |
| McMinn County, Tennessee | DP05_0018 | 42.4 | 0.3 |
| Hickman County, Tennessee | DP05_0018 | 42.3 | 0.7 |
| Morgan County, Tennessee | DP05_0018 | 42.3 | 0.8 |
| Franklin County, Tennessee | DP05_0018 | 42.2 | 0.8 |
| Rhea County, Tennessee | DP05_0018 | 42.0 | 0.9 |
| DeKalb County, Tennessee | DP05_0018 | 41.9 | 1.1 |
| Lewis County, Tennessee | DP05_0018 | 41.9 | 1.7 |
| Obion County, Tennessee | DP05_0018 | 41.8 | 0.4 |
| Anderson County, Tennessee | DP05_0018 | 41.5 | 0.4 |
| Cheatham County, Tennessee | DP05_0018 | 41.5 | 0.5 |
| Carroll County, Tennessee | DP05_0018 | 41.3 | 0.9 |
| Scott County, Tennessee | DP05_0018 | 40.7 | 0.9 |
| Smith County, Tennessee | DP05_0018 | 40.6 | 0.4 |
| Henderson County, Tennessee | DP05_0018 | 40.4 | 0.9 |
| Williamson County, Tennessee | DP05_0018 | 40.4 | 0.3 |
| Dyer County, Tennessee | DP05_0018 | 40.2 | 0.6 |
| Washington County, Tennessee | DP05_0018 | 40.2 | 0.5 |
| Hamblen County, Tennessee | DP05_0018 | 40.1 | 0.5 |
| Hardeman County, Tennessee | DP05_0018 | 40.1 | 0.8 |
| Cannon County, Tennessee | DP05_0018 | 40.0 | 1.1 |
| Sumner County, Tennessee | DP05_0018 | 39.8 | 0.4 |
| Warren County, Tennessee | DP05_0018 | 39.8 | 0.7 |
| Wilson County, Tennessee | DP05_0018 | 39.8 | 0.4 |
| Crockett County, Tennessee | DP05_0018 | 39.7 | 1.9 |
| Gibson County, Tennessee | DP05_0018 | 39.6 | 0.4 |
| Bradley County, Tennessee | DP05_0018 | 39.5 | 0.5 |
| Hamilton County, Tennessee | DP05_0018 | 39.5 | 0.3 |
| Marshall County, Tennessee | DP05_0018 | 39.5 | 0.6 |
| Lawrence County, Tennessee | DP05_0018 | 39.3 | 0.5 |
| Lauderdale County, Tennessee | DP05_0018 | 39.2 | 0.8 |
| Macon County, Tennessee | DP05_0018 | 39.2 | 0.6 |
| Dickson County, Tennessee | DP05_0018 | 39.1 | 0.6 |
| Maury County, Tennessee | DP05_0018 | 39.1 | 0.5 |
| Coffee County, Tennessee | DP05_0018 | 39.0 | 0.6 |
| Tipton County, Tennessee | DP05_0018 | 39.0 | 0.7 |
| Robertson County, Tennessee | DP05_0018 | 38.7 | 0.6 |
| Madison County, Tennessee | DP05_0018 | 38.3 | 0.5 |
| Bedford County, Tennessee | DP05_0018 | 37.6 | 0.7 |
| Chester County, Tennessee | DP05_0018 | 37.6 | 0.9 |
| Knox County, Tennessee | DP05_0018 | 37.4 | 0.2 |
| Weakley County, Tennessee | DP05_0018 | 37.3 | 0.8 |
| Putnam County, Tennessee | DP05_0018 | 36.0 | 0.4 |
| Shelby County, Tennessee | DP05_0018 | 35.9 | 0.1 |
| Trousdale County, Tennessee | DP05_0018 | 35.0 | 1.0 |
| Davidson County, Tennessee | DP05_0018 | 34.6 | 0.1 |
| Rutherford County, Tennessee | DP05_0018 | 34.2 | 0.1 |
| Montgomery County, Tennessee | DP05_0018 | 31.9 | 0.2 |
Code:
Here is my code that I used to get my results for the median age of Tennessee Counties.
############################################################
# 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 <- "DP05_0018" # <<< 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