Mothers LF Part - Dallas

Author

CRG

Working Mothers in Dallas County

Using 5-Year ACS Estimates

Table B23003

Variables:

B23003_004: Estimate!!Total:!!With own children of the householder under 18 years:!!Under 6 years only:!!In labor force: Presence of Own Children Under 18 Years by Age of Own Children Under 18 Years by Employment Status for Females 20 to 64 Years

B23003_009: Estimate!!Total:!!With own children of the householder under 18 years:!!Under 6 years only:!!Not in labor force Presence of Own Children Under 18 Years by Age of Own Children Under 18 Years by Employment Status for Females 20 to 64 Year

B23003_011: Estimate!!Total:!!With own children of the householder under 18 years:!!Under 6 years and 6 to 17 years:!!In labor force: Presence of Own Children Under 18 Years by Age of Own Children Under 18 Years by Employment Status for Females 20 to 64 Years

B23003_016: Estimate!!Total:!!With own children of the householder under 18 years:!!Under 6 years and 6 to 17 years:!!Not in labor force Presence of Own Children Under 18 Years by Age of Own Children Under 18 Years by Employment Status for Females 20 to 64 Years

I crosschecked data with Women’s DOL for a rough comparison.

library(tidycensus)
library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.4     ✔ readr     2.1.5
✔ forcats   1.0.0     ✔ stringr   1.5.1
✔ ggplot2   3.5.1     ✔ tibble    3.2.1
✔ lubridate 1.9.3     ✔ tidyr     1.3.1
✔ purrr     1.0.2     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
vars <- load_variables(2023, "acs5")

View(vars)

library(tidycensus)
library(dplyr)


mothers_labor <- get_acs(
  geography = "county",
  state = "TX",
  county = "Dallas",
  table = "B23003",
  year = 2023,
  survey = "acs5"
)
Getting data from the 2019-2023 5-year ACS
summary <- mothers_labor |>
  filter(variable %in% c("B23003_004", "B23003_009",
                         "B23003_011", "B23003_016")) |>
  mutate(category = case_when(
    variable %in% c("B23003_004", "B23003_011") ~ "In labor force",
    variable %in% c("B23003_009", "B23003_016") ~ "Not in labor force"
  )) |>
  group_by(category) |>
  summarise(
    mothers = sum(estimate),
    margin_error = sqrt(sum(moe^2)),
    .groups = "drop"
  )

summary
# A tibble: 2 × 3
  category           mothers margin_error
  <chr>                <dbl>        <dbl>
1 In labor force       79580        2453.
2 Not in labor force   43409        1851.
summary <- summary |>
  mutate(
    total_mothers = sum(mothers),
    percent = mothers / total_mothers * 100
  )

summary
# A tibble: 2 × 5
  category           mothers margin_error total_mothers percent
  <chr>                <dbl>        <dbl>         <dbl>   <dbl>
1 In labor force       79580        2453.        122989    64.7
2 Not in labor force   43409        1851.        122989    35.3

Statewide

library(tidycensus)
library(dplyr)

# Pull ACS 5-year data for Texas
tx_female <- get_acs(
  geography = "state",
  state = "TX",
  table = "B23001",
  year = 2023,
  survey = "acs5"
)
Getting data from the 2019-2023 5-year ACS
# Female labor force participation variables (ages 20–64)
in_labor <- c("B23001_097", "B23001_104", "B23001_111", "B23001_118",
              "B23001_125", "B23001_132", "B23001_139", "B23001_146",
              "B23001_153")

not_labor <- c("B23001_102", "B23001_109", "B23001_116", "B23001_123",
               "B23001_130", "B23001_137", "B23001_144", "B23001_151",
               "B23001_158")

tx_summary <- tx_female |>
  filter(variable %in% c(in_labor, not_labor)) |>
  mutate(category = case_when(
    variable %in% in_labor ~ "In labor force",
    variable %in% not_labor ~ "Not in labor force"
  )) |>
  group_by(category) |>
  summarise(
    women = sum(estimate),
    margin_error = sqrt(sum(moe^2)),
    .groups = "drop"
  ) |>
  mutate(
    total = sum(women),
    percent = 100 * women / total
  )

tx_summary
# A tibble: 2 × 5
  category             women margin_error   total percent
  <chr>                <dbl>        <dbl>   <dbl>   <dbl>
1 In labor force     6214949       14772. 8647784    71.9
2 Not in labor force 2432835       13338. 8647784    28.1