Fetch PUMS data with caching
fetch_pums.RdFetches 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.
See also
get_puma_ids,get_state_fipsscripts/io/fetch_pums.R
Other io utilities:
clean_data_dict(),
cut_and_label(),
db_table_has_geometry(),
fetch_acs(),
fetch_all_hts_tables(),
fetch_from_db(),
fetch_hts_table(),
fetch_study_region(),
find_project_root(),
fix_value_labels_on_load(),
get_db_table_name(),
print_params(),
pums_checksum(),
read_from_db(),
read_pums_codebook(),
record_checksum(),
sampled_latlon_to_bg()
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)