← Back to all sparks
I

ipumsr

DEVOPS
Velocity0.0

An R Interface for Downloading, Reading, and Handling IPUMS Data

ipumsr is collapsing a dozen collection-specific APIs into one extract vocabulary.

rcensus-dataapi-clientapi-consolidationdeprecations
Current state
ipumsr is the R client for the IPUMS API, covering microdata, aggregate-data and now DHS collections. The dominant work of the last two years has been replacing per-collection functions with generic ones: define_extract_micro() for all microdata, then define_extract_agg() and read_ipums_agg() for the aggregate projects. Each new collection now arrives as an argument value rather than a new function.
Where it's heading
The package is converging on a single extract-definition surface, and it is retiring the old path rather than keeping both. Collection-specific functions have moved through deprecation to defunct within about two release cycles, and legacy spatial and codebook readers have been dropped outright along with their raster and sp dependencies. The cost is paid by users: each generalization has broken working code.
Prediction
The remaining collection-specific entry points, chiefly the NHGIS-named ones, are the obvious next candidates for deprecation, and further IPUMS projects will most likely be added as collection arguments rather than new functions.

Recent moves

  1. 5mo ago

    IPUMS DHS support; USA/CPS/IPUMSI definition functions now defunct

    IPUMS DHS joins the API through the existing define_extract_micro() and submit_extract() workflow, which is exactly the payoff of the generic surface built in 0.8.0. The collection-specific USA, CPS and IPUMSI definition functions are now defunct, and the R floor moves to 4.1.0.

    View source ↗
  2. 1y ago

    IHGIS support; NHGIS readers generalized to aggregate collections

    Applies the 0.8.0 generalization to the aggregate-data side: read_ipums_agg(), define_extract_agg() and get_metadata() replace their NHGIS-specific predecessors and IHGIS comes along as the second supported collection. The same pattern, extended to a second project family rather than a new direction.

    View source ↗
  3. 1y ago

    Supplemental data downloads; shape_join always returned a right join

    Adds supplemental data downloads and codebook listing, makes the geographic_extents wildcard optional, and fixes a shape_join bug that returned a right join regardless of which join function was called. That join fix silently changed results for anyone combining spatial and tabular extracts.

    View source ↗
  4. 2y ago

    Vignette fix for R CMD check

    A vignette fix for an R CMD check failure under --no-manual and --no-build-vignettes. Packaging only.

    View source ↗
  5. 2y ago

    define_extract_micro() replaces per-collection extract functions

    ⚡ SPARK

    The origin of the pattern the package has followed ever since: one define_extract_micro() replaces every collection-specific microdata function, with the collection passed as an argument. Time Use and Health Surveys arrive under it immediately, and 0.9.0 and 0.10.0 are this same move repeated on other project families.

    View source ↗
  6. 2y ago

    README and vignette updates

    README and vignette text updates only.

    View source ↗