Texas Children in Kinship Care 2023

Author

Kaitlan Wong

This is a data check to validate Coda’s kinship estimates. See Coda’s code here. The purpose of this analysis is to update this data brief Rachel Cooper published in 2016.

Analysis Completed 10/7/24

About the Data

Source: Data for this analysis are from the 2023 Annual Social and Economic Supplement (ASEC) of the Current Population Survey (CPS) via IPUMS CPS.

Here are the variables I included (not including pre-selected variables):

  • STATEFIP: State (FIPS code)

  • RELATE: Relationship to household head

  • MOMLOC: Person number of first mother (from programming)

  • POPLOC: Person number of first father (from programming)

  • AGE: Age

  • HISPAN: Hispanic origin

  • RACE: Race

  • POVERTY: Original poverty status (PUMS original)

Importing the Data

I filtered for TX (fips 48) before downloading the data.

Defining Kinship

I am using the definition Coda used. Here is the description of the RELATE variable.

Given the description of the RELATE variable and the definition from AECF, I included the following in my classification of kinship:

  • grandchild (0901)

  • sibling (0701)

  • other relatives, n.s. (1001)

  • other nonrelatives (1260) <—- Coda mentioned she was unsure about this one. After reading AECF’s definition for the PRB analysis here, I agree that this should be included. Presumably, by not including the other non-relative options (partners / spouses, roommates, boarders, foster care, etc.) that should leave the relevant non-relative options the survey data does not specify (i.e., family friends).

Clean Data and Create Variables and Survey Design

# Filter for children under 18 in 2023
children_23 <- data |>
  filter( AGE < 18, YEAR== 2023)

# Filter to retain only rows where the ASECWT variable is not missing so the weight variable has a valid (non-missing) value
children_23 <- children_23|>
  filter(!is.na(ASECWT)) # ASECWT is a person-level weight that should be used in analyses of individual-level CPS supplement data. Since the CPS relies on a complex stratified sampling scheme, it is essential to use one of the provided weighting variables.

# Next, create the necessary variables.

# Create a binary indicator for being in kinship care
kin_children_23 <- children_23 |>
  mutate(
    kinship_care = ifelse(MOMLOC == 0 & POPLOC == 0 & 
                          RELATE %in% c(0901, 0701, 1001, 1260), 1, 0),
    
# Create race/eth categories
    race_eth = case_when(
      HISPAN != 0 ~ "Hispanic",
      RACE == 100 & HISPAN == 0 ~ "White, non-Hispanic",
      RACE == 200 & HISPAN == 0 ~ "Black, non-Hispanic",
      RACE != 100 & RACE != 200 & HISPAN == 0 ~ "Other, non-Hispanic"
    ),

    # Create binary poverty indicator for being below 150% poverty
    pov_below150 = ifelse(POVERTY %in% c(10, 21, 22), 1, 0),

    # Create a variable for the type of relative
    relative_type = case_when(
      RELATE == 0901 ~ "Grandchild",
      RELATE == 0701 ~ "Sibling",
      RELATE == 1001 ~ "Other relative",
      RELATE == 1260 ~ "Non-relative"
    )
  )

#create survey design 
des <- svydesign(
  ids = ~1,  
  weights = ~ASECWT,  
  data = kin_children_23
)

Calculations

Race/Ethnicity Counts

# Calculate total number of children in kinship care in 2023 by race/eth
kin_race_23 <- svyby(
  ~kinship_care,  
  ~race_eth,  
  des,
  svytotal,
  na.rm = TRUE
)

# Show results
print(kin_race_23)
                               race_eth kinship_care        se
Black, non-Hispanic Black, non-Hispanic     46678.65 13459.365
Hispanic                       Hispanic    115611.74 18227.020
Other, non-Hispanic Other, non-Hispanic     11729.48  8989.217
White, non-Hispanic White, non-Hispanic     88993.49 17630.631
# Results match Coda's!

Relative Type Counts

# Calculate total number of children in kinship care in 2023 by relative type
kin_relative_23 <- svyby(
  ~kinship_care,
  ~relative_type,
  des,
  svytotal,
  na.rm = TRUE
)

# Show results
print(kin_relative_23)
                relative_type kinship_care       se
Grandchild         Grandchild    103832.48 19118.27
Non-relative     Non-relative     66954.71 15255.21
Other relative Other relative     64647.28 13795.05
Sibling               Sibling     27578.89 10859.05
# Results match Coda's!

Poverty Counts

# Filter for children in kinship care below 150% of the poverty line
kin_pov_children_23 <- kin_children_23 |>
  filter(pov_below150 == 1)

# Create a survey design for children in poverty
des_pov <- svydesign(
  ids = ~1,
  weights = ~ASECWT,
  data = kin_pov_children_23
)

# Calculate total number of children in kinship care below 150% poverty by relative type
kin_pov_relative_23 <- svyby(
  ~kinship_care,
  ~relative_type,
  des_pov,
  svytotal,
  na.rm = TRUE
)

# Show results
print(kin_pov_relative_23)
                relative_type kinship_care       se
Grandchild         Grandchild     26498.61 8429.136
Non-relative     Non-relative     15905.09 8665.328
Other relative Other relative     14509.59 6664.240
Sibling               Sibling     20577.18 9653.519
# Results match Coda's!

Counts by Year

# Filter for children under 18 (without filtering for just 2023)
children_all_years <- data |>
  filter(AGE < 18)

# Create a binary indicator for being in kinship care
kin_children_all_years <- children_all_years |>
  filter(!is.na(ASECWT)) |>
  mutate(
    kinship_care = ifelse(MOMLOC == 0 & POPLOC == 0 & 
                          RELATE %in% c(0901, 0701, 1001, 1260), 1, 0)
  )

# Create survey design for all years
des_all_years <- svydesign(
  ids = ~1,
  weights = ~ASECWT,
  data = kin_children_all_years
)

# Calculate total number of children in kinship care by year
kin_yearly_totals <- svyby(
  ~kinship_care,
  ~YEAR,
  des_all_years,
  svytotal,
  na.rm = TRUE
)

# Show results
print(kin_yearly_totals)
     YEAR kinship_care       se
2009 2009     291087.7 23754.67
2010 2010     219779.1 20735.91
2011 2011     193667.9 19269.89
2012 2012     197378.2 21117.30
2013 2013     181774.7 19345.30
2014 2014     451162.7 47901.57
2015 2015     199937.3 21509.39
2016 2016     205168.8 21588.35
2017 2017     207121.5 22296.45
2018 2018     253879.4 26343.82
2019 2019     188189.1 21755.15
2020 2020     287488.1 30602.04
2021 2021     258891.4 28414.08
2022 2022     211050.8 27868.69
2023 2023     263013.4 30219.98
2024 2024     225909.1 28239.13
View(kin_yearly_totals)

# Results match Coda's!