Skip to contents

Fetches Public Use Microdata Sample (PUMS) data from Census API or cache. Downloads and saves to cache if not already present.

Usage

fetch_pums(
  settings,
  pums_vars = NULL,
  pums_year = NULL,
  pums_dataset = NULL,
  replace = FALSE
)

Arguments

settings

list. Must include:

  • pums_year — PUMS reference year

  • pums_dataset — PUMS dataset name

  • inputs_dir — input directory

  • state_fips — state FIPS codes Additional settings as needed for PUMS retrieval

pums_vars

character vector. PUMS variables to fetch. If NULL, uses settings.

pums_year

integer. Year of PUMS data. If NULL, uses settings.

pums_dataset

character. Dataset: 'acs1' or 'acs5'. If NULL, uses settings.

replace

logical. If TRUE, replaces cached data. Default FALSE.

Value

data.table with columns:

  • SERIALNO — household identifier

  • SPORDER — person identifier

  • RELSHIPP — relationship to householder

  • PINCP — personal income

  • TYPE/TYPEHUGQ — household type (year-dependent)

  • Additional columns for requested PUMS variables (type varies) Rows: one per person or household.

Details

  • Loads from cache if file exists and replace = FALSE.

  • Otherwise, fetches from Census API and saves to cache.

  • Handles variable selection, year, and dataset.

  • Returns a copy; does not modify by reference.

Settings

  • pums_year (direct): PUMS reference year. Default from settings.

  • pums_dataset (direct): PUMS dataset name. Default from settings.

  • inputs_dir (direct): Input directory. Default from settings.

  • state_fips (direct): State FIPS codes. Default from settings.

Examples

## Not run:
settings <- list(pums_year = 2020, pums_dataset = "acs5", inputs_dir = "inputs", state_fips = "36")
pums <- fetch_pums(settings)
#> Error in get("pums_hvars", settings): object 'pums_hvars' not found
## End(Not run)