Skip to content

ipumsr

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

v0.9.0 · Jun 4, 2025 · Mozilla Public License 2.0

Description

An easy way to work with census, survey, and geographic data provided by IPUMS in R. Generate and download data through the IPUMS API and load IPUMS files into R with their associated metadata to make analysis easier. IPUMS data describing 1.4 billion individuals drawn from over 750 censuses and surveys is available free of charge from the IPUMS website <https://www.ipums.org>.

Downloads

5.3K

Last 30 days

1621st

5.3K

Last 90 days

5.3K

Last year

CRAN Check Status

2 ERROR
12 OK
Show all 14 flavors
Flavor Status
r-devel-linux-x86_64-debian-clang OK
r-devel-linux-x86_64-debian-gcc ERROR
r-devel-linux-x86_64-fedora-clang ERROR
r-devel-linux-x86_64-fedora-gcc OK
r-devel-macos-arm64 OK
r-devel-windows-x86_64 OK
r-oldrel-macos-arm64 OK
r-oldrel-macos-x86_64 OK
r-oldrel-windows-x86_64 OK
r-patched-linux-x86_64 OK
r-release-linux-x86_64 OK
r-release-macos-arm64 OK
r-release-macos-x86_64 OK
r-release-windows-x86_64 OK
Check details (16 non-OK)
OK r-devel-linux-x86_64-debian-clang

*


            
ERROR r-devel-linux-x86_64-debian-gcc

examples

Running examples in ‘ipumsr-Ex.R’ failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: read_ipums_ddi
> ### Title: Read metadata about an IPUMS microdata extract from a DDI
> ###   codebook (.xml) file
> ### Aliases: read_ipums_ddi
> 
> ### ** Examples
> 
> # Example codebook file
> ddi_file <- ipums_example("cps_00157.xml")
> 
> # Load data into an `ipums_ddi` obj
> ddi <- read_ipums_ddi(ddi_file)
> 
> # Use the object to load its associated data
> cps <- read_ipums_micro(ddi)
Error in basename(x) : a character vector argument expected
Calls: read_ipums_micro ... <Anonymous> -> ifelse -> grepl -> is.factor -> basename
Execution halted
ERROR r-devel-linux-x86_64-debian-gcc

re-building of vignette outputs

Error(s) in re-building vignettes:
  ...
--- re-building ‘ipums-api-agg.Rmd’ using rmarkdown
[WARNING] Deprecated: --highlight-style. Use --syntax-highlighting instead.
--- finished re-building ‘ipums-api-agg.Rmd’

--- re-building ‘ipums-api-micro.Rmd’ using rmarkdown
[WARNING] Deprecated: --highlight-style. Use --syntax-highlighting instead.
--- finished re-building ‘ipums-api-micro.Rmd’

--- re-building ‘ipums-api.Rmd’ using rmarkdown
[WARNING] Deprecated: --highlight-style. Use --syntax-highlighting instead.
--- finished re-building ‘ipums-api.Rmd’

--- re-building ‘ipums-bigdata.Rmd’ using rmarkdown

Quitting from ipums-bigdata.Rmd:570-595 [unnamed-chunk-28]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error in `basename()`:
! a character vector argument expected
---
Backtrace:
    ▆
 1. └─ipumsr::read_ipums_micro_chunked(...)
 2.   └─ipumsr:::check_valid_ddi(ddi)
 3.     └─tools::file_ext(ddi)
 4.       ├─base::ifelse(...)
 5.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
 6.       │ └─base::is.factor(x)
 7.       └─base::basename(x)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Error: processing vignette 'ipums-bigdata.Rmd' failed with diagnostics:
a character vector argument expected
--- failed re-building ‘ipums-bigdata.Rmd’

--- re-building ‘ipums-read.Rmd’ using rmarkdown

Quitting from ipums-read.Rmd:143-147 [unnamed-chunk-9]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error in `basename()`:
! a character vector argument expected
---
Backtrace:
    ▆
 1. └─ipumsr::read_ipums_micro(cps_hier_ddi)
 2.   └─ipumsr:::check_valid_ddi(ddi)
 3.     └─tools::file_ext(ddi)
 4.       ├─base::ifelse(...)
 5.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
 6.       │ └─base::is.factor(x)
 7.       └─base::basename(x)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Error: processing vignette 'ipums-read.Rmd' failed with diagnostics:
a character vector argument expected
--- failed re-building ‘ipums-read.Rmd’

--- re-building ‘ipums.Rmd’ using rmarkdown
Loading required namespace: sf
[WARNING] Deprecated: --highlight-style. Use --syntax-highlighting instead.
--- finished re-building ‘ipums.Rmd’

--- re-building ‘value-labels.Rmd’ using rmarkdown

Quitting from value-labels.Rmd:48-55 [unnamed-chunk-1]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error in `basename()`:
! a character vector argument expected
---
Backtrace:
    ▆
 1. └─ipumsr::read_ipums_micro(ddi, verbose = FALSE)
 2.   └─ipumsr:::check_valid_ddi(ddi)
 3.     └─tools::file_ext(ddi)
 4.       ├─base::ifelse(...)
 5.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
 6.       │ └─base::is.factor(x)
 7.       └─base::basename(x)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Error: processing vignette 'value-labels.Rmd' failed with diagnostics:
a character vector argument expected
--- failed re-building ‘value-labels.Rmd’

SUMMARY: processing the following files failed:
  ‘ipums-bigdata.Rmd’ ‘ipums-read.Rmd’ ‘value-labels.Rmd’

Error: Vignette re-building failed.
Execution halted
ERROR r-devel-linux-x86_64-debian-gcc

tests

  Running ‘testthat.R’ [63s/101s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional test configuration?
  > # Learn more about the roles of various files in:
  > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview
  > # * https://testthat.r-lib.org/articles/special-files.html
  > 
  > library(testthat)
  > library(ipumsr)
  > 
  > test_check("ipumsr")
  Saving _problems/test_lower_names-45.R
  Saving _problems/test_lower_names-68.R
  Saving _problems/test_lower_names-79.R
  Saving _problems/test_lower_names-90.R
  Saving _problems/test_lower_names-101.R
  Saving _problems/test_lower_names-126.R
  Saving _problems/test_lower_names-160.R
  Saving _problems/test_lower_names-223.R
  Saving _problems/test_lower_names-248.R
  Saving _problems/test_lower_names-297.R
  Saving _problems/test_micro-138.R
  Saving _problems/test_set_var_attributes-5.R
  Saving _problems/test_set_var_attributes-24.R
  [ FAIL 13 | WARN 0 | SKIP 6 | PASS 838 ]
  
  ══ Skipped tests (6) ═══════════════════════════════════════════════════════════
  • On CRAN (6): 'test_api_helpers.R:3:1', 'test_api_helpers.R:23:1',
    'test_micro_chunked.R:24:3', 'test_read_agg.R:7:1', 'test_read_agg.R:372:1',
    'test_shape_read.R:81:1'
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Error ('test_lower_names.R:45:3'): Reading variables in lowercase is okay - rect micro data ──
  Error in `basename(x)`: a character vector argument expected
  Backtrace:
      ▆
   1. └─ipumsr::read_ipums_micro(ddi, verbose = FALSE) at test_lower_names.R:45:3
   2.   └─ipumsr:::check_valid_ddi(ddi)
   3.     └─tools::file_ext(ddi)
   4.       ├─base::ifelse(...)
   5.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   6.       │ └─base::is.factor(x)
   7.       └─base::basename(x)
  ── Error ('test_lower_names.R:68:3'): Reading variables in lowercase is okay - hier micro data ──
  Error in `basename(x)`: a character vector argument expected
  Backtrace:
      ▆
   1. └─ipumsr::read_ipums_micro_list(ddi, verbose = FALSE) at test_lower_names.R:68:3
   2.   └─ipumsr:::check_valid_ddi(ddi)
   3.     └─tools::file_ext(ddi)
   4.       ├─base::ifelse(...)
   5.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   6.       │ └─base::is.factor(x)
   7.       └─base::basename(x)
  ── Error ('test_lower_names.R:76:3'): lower_vars = TRUE warning on rectangular .dat.gz ──
  Error in `basename(x)`: a character vector argument expected
  Backtrace:
       ▆
    1. ├─testthat::expect_warning(...) at test_lower_names.R:76:3
    2. │ └─testthat:::expect_condition_matching_(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─ipumsr::read_ipums_micro(ddi, verbose = FALSE, lower_vars = TRUE)
    8.   └─ipumsr:::check_valid_ddi(ddi)
    9.     └─tools::file_ext(ddi)
   10.       ├─base::ifelse(...)
   11.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   12.       │ └─base::is.factor(x)
   13.       └─base::basename(x)
  ── Error ('test_lower_names.R:87:3'): lower_vars = TRUE warning on hierarchical .dat.gz ──
  Error in `basename(x)`: a character vector argument expected
  Backtrace:
       ▆
    1. ├─testthat::expect_warning(...) at test_lower_names.R:87:3
    2. │ └─testthat:::expect_condition_matching_(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─ipumsr::read_ipums_micro_list(ddi, verbose = FALSE, lower_vars = TRUE)
    8.   └─ipumsr:::check_valid_ddi(ddi)
    9.     └─tools::file_ext(ddi)
   10.       ├─base::ifelse(...)
   11.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   12.       │ └─base::is.factor(x)
   13.       └─base::basename(x)
  ── Error ('test_lower_names.R:97:3'): lower_vars arg works on .csv.gz file ─────
  Error in `basename(x)`: a character vector argument expected
  Backtrace:
      ▆
   1. └─ipumsr::read_ipums_micro(...) at test_lower_names.R:97:3
   2.   └─ipumsr:::check_valid_ddi(ddi)
   3.     └─tools::file_ext(ddi)
   4.       ├─base::ifelse(...)
   5.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   6.       │ └─base::is.factor(x)
   7.       └─base::basename(x)
  ── Error ('test_lower_names.R:118:3'): lower_vars arg works on chunked rectangular .dat.gz ──
  Error in `basename(x)`: a character vector argument expected
  Backtrace:
       ▆
    1. ├─testthat::expect_warning(...) at test_lower_names.R:118:3
    2. │ └─testthat:::expect_condition_matching_(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─ipumsr::read_ipums_micro_chunked(...)
    8.   └─ipumsr:::check_valid_ddi(ddi)
    9.     └─tools::file_ext(ddi)
   10.       ├─base::ifelse(...)
   11.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   12.       │ └─base::is.factor(x)
   13.       └─base::basename(x)
  ── Error ('test_lower_names.R:152:3'): lower_vars arg works on chunked hierarchical .dat.gz ──
  Error in `basename(x)`: a character vector argument expected
  Backtrace:
       ▆
    1. ├─testthat::expect_warning(...) at test_lower_names.R:152:3
    2. │ └─testthat:::expect_condition_matching_(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─ipumsr::read_ipums_micro_list_chunked(...)
    8.   └─ipumsr:::check_valid_ddi(ddi)
    9.     └─tools::file_ext(ddi)
   10.       ├─base::ifelse(...)
   11.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   12.       │ └─base::is.factor(x)
   13.       └─base::basename(x)
  ── Error ('test_lower_names.R:218:3'): lower_vars arg works on chunked .csv.gz file ──
  Error in `basename(x)`: a character vector argument expected
  Backtrace:
      ▆
   1. └─ipumsr::read_ipums_micro_chunked(...) at test_lower_names.R:218:3
   2.   └─ipumsr:::check_valid_ddi(ddi)
   3.     └─tools::file_ext(ddi)
   4.       ├─base::ifelse(...)
   5.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   6.       │ └─base::is.factor(x)
   7.       └─base::basename(x)
  ── Error ('test_lower_names.R:241:3'): lower_vars arg works with _yield on rectangular .dat.gz ──
  Error in `basename(x)`: a character vector argument expected
  Backtrace:
       ▆
    1. ├─testthat::expect_warning(...) at test_lower_names.R:241:3
    2. │ └─testthat:::expect_condition_matching_(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─ipumsr::read_ipums_micro_yield(ddi, verbose = FALSE, lower_vars = TRUE)
    8.   └─ipumsr:::check_valid_ddi(ddi)
    9.     └─tools::file_ext(ddi)
   10.       ├─base::ifelse(...)
   11.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   12.       │ └─base::is.factor(x)
   13.       └─base::basename(x)
  ── Error ('test_lower_names.R:290:3'): lower_vars arg works with _yield on hierarchical .dat.gz ──
  Error in `basename(x)`: a character vector argument expected
  Backtrace:
       ▆
    1. ├─testthat::expect_warning(...) at test_lower_names.R:290:3
    2. │ └─testthat:::expect_condition_matching_(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─ipumsr::read_ipums_micro_list_yield(ddi, verbose = FALSE, lower_vars = TRUE)
    8.   └─ipumsr:::check_valid_ddi(ddi)
    9.     └─tools::file_ext(ddi)
   10.       ├─base::ifelse(...)
   11.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   12.       │ └─base::is.factor(x)
   13.       └─base::basename(x)
  ── Error ('test_micro.R:135:3'): Can read microdata from an `ipums_ddi` object ──
  Error in `basename(x)`: a character vector argument expected
  Backtrace:
       ▆
    1. ├─testthat::expect_message(...) at test_micro.R:135:3
    2. │ └─testthat:::expect_condition_matching_(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─ipumsr::read_ipums_micro(read_ipums_ddi(ipums_example("cps_00157.xml")))
    8.   └─ipumsr:::check_valid_ddi(ddi)
    9.     └─tools::file_ext(ddi)
   10.       ├─base::ifelse(...)
   11.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   12.       │ └─base::is.factor(x)
   13.       └─base::basename(x)
  ── Error ('test_set_var_attributes.R:2:3'): can set attributes altogether ──────
  Error in `basename(x)`: a character vector argument expected
  Backtrace:
      ▆
   1. └─ipumsr::read_ipums_micro(...) at test_set_var_attributes.R:2:3
   2.   └─ipumsr:::check_valid_ddi(ddi)
   3.     └─tools::file_ext(ddi)
   4.       ├─base::ifelse(...)
   5.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   6.       │ └─base::is.factor(x)
   7.       └─base::basename(x)
  ── Error ('test_set_var_attributes.R:24:3'): setting variable attributes one at a time (#34) ──
  Error in `basename(x)`: a character vector argument expected
  Backtrace:
      ▆
   1. └─ipumsr::read_ipums_micro(ddi, var_attrs = NULL, verbose = FALSE) at test_set_var_attributes.R:24:3
   2.   └─ipumsr:::check_valid_ddi(ddi)
   3.     └─tools::file_ext(ddi)
   4.       ├─base::ifelse(...)
   5.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   6.       │ └─base::is.factor(x)
   7.       └─base::basename(x)
  
  [ FAIL 13 | WARN 0 | SKIP 6 | PASS 838 ]
  Error:
  ! Test failures.
  Warning message:
  `check_cassette_names()` was deprecated in vcr 2.0.0. 
  Execution halted
ERROR r-devel-linux-x86_64-fedora-clang

tests

  Running ‘testthat.R’ [135s/400s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional test configuration?
  > # Learn more about the roles of various files in:
  > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview
  > # * https://testthat.r-lib.org/articles/special-files.html
  > 
  > library(testthat)
  > library(ipumsr)
  > 
  > test_check("ipumsr")
  Saving _problems/test_lower_names-45.R
  Saving _problems/test_lower_names-68.R
  Saving _problems/test_lower_names-79.R
  Saving _problems/test_lower_names-90.R
  Saving _problems/test_lower_names-101.R
  Saving _problems/test_lower_names-126.R
  Saving _problems/test_lower_names-160.R
  Saving _problems/test_lower_names-223.R
  Saving _problems/test_lower_names-248.R
  Saving _problems/test_lower_names-297.R
  Saving _problems/test_micro-138.R
  Saving _problems/test_set_var_attributes-5.R
  Saving _problems/test_set_var_attributes-24.R
  [ FAIL 13 | WARN 0 | SKIP 6 | PASS 838 ]
  
  ══ Skipped tests (6) ═══════════════════════════════════════════════════════════
  • On CRAN (6): 'test_api_helpers.R:3:1', 'test_api_helpers.R:23:1',
    'test_micro_chunked.R:24:3', 'test_read_agg.R:7:1', 'test_read_agg.R:372:1',
    'test_shape_read.R:81:1'
  
  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Error ('test_lower_names.R:45:3'): Reading variables in lowercase is okay - rect micro data ──
  Error in `basename(x)`: path too long
  Backtrace:
      ▆
   1. └─ipumsr::read_ipums_micro(ddi, verbose = FALSE) at test_lower_names.R:45:3
   2.   └─ipumsr:::check_valid_ddi(ddi)
   3.     └─tools::file_ext(ddi)
   4.       ├─base::ifelse(...)
   5.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   6.       │ └─base::is.factor(x)
   7.       └─base::basename(x)
  ── Error ('test_lower_names.R:68:3'): Reading variables in lowercase is okay - hier micro data ──
  Error in `basename(x)`: path too long
  Backtrace:
      ▆
   1. └─ipumsr::read_ipums_micro_list(ddi, verbose = FALSE) at test_lower_names.R:68:3
   2.   └─ipumsr:::check_valid_ddi(ddi)
   3.     └─tools::file_ext(ddi)
   4.       ├─base::ifelse(...)
   5.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   6.       │ └─base::is.factor(x)
   7.       └─base::basename(x)
  ── Error ('test_lower_names.R:76:3'): lower_vars = TRUE warning on rectangular .dat.gz ──
  Error in `basename(x)`: path too long
  Backtrace:
       ▆
    1. ├─testthat::expect_warning(...) at test_lower_names.R:76:3
    2. │ └─testthat:::expect_condition_matching_(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─ipumsr::read_ipums_micro(ddi, verbose = FALSE, lower_vars = TRUE)
    8.   └─ipumsr:::check_valid_ddi(ddi)
    9.     └─tools::file_ext(ddi)
   10.       ├─base::ifelse(...)
   11.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   12.       │ └─base::is.factor(x)
   13.       └─base::basename(x)
  ── Error ('test_lower_names.R:87:3'): lower_vars = TRUE warning on hierarchical .dat.gz ──
  Error in `basename(x)`: path too long
  Backtrace:
       ▆
    1. ├─testthat::expect_warning(...) at test_lower_names.R:87:3
    2. │ └─testthat:::expect_condition_matching_(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─ipumsr::read_ipums_micro_list(ddi, verbose = FALSE, lower_vars = TRUE)
    8.   └─ipumsr:::check_valid_ddi(ddi)
    9.     └─tools::file_ext(ddi)
   10.       ├─base::ifelse(...)
   11.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   12.       │ └─base::is.factor(x)
   13.       └─base::basename(x)
  ── Error ('test_lower_names.R:97:3'): lower_vars arg works on .csv.gz file ─────
  Error in `basename(x)`: path too long
  Backtrace:
      ▆
   1. └─ipumsr::read_ipums_micro(...) at test_lower_names.R:97:3
   2.   └─ipumsr:::check_valid_ddi(ddi)
   3.     └─tools::file_ext(ddi)
   4.       ├─base::ifelse(...)
   5.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   6.       │ └─base::is.factor(x)
   7.       └─base::basename(x)
  ── Error ('test_lower_names.R:118:3'): lower_vars arg works on chunked rectangular .dat.gz ──
  Error in `basename(x)`: path too long
  Backtrace:
       ▆
    1. ├─testthat::expect_warning(...) at test_lower_names.R:118:3
    2. │ └─testthat:::expect_condition_matching_(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─ipumsr::read_ipums_micro_chunked(...)
    8.   └─ipumsr:::check_valid_ddi(ddi)
    9.     └─tools::file_ext(ddi)
   10.       ├─base::ifelse(...)
   11.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   12.       │ └─base::is.factor(x)
   13.       └─base::basename(x)
  ── Error ('test_lower_names.R:152:3'): lower_vars arg works on chunked hierarchical .dat.gz ──
  Error in `basename(x)`: path too long
  Backtrace:
       ▆
    1. ├─testthat::expect_warning(...) at test_lower_names.R:152:3
    2. │ └─testthat:::expect_condition_matching_(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─ipumsr::read_ipums_micro_list_chunked(...)
    8.   └─ipumsr:::check_valid_ddi(ddi)
    9.     └─tools::file_ext(ddi)
   10.       ├─base::ifelse(...)
   11.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   12.       │ └─base::is.factor(x)
   13.       └─base::basename(x)
  ── Error ('test_lower_names.R:218:3'): lower_vars arg works on chunked .csv.gz file ──
  Error in `basename(x)`: path too long
  Backtrace:
      ▆
   1. └─ipumsr::read_ipums_micro_chunked(...) at test_lower_names.R:218:3
   2.   └─ipumsr:::check_valid_ddi(ddi)
   3.     └─tools::file_ext(ddi)
   4.       ├─base::ifelse(...)
   5.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   6.       │ └─base::is.factor(x)
   7.       └─base::basename(x)
  ── Error ('test_lower_names.R:241:3'): lower_vars arg works with _yield on rectangular .dat.gz ──
  Error in `basename(x)`: path too long
  Backtrace:
       ▆
    1. ├─testthat::expect_warning(...) at test_lower_names.R:241:3
    2. │ └─testthat:::expect_condition_matching_(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─ipumsr::read_ipums_micro_yield(ddi, verbose = FALSE, lower_vars = TRUE)
    8.   └─ipumsr:::check_valid_ddi(ddi)
    9.     └─tools::file_ext(ddi)
   10.       ├─base::ifelse(...)
   11.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   12.       │ └─base::is.factor(x)
   13.       └─base::basename(x)
  ── Error ('test_lower_names.R:290:3'): lower_vars arg works with _yield on hierarchical .dat.gz ──
  Error in `basename(x)`: path too long
  Backtrace:
       ▆
    1. ├─testthat::expect_warning(...) at test_lower_names.R:290:3
    2. │ └─testthat:::expect_condition_matching_(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─ipumsr::read_ipums_micro_list_yield(ddi, verbose = FALSE, lower_vars = TRUE)
    8.   └─ipumsr:::check_valid_ddi(ddi)
    9.     └─tools::file_ext(ddi)
   10.       ├─base::ifelse(...)
   11.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   12.       │ └─base::is.factor(x)
   13.       └─base::basename(x)
  ── Error ('test_micro.R:135:3'): Can read microdata from an `ipums_ddi` object ──
  Error in `basename(x)`: path too long
  Backtrace:
       ▆
    1. ├─testthat::expect_message(...) at test_micro.R:135:3
    2. │ └─testthat:::expect_condition_matching_(...)
    3. │   └─testthat:::quasi_capture(...)
    4. │     ├─testthat (local) .capture(...)
    5. │     │ └─base::withCallingHandlers(...)
    6. │     └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo))
    7. └─ipumsr::read_ipums_micro(read_ipums_ddi(ipums_example("cps_00157.xml")))
    8.   └─ipumsr:::check_valid_ddi(ddi)
    9.     └─tools::file_ext(ddi)
   10.       ├─base::ifelse(...)
   11.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   12.       │ └─base::is.factor(x)
   13.       └─base::basename(x)
  ── Error ('test_set_var_attributes.R:2:3'): can set attributes altogether ──────
  Error in `basename(x)`: path too long
  Backtrace:
      ▆
   1. └─ipumsr::read_ipums_micro(...) at test_set_var_attributes.R:2:3
   2.   └─ipumsr:::check_valid_ddi(ddi)
   3.     └─tools::file_ext(ddi)
   4.       ├─base::ifelse(...)
   5.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   6.       │ └─base::is.factor(x)
   7.       └─base::basename(x)
  ── Error ('test_set_var_attributes.R:24:3'): setting variable attributes one at a time (#34) ──
  Error in `basename(x)`: path too long
  Backtrace:
      ▆
   1. └─ipumsr::read_ipums_micro(ddi, var_attrs = NULL, verbose = FALSE) at test_set_var_attributes.R:24:3
   2.   └─ipumsr:::check_valid_ddi(ddi)
   3.     └─tools::file_ext(ddi)
   4.       ├─base::ifelse(...)
   5.       ├─base::grepl("^(.*[^.]+.*)[.]([[:alnum:]]+)$", basename(x))
   6.       │ └─base::is.factor(x)
   7.       └─base::basename(x)
  
  [ FAIL 13 | WARN 0 | SKIP 6 | PASS 838 ]
  Error:
  ! Test failures.
  Warning message:
  `check_cassette_names()` was deprecated in vcr 2.0.0. 
  Execution halted
OK r-devel-linux-x86_64-fedora-gcc

*


            
OK r-devel-macos-arm64

*


            
OK r-devel-windows-x86_64

*


            
OK r-oldrel-macos-arm64

*


            
OK r-oldrel-macos-x86_64

*


            
OK r-oldrel-windows-x86_64

*


            
OK r-patched-linux-x86_64

*


            
OK r-release-linux-x86_64

*


            
OK r-release-macos-arm64

*


            
OK r-release-macos-x86_64

*


            
OK r-release-windows-x86_64

*


            

Additional Issues

M1mac Details →

Check History

ERROR 12 OK · 0 NOTE · 0 WARNING · 2 ERROR · 0 FAILURE Mar 9, 2026
ERROR r-devel-linux-x86_64-debian-gcc

examples

Running examples in ‘ipumsr-Ex.R’ failed
The error most likely occurred in:

> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: read_ipums_ddi
> ### Title: Read metadata about an IPUMS microdata extract from a DDI
> ###   codebook (.xml) file
> ### Aliases: read_ipums_ddi
> 
> ### ** Examples
> 
> # Example codebook file
> ddi_file <- ipums_example("cps_00157.xml")
> 
> # Load data into an `ipums_ddi` obj
> ddi <- read_ipums_ddi(ddi_file)
> 
> # Use the object to load its asso
ERROR r-devel-linux-x86_64-fedora-clang

tests

  Running ‘testthat.R’ [135s/400s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > # This file is part of the standard setup for testthat.
  > # It is recommended that you do not modify it.
  > #
  > # Where should you do additional test configuration?
  > # Learn more about the roles of various files in:
  > # * https://r-pkgs.org/testing-design.html#sec-tests-files-overview
  > # * https://testthat.r-lib.org/articles/special-files.html
  > 
  > library(testthat)
  > librar

Reverse Dependencies (3)

Dependency Network

Dependencies Reverse dependencies dplyr haven hipread httr jsonlite lifecycle purrr R6 readr rlang tibble tidyselect xml2 zeallot Ecfun MaddisonData metasurvey ipumsr

Version History

new 0.9.0 Mar 9, 2026