Download an IPUMS data extract via the IPUMS API and write to disk.
Learn more about the IPUMS API in vignette("ipums-api")
.
download_extract(
extract,
download_dir = getwd(),
overwrite = FALSE,
progress = TRUE,
api_key = Sys.getenv("IPUMS_API_KEY")
)
One of:
An ipums_extract
object
The data collection and extract number formatted as a string of the
form "collection:number"
or as a vector of the form
c("collection", number)
An extract number to be associated with your default IPUMS
collection. See set_ipums_default_collection()
For a list of codes used to refer to each collection, see
ipums_data_collections()
.
Path to the directory where the files should be written. Defaults to current working directory.
If TRUE
, overwrite any conflicting files that
already exist in download_dir
. Defaults to FALSE
.
If TRUE
, output progress bar showing the status of the
download request. Defaults to TRUE
.
API key associated with your user account. Defaults to the
value of the IPUMS_API_KEY
environment variable. See
set_ipums_api_key()
.
The path(s) to the files required to read the data requested in the extract, invisibly.
For NHGIS, paths will be named with either "data"
(for tabular data
files) or "shape"
(for spatial data files) to
indicate the type of data the file contains.
For NHGIS extracts, data files and GIS files (shapefiles) will be saved in
separate .zip archives. download_extract()
will return a character vector
including the file paths to all downloaded files.
For microdata extracts, only the file path to the downloaded .xml DDI file will be returned, as it is sufficient for reading the data provided in the associated .gz data file.
read_ipums_micro()
or read_nhgis()
to read tabular
data from an IPUMS extract.
read_ipums_sf()
to read spatial data from an IPUMS extract.
ipums_list_files()
to list files in an IPUMS extract.
usa_extract <- define_extract_usa(
description = "2013-2014 ACS Data",
samples = c("us2013a", "us2014a"),
variables = c("SEX", "AGE", "YEAR")
)
if (FALSE) {
submitted_extract <- submit_extract(usa_extract)
downloadable_extract <- wait_for_extract(submitted_extract)
# For microdata, the path to the DDI .xml codebook file is provided.
usa_xml_file <- download_extract(downloadable_extract)
# Load with a `read_ipums_micro_*()` function
usa_data <- read_ipums_micro(usa_xml_file)
# You can also download previous extracts with their collection and number:
nhgis_files <- download_extract("nhgis:1")
# NHGIS extracts return a path to both the tabular and spatial data files,
# as applicable.
nhgis_data <- read_nhgis(data = nhgis_files["data"])
# Load NHGIS spatial data
nhgis_geog <- read_ipums_sf(data = nhgis_files["shape"])
}