CRAN Package Check Results for Package lehdr

Last updated on 2026-10-22 23:56:48 CEST.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 1.2.0 5.33 172.59 177.92 OK
r-devel-linux-x86_64-debian-gcc 1.2.0 3.84 131.27 135.11 OK
r-devel-linux-x86_64-fedora-clang 1.2.0 58.64 ERROR
r-devel-linux-x86_64-fedora-gcc 1.2.0 57.96 ERROR
r-devel-windows-x86_64 1.2.0 7.00 241.00 248.00 OK
r-patched-linux-x86_64 1.2.0 5.62 155.97 161.59 OK
r-release-linux-x86_64 1.2.0 5.19 157.71 162.90 OK
r-release-macos-arm64 1.2.0 1.00 157.00 158.00 OK
r-release-macos-x86_64 1.2.0 4.00 277.00 281.00 OK
r-release-windows-x86_64 1.2.0 7.00 217.00 224.00 OK
r-oldrel-macos-arm64 1.2.0 1.00 160.00 161.00 OK
r-oldrel-macos-x86_64 1.2.0 4.00 309.00 313.00 OK
r-oldrel-windows-x86_64 1.2.0 10.00 247.00 257.00 OK

Check Details

Version: 1.2.0
Check: tests
Result: ERROR Running ‘testthat.R’ [20s/56s] Running the tests in ‘tests/testthat.R’ failed. Complete output: > library(testthat) > library(lehdr) lehdr 1.2.0 To enable caching of data, set `options(lehdr_use_cache = TRUE)` To cite lehdr in published work (Chicago author-date): Green, Jamaal, Liming Wang, and Dillon Mahmoudi. 2025. "lehdr: Grab Longitudinal Employer-Household Dynamics (LEHD) Flat Files." R package version 1.2.0. https://github.com/jamgreen/lehdr/ Run citation("lehdr") for a BibTeX entry. Use suppressPackageStartupMessages() to suppress this message. > library(dplyr) Attaching package: 'dplyr' The following objects are masked from 'package:stats': filter, lag The following objects are masked from 'package:base': intersect, setdiff, setequal, union > > test_check("lehdr") Using cached file: lodes8_de_od_main_JT00_2020.csv.gz Saving _problems/test-lehdr-29.R Using cached file: lodes5_de_od_main_JT00_2009.csv.gz Saving _problems/test-lehdr-45.R Using cached file: lodes8_de_od_main_JT00_2015.csv.gz Saving _problems/test-lehdr-63.R Using cached file: lodes5_de_od_aux_JT00_2009.csv.gz Saving _problems/test-lehdr-78.R Using cached file: lodes8_de_od_main_JT00_2020.csv.gz Using cached file: lodes7_de_rac_S000_JT00_2014.csv.gz Saving _problems/test-lehdr-111.R Using cached file: lodes8_de_rac_S000_JT00_2015.csv.gz Saving _problems/test-lehdr-125.R Using cached file: lodes7_de_rac_SA01_JT01_2004.csv.gz Saving _problems/test-lehdr-141.R Using cached file: lodes5_de_wac_S000_JT01_2009.csv.gz Saving _problems/test-lehdr-159.R Using cached file: lodes7_de_wac_S000_JT00_2015.csv.gz Saving _problems/test-lehdr-173.R Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-187.R Using cached file: lodes7_vt_wac_S000_JT00_2015.csv.gz No cached file found; downloading lodes8_vt_wac_S000_JT00_2015.csv.gz... Download complete: lodes8_vt_wac_S000_JT00_2015.csv.gz Using cached file: lodes5_nd_od_main_JT01_2007.csv.gz No cached file found; downloading lodes5_vt_od_main_JT01_2007.csv.gz... Download complete: lodes5_vt_od_main_JT01_2007.csv.gz No cached file found; downloading lodes5_nd_od_main_JT01_2008.csv.gz... Download complete: lodes5_nd_od_main_JT01_2008.csv.gz No cached file found; downloading lodes5_vt_od_main_JT01_2008.csv.gz... Download complete: lodes5_vt_od_main_JT01_2008.csv.gz Saving _problems/test-lehdr-309.R Using cached file: lodes8_de_od_main_JT01_2013.csv.gz No cached file found; downloading lodes8_vt_od_main_JT01_2013.csv.gz... Download complete: lodes8_vt_od_main_JT01_2013.csv.gz No cached file found; downloading lodes8_de_od_main_JT01_2014.csv.gz... Download complete: lodes8_de_od_main_JT01_2014.csv.gz No cached file found; downloading lodes8_vt_od_main_JT01_2014.csv.gz... Download complete: lodes8_vt_od_main_JT01_2014.csv.gz Saving _problems/test-lehdr-326.R Using cached file: lodes8_de_od_main_JT01_2013.csv.gz Using cached file: lodes8_sd_od_main_JT01_2013.csv.gz No cached file found; downloading lodes8_de_od_main_JT01_2020.csv.gz... Download complete: lodes8_de_od_main_JT01_2020.csv.gz No cached file found; downloading lodes8_sd_od_main_JT01_2020.csv.gz... Download complete: lodes8_sd_od_main_JT01_2020.csv.gz Saving _problems/test-lehdr-343.R Using cached file: lodes7_de_wac_S000_JT00_2013.csv.gz Using cached file: lodes7_vt_wac_S000_JT00_2013.csv.gz No cached file found; downloading lodes7_de_wac_S000_JT00_2014.csv.gz... Download complete: lodes7_de_wac_S000_JT00_2014.csv.gz No cached file found; downloading lodes7_vt_wac_S000_JT00_2014.csv.gz... Download complete: lodes7_vt_wac_S000_JT00_2014.csv.gz Saving _problems/test-lehdr-360.R Using cached file: lodes5_de_wac_S000_JT00_2007.csv.gz No cached file found; downloading lodes5_vt_wac_S000_JT00_2007.csv.gz... Download complete: lodes5_vt_wac_S000_JT00_2007.csv.gz No cached file found; downloading lodes5_de_wac_S000_JT00_2009.csv.gz... Download complete: lodes5_de_wac_S000_JT00_2009.csv.gz No cached file found; downloading lodes5_vt_wac_S000_JT00_2009.csv.gz... Download complete: lodes5_vt_wac_S000_JT00_2009.csv.gz Saving _problems/test-lehdr-375.R Using cached file: lodes7_de_wac_S000_JT00_2013.csv.gz Using cached file: lodes7_vt_wac_S000_JT00_2013.csv.gz Using cached file: lodes7_de_wac_S000_JT00_2014.csv.gz Using cached file: lodes7_vt_wac_S000_JT00_2014.csv.gz Saving _problems/test-lehdr-389.R Using cached file: lodes8_de_wac_S000_JT01_2017.csv.gz No cached file found; downloading lodes8_vt_wac_S000_JT01_2017.csv.gz... Download complete: lodes8_vt_wac_S000_JT01_2017.csv.gz No cached file found; downloading lodes8_de_wac_S000_JT01_2018.csv.gz... Download complete: lodes8_de_wac_S000_JT01_2018.csv.gz No cached file found; downloading lodes8_vt_wac_S000_JT01_2018.csv.gz... Download complete: lodes8_vt_wac_S000_JT01_2018.csv.gz No cached file found; downloading lodes8_de_wac_S000_JT01_2019.csv.gz... Download complete: lodes8_de_wac_S000_JT01_2019.csv.gz No cached file found; downloading lodes8_vt_wac_S000_JT01_2019.csv.gz... Download complete: lodes8_vt_wac_S000_JT01_2019.csv.gz No cached file found; downloading lodes8_de_wac_S000_JT01_2020.csv.gz... Download complete: lodes8_de_wac_S000_JT01_2020.csv.gz No cached file found; downloading lodes8_vt_wac_S000_JT01_2020.csv.gz... Download complete: lodes8_vt_wac_S000_JT01_2020.csv.gz Saving _problems/test-lehdr-405.R Using cached file: lodes8_de_wac_S000_JT00_2019.csv.gz No cached file found; downloading lodes8_vt_wac_S000_JT00_2019.csv.gz... Download complete: lodes8_vt_wac_S000_JT00_2019.csv.gz Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz No cached file found; downloading lodes8_vt_wac_S000_JT00_2020.csv.gz... Download complete: lodes8_vt_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-426.R Downloading crosswalk https://lehd.ces.census.gov/data/lodes/LODES8/vt/vt_xwalk.csv.gz to lodes8_vt_xwalk.csv.gz Download complete for lodes8_vt_xwalk.csv.gz lodes8_vt_xwalk.csv.gz crosswalk cleared from cache. Downloading crosswalk https://lehd.ces.census.gov/data/lodes/LODES8/wy/wy_xwalk.csv.gz to lodes8_wy_xwalk.csv.gz Download complete for lodes8_wy_xwalk.csv.gz Downloading crosswalk https://lehd.ces.census.gov/data/lodes/LODES8/nd/nd_xwalk.csv.gz to lodes8_nd_xwalk.csv.gz Download complete for lodes8_nd_xwalk.csv.gz lodes8_wy_xwalk.csv.gz crosswalk cleared from cache. lodes8_nd_xwalk.csv.gz crosswalk cleared from cache. Downloading crosswalk https://lehd.ces.census.gov/data/lodes/LODES7/vt/vt_xwalk.csv.gz to lodes7_vt_xwalk.csv.gz Download complete for lodes7_vt_xwalk.csv.gz lodes7_vt_xwalk.csv.gz crosswalk cleared from cache. Downloading crosswalk https://lehd.ces.census.gov/data/lodes/LODES8/vt/vt_xwalk.csv.gz to lodes8_vt_xwalk.csv.gz Download complete for lodes8_vt_xwalk.csv.gz lodes8_vt_xwalk.csv.gz crosswalk cleared from cache. Downloading crosswalk https://lehd.ces.census.gov/data/lodes/LODES7/vt/vt_xwalk.csv.gz to lodes7_vt_xwalk.csv.gz Download complete for lodes7_vt_xwalk.csv.gz lodes7_vt_xwalk.csv.gz crosswalk cleared from cache. Using cached file: lodes5_vt_rac_SA01_JT01_2008.csv.gz Saving _problems/test-lehdr-482.R Using cached file: lodes5_vt_wac_SA01_JT01_2008.csv.gz Saving _problems/test-lehdr-500.R Using cached file: lodes8_vt_rac_SA01_JT01_2022.csv.gz Saving _problems/test-lehdr-518.R Using cached file: lodes8_vt_wac_SA01_JT01_2022.csv.gz Saving _problems/test-lehdr-536.R Using cached file: lodes5_vt_rac_SA01_JT01_2008.csv.gz Saving _problems/test-lehdr-554.R Using cached file: lodes5_vt_wac_SA01_JT01_2008.csv.gz Saving _problems/test-lehdr-572.R Saving _problems/test-lehdr-592.R Using cached file: lodes8_de_od_main_JT00_2020.csv.gz Saving _problems/test-lehdr-617.R Using cached file: lodes8_de_od_main_JT00_2020.csv.gz Saving _problems/test-lehdr-643.R Using cached file: lodes8_de_od_main_JT00_2020.csv.gz Saving _problems/test-lehdr-664.R Using cached file: lodes8_de_od_main_JT00_2020.csv.gz Saving _problems/test-lehdr-684.R Using cached file: lodes8_de_od_main_JT00_2020.csv.gz Saving _problems/test-lehdr-705.R Using cached file: lodes8_de_wac_S000_JT00_2017.csv.gz Using cached file: lodes8_vt_wac_S000_JT00_2017.csv.gz Using cached file: lodes8_de_wac_S000_JT00_2019.csv.gz Using cached file: lodes8_vt_wac_S000_JT00_2019.csv.gz Saving _problems/test-lehdr-757.R Using cached file: lodes8_de_wac_S000_JT00_2017.csv.gz Using cached file: lodes8_vt_wac_S000_JT00_2017.csv.gz Using cached file: lodes8_de_wac_S000_JT00_2019.csv.gz Using cached file: lodes8_vt_wac_S000_JT00_2019.csv.gz Saving _problems/test-lehdr-788.R Using cached file: lodes8_de_wac_S000_JT00_2018.csv.gz Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-816.R Using cached file: lodes8_de_wac_S000_JT00_2015.csv.gz Using cached file: lodes8_de_wac_S000_JT00_2017.csv.gz Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-837.R Using cached file: lodes8_de_wac_S000_JT00_2018.csv.gz Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-868.R Using cached file: lodes8_de_wac_S000_JT00_2018.csv.gz Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-905.R Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-923.R Using cached file: lodes8_de_rac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-944.R Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-969.R Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-995.R Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-1017.R Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-1064.R [ FAIL 42 | WARN 57 | SKIP 0 | PASS 22 ] ══ Failed tests ════════════════════════════════════════════════════════════════ ── Failure ('test-lehdr.R:17:3'): grab_lodes returns correct dimensions for OD tract-level LODES8 ── Expected `... %>% dim()` to equal `c(36671, 14)`. Differences: `actual`: 0.0 2.0 `expected`: 36671.0 14.0 ── Failure ('test-lehdr.R:35:3'): grab_lodes returns correct dimensions for OD tract-level LODES5 ── Expected `... %>% dim()` to equal `c(25805, 14)`. Differences: `actual`: 0.0 2.0 `expected`: 25805.0 14.0 ── Failure ('test-lehdr.R:52:3'): grab_lodes accepts year as character string for OD block-level LODES8 ── Expected `... %>% dim()` to equal `c(290314, 15)`. Differences: `actual`: 0.0 5.0 `expected`: 290314.0 15.0 ── Failure ('test-lehdr.R:69:3'): grab_lodes returns correct dimensions for OD aux state_part LODES5 ── Expected `... %>% dim()` to equal `c(68588, 15)`. Differences: `actual`: 0.0 5.0 `expected`: 68588.0 15.0 ── Failure ('test-lehdr.R:102:3'): grab_lodes returns correct dimensions for RAC tract-level LODES7 ── Expected `... %>% dim()` to equal `c(218, 44)`. Differences: `actual`: 0.0 2.0 `expected`: 218.0 44.0 ── Failure ('test-lehdr.R:117:3'): grab_lodes returns correct dimensions for RAC block-level LODES8 ── Expected `... %>% dim()` to equal `c(14436, 45)`. Differences: `actual`: 0.0 4.0 `expected`: 14436.0 45.0 ── Failure ('test-lehdr.R:131:3'): grab_lodes returns correct dimensions for RAC with non-default job_type and segment ── Expected `... %>% dim()` to equal `c(12596, 45)`. Differences: `actual`: 0.0 4.0 `expected`: 12596.0 45.0 ── Failure ('test-lehdr.R:149:3'): grab_lodes returns correct dimensions for WAC tract-level LODES5 ── Expected `... %>% dim()` to equal `c(197, 42)`. Differences: `actual`: 0.0 2.0 `expected`: 197.0 42.0 ── Failure ('test-lehdr.R:165:3'): grab_lodes returns correct dimensions for WAC block-level LODES7 ── Expected `... %>% dim()` to equal `c(5476, 55)`. Differences: `actual`: 0.0 4.0 `expected`: 5476.0 55.0 ── Failure ('test-lehdr.R:179:3'): grab_lodes returns correct dimensions for WAC block-level LODES8 ── Expected `... %>% dim()` to equal `c(6421, 55)`. Differences: `actual`: 0.0 4.0 `expected`: 6421.0 55.0 ── Failure ('test-lehdr.R:297:3'): grab_lodes returns correct dimensions for multi-state OD LODES5 ── Expected `... %>% dim()` to equal `c(65262, 14)`. Differences: `actual`: 48525.0 14.0 `expected`: 65262.0 14.0 ── Failure ('test-lehdr.R:315:3'): grab_lodes returns correct dimensions for multi-state OD LODES8 ── Expected `... %>% dim()` to equal `c(929717, 15)`. Differences: `actual`: 675373.0 18.0 `expected`: 929717.0 15.0 ── Failure ('test-lehdr.R:332:3'): grab_lodes returns correct dimensions for cross-year multi-state OD LODES8 ── Expected `... %>% dim()` to equal `c(1125184, 15)`. Differences: `actual`: 575540.0 18.0 `expected`: 1125184.0 15.0 ── Failure ('test-lehdr.R:351:3'): grab_lodes returns correct dimensions for multi-state WAC tract-level LODES7 ── Expected `... %>% dim()` to equal `c(798, 54)`. Differences: `actual`: 399.0 54.0 `expected`: 798.0 54.0 ── Failure ('test-lehdr.R:366:3'): grab_lodes returns correct dimensions for multi-state WAC tract-level LODES5 ── Expected `... %>% dim()` to equal `c(752, 42)`. Differences: `actual`: 555.0 42.0 `expected`: 752.0 42.0 ── Failure ('test-lehdr.R:381:3'): grab_lodes returns correct dimensions for multi-state WAC block-level LODES7 ── Expected `... %>% dim()` to equal `c(24132, 55)`. Differences: `actual`: 12174.0 57.0 `expected`: 24132.0 55.0 ── Failure ('test-lehdr.R:395:3'): grab_lodes returns correct dimensions for multi-year WAC block-level LODES8 ── Expected `... %>% dim()` to equal `c(55696, 55)`. Differences: `actual`: 49676.0 57.0 `expected`: 55696.0 55.0 ── Failure ('test-lehdr.R:426:3'): grab_lodes multi-state result contains year and state columns ── Expected `unique(result$state)` to have the same values as `c("DE", "VT")`. Actual: "VT" Expected: "DE", "VT" Absent: "DE" ── Error ('test-lehdr.R:472:3'): grab_lodes with geometry = TRUE returns sf for RAC county-level LODES5 ── <dplyr:::mutate_error/rlang_error/error/condition> Error in `dplyr::mutate(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP))`: i In argument: `GEOID = paste0(STATEFP, COUNTYFP)`. Caused by error: ! object 'STATEFP' not found Backtrace: ▆ 1. ├─lehdr::grab_lodes(...) at test-lehdr.R:472:3 2. │ └─lehdr:::join_lodes_geometry(...) 3. │ └─lehdr:::grab_lodes_geometry(...) 4. │ ├─dplyr::mutate(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP)) 5. │ └─dplyr:::mutate.data.frame(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP)) 6. │ └─dplyr:::mutate_cols(.data, dplyr_quosures(...), by) 7. │ ├─base::withCallingHandlers(...) 8. │ └─dplyr:::mutate_col(dots[[i]], data, mask, new_columns) 9. │ └─mask$eval_all_mutate(quo) 10. │ └─dplyr (local) eval() 11. ├─base::paste0(STATEFP, COUNTYFP) 12. └─dplyr (local) `<fn>`(`<objctNFE>`) 13. └─rlang::abort(message, class = error_class, parent = parent, call = error_call) ── Error ('test-lehdr.R:490:3'): grab_lodes with geometry = TRUE returns sf for WAC county-level LODES5 ── <dplyr:::mutate_error/rlang_error/error/condition> Error in `dplyr::mutate(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP))`: i In argument: `GEOID = paste0(STATEFP, COUNTYFP)`. Caused by error: ! object 'STATEFP' not found Backtrace: ▆ 1. ├─lehdr::grab_lodes(...) at test-lehdr.R:490:3 2. │ └─lehdr:::join_lodes_geometry(...) 3. │ └─lehdr:::grab_lodes_geometry(...) 4. │ ├─dplyr::mutate(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP)) 5. │ └─dplyr:::mutate.data.frame(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP)) 6. │ └─dplyr:::mutate_cols(.data, dplyr_quosures(...), by) 7. │ ├─base::withCallingHandlers(...) 8. │ └─dplyr:::mutate_col(dots[[i]], data, mask, new_columns) 9. │ └─mask$eval_all_mutate(quo) 10. │ └─dplyr (local) eval() 11. ├─base::paste0(STATEFP, COUNTYFP) 12. └─dplyr (local) `<fn>`(`<objctNFE>`) 13. └─rlang::abort(message, class = error_class, parent = parent, call = error_call) ── Error ('test-lehdr.R:508:3'): grab_lodes with geometry = TRUE returns sf for RAC block-group LODES8 ── Error in `dplyr::select(lehdr_sf, dplyr::all_of(cols))`: i In argument: `dplyr::all_of(cols)`. Caused by error in `dplyr::all_of()`: ! Can't subset elements that don't exist. x Element `GEOID` doesn't exist. ── Error ('test-lehdr.R:526:3'): grab_lodes with geometry = TRUE returns sf for WAC block-group LODES8 ── Error in `dplyr::select(lehdr_sf, dplyr::all_of(cols))`: i In argument: `dplyr::all_of(cols)`. Caused by error in `dplyr::all_of()`: ! Can't subset elements that don't exist. x Element `GEOID` doesn't exist. ── Error ('test-lehdr.R:544:3'): grab_lodes with geometry = TRUE returns sf for RAC block-level LODES5 ── Error in `dplyr::select(lehdr_sf, dplyr::all_of(cols))`: Selections can't have missing values. Backtrace: ▆ 1. └─lehdr::grab_lodes(...) at test-lehdr.R:544:3 2. └─lehdr:::join_lodes_geometry(...) 3. └─lehdr:::grab_lodes_geometry(...) 4. ├─dplyr::select(lehdr_sf, dplyr::all_of(cols)) 5. └─dplyr:::select.data.frame(lehdr_sf, dplyr::all_of(cols)) 6. └─tidyselect::eval_select(expr(c(...)), data = .data, error_call = error_call) 7. └─tidyselect:::eval_select_impl(...) 8. ├─tidyselect:::with_subscript_errors(...) 9. │ └─base::withCallingHandlers(...) 10. └─tidyselect:::vars_select_eval(...) 11. └─tidyselect:::loc_validate(pos, vars, call = error_call) 12. └─tidyselect:::check_missing(pos, call = call) 13. └─rlang::abort("Selections can't have missing values.", call = call) ── Error ('test-lehdr.R:562:3'): grab_lodes with geometry = TRUE returns sf for WAC block-level LODES5 ── Error in `dplyr::select(lehdr_sf, dplyr::all_of(cols))`: Selections can't have missing values. Backtrace: ▆ 1. └─lehdr::grab_lodes(...) at test-lehdr.R:562:3 2. └─lehdr:::join_lodes_geometry(...) 3. └─lehdr:::grab_lodes_geometry(...) 4. ├─dplyr::select(lehdr_sf, dplyr::all_of(cols)) 5. └─dplyr:::select.data.frame(lehdr_sf, dplyr::all_of(cols)) 6. └─tidyselect::eval_select(expr(c(...)), data = .data, error_call = error_call) 7. └─tidyselect:::eval_select_impl(...) 8. ├─tidyselect:::with_subscript_errors(...) 9. │ └─base::withCallingHandlers(...) 10. └─tidyselect:::vars_select_eval(...) 11. └─tidyselect:::loc_validate(pos, vars, call = error_call) 12. └─tidyselect:::check_missing(pos, call = call) 13. └─rlang::abort("Selections can't have missing values.", call = call) ── Error ('test-lehdr.R:580:3'): grab_lodes with geometry = TRUE and lodes_type = od emits a message ── <dplyr:::mutate_error/rlang_error/error/condition> Error in `dplyr::mutate(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP))`: i In argument: `GEOID = paste0(STATEFP, COUNTYFP)`. Caused by error: ! object 'STATEFP' not found Backtrace: ▆ 1. ├─testthat::expect_message(...) at test-lehdr.R:580: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. ├─lehdr::grab_lodes(...) 8. │ └─lehdr:::join_lodes_geometry(...) 9. │ └─lehdr:::grab_lodes_geometry(...) 10. │ ├─dplyr::mutate(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP)) 11. │ └─dplyr:::mutate.data.frame(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP)) 12. │ └─dplyr:::mutate_cols(.data, dplyr_quosures(...), by) 13. │ ├─base::withCallingHandlers(...) 14. │ └─dplyr:::mutate_col(dots[[i]], data, mask, new_columns) 15. │ └─mask$eval_all_mutate(quo) 16. │ └─dplyr (local) eval() 17. ├─base::paste0(STATEFP, COUNTYFP) 18. └─dplyr (local) `<fn>`(`<objctNFE>`) 19. └─rlang::abort(message, class = error_class, parent = parent, call = error_call) ── Error ('test-lehdr.R:617:3'): compute_commute_stats returns expected columns for tract-level OD ── Error in `compute_commute_stats(od, agg_geo = "tract")`: Column `h_tract` not found in `od_df`. i Ensure `od_df` was retrieved with `lodes_type = "od"` and `agg_geo = "tract"` (or aggregated to that level). Backtrace: ▆ 1. └─lehdr::compute_commute_stats(od, agg_geo = "tract") at test-lehdr.R:617:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:643:3'): compute_commute_stats count columns are non-negative ── Error in `compute_commute_stats(od, agg_geo = "tract")`: Column `h_tract` not found in `od_df`. i Ensure `od_df` was retrieved with `lodes_type = "od"` and `agg_geo = "tract"` (or aggregated to that level). Backtrace: ▆ 1. └─lehdr::compute_commute_stats(od, agg_geo = "tract") at test-lehdr.R:643:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:664:3'): compute_commute_stats self_containment is in [0, 1] ── Error in `compute_commute_stats(od, agg_geo = "tract")`: Column `h_tract` not found in `od_df`. i Ensure `od_df` was retrieved with `lodes_type = "od"` and `agg_geo = "tract"` (or aggregated to that level). Backtrace: ▆ 1. └─lehdr::compute_commute_stats(od, agg_geo = "tract") at test-lehdr.R:664:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:684:3'): compute_commute_stats net_flow equals workers_in minus workers_out_total ── Error in `compute_commute_stats(od, agg_geo = "tract")`: Column `h_tract` not found in `od_df`. i Ensure `od_df` was retrieved with `lodes_type = "od"` and `agg_geo = "tract"` (or aggregated to that level). Backtrace: ▆ 1. └─lehdr::compute_commute_stats(od, agg_geo = "tract") at test-lehdr.R:684:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:705:3'): compute_commute_stats works at county level and returns one row per county ── Error in `compute_commute_stats(od, agg_geo = "county")`: Column `h_county` not found in `od_df`. i Ensure `od_df` was retrieved with `lodes_type = "od"` and `agg_geo = "county"` (or aggregated to that level). Backtrace: ▆ 1. └─lehdr::compute_commute_stats(od, agg_geo = "county") at test-lehdr.R:705:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:751:3'): compute_lodes_change wide output has expected column suffixes ── Error in `compute_lodes_change(wac, geo_col = "w_county", base_year = 2017, compare_year = 2019, variables = c("C000", "CE01", "CE02", "CE03"))`: `lodes_df` must contain data for at least two distinct years. i Only year 2019 found. Backtrace: ▆ 1. └─lehdr::compute_lodes_change(...) at test-lehdr.R:751:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:781:3'): compute_lodes_change long output has required columns ── Error in `compute_lodes_change(wac, geo_col = "w_county", base_year = 2017, compare_year = 2019, variables = "C000", output = "long")`: `lodes_df` must contain data for at least two distinct years. i Only year 2019 found. Backtrace: ▆ 1. └─lehdr::compute_lodes_change(...) at test-lehdr.R:781:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:812:3'): compute_lodes_change pct_change arithmetic is correct ── Error in `compute_lodes_change(wac, geo_col = "w_county", variables = "C000")`: `lodes_df` must contain data for at least two distinct years. Backtrace: ▆ 1. └─lehdr::compute_lodes_change(wac, geo_col = "w_county", variables = "C000") at test-lehdr.R:812:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:837:3'): compute_lodes_change defaults base and compare to min and max year ── Error in `compute_lodes_change(wac, geo_col = "w_county", variables = "C000")`: `lodes_df` must contain data for at least two distinct years. Backtrace: ▆ 1. └─lehdr::compute_lodes_change(wac, geo_col = "w_county", variables = "C000") at test-lehdr.R:837:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:865:3'): compute_lodes_change auto-detects geo_col and emits an inform message ── Error in `compute_lodes_change(wac, variables = "C000")`: `lodes_df` must contain data for at least two distinct years. Backtrace: ▆ 1. ├─testthat::expect_message(...) at test-lehdr.R:865: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. └─lehdr::compute_lodes_change(wac, variables = "C000") 8. └─rlang::abort(...) ── Error ('test-lehdr.R:902:3'): compute_lodes_change aborts when base_year is not in the data ── Error in `compute_lodes_change(wac, geo_col = "w_county", base_year = 2010)`: `lodes_df` must contain data for at least two distinct years. Backtrace: ▆ 1. ├─testthat::expect_error(...) at test-lehdr.R:902: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. └─lehdr::compute_lodes_change(wac, geo_col = "w_county", base_year = 2010) 8. └─rlang::abort(...) ── Error ('test-lehdr.R:923:3'): compute_earnings_share WAC wide output shares sum to 1 per row ── Error in `compute_earnings_share(wac, type = "wac", geo_col = "w_county")`: Earnings columns not found: CE01, CE02, CE03. i Retrieve data with `grab_lodes(..., lodes_type = "wac", segment = "S000")` to include earnings tier columns. Backtrace: ▆ 1. └─lehdr::compute_earnings_share(wac, type = "wac", geo_col = "w_county") at test-lehdr.R:923:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:944:3'): compute_earnings_share RAC wide output shares sum to 1 per row ── Error in `compute_earnings_share(rac, type = "rac", geo_col = "h_county")`: Earnings columns not found: CE01, CE02, CE03. i Retrieve data with `grab_lodes(..., lodes_type = "rac", segment = "S000")` to include earnings tier columns. Backtrace: ▆ 1. └─lehdr::compute_earnings_share(rac, type = "rac", geo_col = "h_county") at test-lehdr.R:944:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:964:3'): compute_earnings_share long output has required columns ── Error in `compute_earnings_share(wac, type = "wac", geo_col = "w_county", output = "long")`: Earnings columns not found: CE01, CE02, CE03. i Retrieve data with `grab_lodes(..., lodes_type = "wac", segment = "S000")` to include earnings tier columns. Backtrace: ▆ 1. └─lehdr::compute_earnings_share(wac, type = "wac", geo_col = "w_county", output = "long") at test-lehdr.R:964:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:990:3'): compute_earnings_share long shares are in [0, 1] ── Error in `compute_earnings_share(wac, type = "wac", geo_col = "w_county", output = "long")`: Earnings columns not found: CE01, CE02, CE03. i Retrieve data with `grab_lodes(..., lodes_type = "wac", segment = "S000")` to include earnings tier columns. Backtrace: ▆ 1. └─lehdr::compute_earnings_share(wac, type = "wac", geo_col = "w_county", output = "long") at test-lehdr.R:990:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:1014:3'): compute_earnings_share auto-detects geo_col and emits an inform message ── Error in `compute_earnings_share(wac, type = "wac")`: Earnings columns not found: CE01, CE02, CE03. i Retrieve data with `grab_lodes(..., lodes_type = "wac", segment = "S000")` to include earnings tier columns. Backtrace: ▆ 1. ├─testthat::expect_message(...) at test-lehdr.R:1014: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. └─lehdr::compute_earnings_share(wac, type = "wac") 8. └─rlang::abort(...) ── Error ('test-lehdr.R:1064:3'): compute_earnings_share count columns match raw column sums ── Error in `compute_earnings_share(wac, type = "wac", geo_col = "w_county")`: Earnings columns not found: CE01, CE02, CE03. i Retrieve data with `grab_lodes(..., lodes_type = "wac", segment = "S000")` to include earnings tier columns. Backtrace: ▆ 1. └─lehdr::compute_earnings_share(wac, type = "wac", geo_col = "w_county") at test-lehdr.R:1064:3 2. └─rlang::abort(...) [ FAIL 42 | WARN 57 | SKIP 0 | PASS 22 ] Error: ! Test failures. Execution halted Flavor: r-devel-linux-x86_64-fedora-clang

Version: 1.2.0
Check: tests
Result: ERROR Running ‘testthat.R’ [20s/34s] Running the tests in ‘tests/testthat.R’ failed. Complete output: > library(testthat) > library(lehdr) lehdr 1.2.0 To enable caching of data, set `options(lehdr_use_cache = TRUE)` To cite lehdr in published work (Chicago author-date): Green, Jamaal, Liming Wang, and Dillon Mahmoudi. 2025. "lehdr: Grab Longitudinal Employer-Household Dynamics (LEHD) Flat Files." R package version 1.2.0. https://github.com/jamgreen/lehdr/ Run citation("lehdr") for a BibTeX entry. Use suppressPackageStartupMessages() to suppress this message. > library(dplyr) Attaching package: 'dplyr' The following objects are masked from 'package:stats': filter, lag The following objects are masked from 'package:base': intersect, setdiff, setequal, union > > test_check("lehdr") Using cached file: lodes8_de_od_main_JT00_2020.csv.gz Saving _problems/test-lehdr-29.R Using cached file: lodes5_de_od_main_JT00_2009.csv.gz Saving _problems/test-lehdr-45.R Using cached file: lodes8_de_od_main_JT00_2015.csv.gz Saving _problems/test-lehdr-63.R Using cached file: lodes5_de_od_aux_JT00_2009.csv.gz Saving _problems/test-lehdr-78.R Using cached file: lodes8_de_od_main_JT00_2020.csv.gz Using cached file: lodes7_de_rac_S000_JT00_2014.csv.gz Saving _problems/test-lehdr-111.R Using cached file: lodes8_de_rac_S000_JT00_2015.csv.gz Saving _problems/test-lehdr-125.R Using cached file: lodes7_de_rac_SA01_JT01_2004.csv.gz Saving _problems/test-lehdr-141.R Using cached file: lodes5_de_wac_S000_JT01_2009.csv.gz Saving _problems/test-lehdr-159.R Using cached file: lodes7_de_wac_S000_JT00_2015.csv.gz Saving _problems/test-lehdr-173.R Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-187.R Using cached file: lodes7_vt_wac_S000_JT00_2015.csv.gz Using cached file: lodes8_vt_wac_S000_JT00_2015.csv.gz Using cached file: lodes5_nd_od_main_JT01_2007.csv.gz Using cached file: lodes5_vt_od_main_JT01_2007.csv.gz Using cached file: lodes5_nd_od_main_JT01_2008.csv.gz Using cached file: lodes5_vt_od_main_JT01_2008.csv.gz Saving _problems/test-lehdr-309.R Using cached file: lodes8_de_od_main_JT01_2013.csv.gz Using cached file: lodes8_vt_od_main_JT01_2013.csv.gz Using cached file: lodes8_de_od_main_JT01_2014.csv.gz Using cached file: lodes8_vt_od_main_JT01_2014.csv.gz Saving _problems/test-lehdr-326.R Using cached file: lodes8_de_od_main_JT01_2013.csv.gz Using cached file: lodes8_sd_od_main_JT01_2013.csv.gz Using cached file: lodes8_de_od_main_JT01_2020.csv.gz Using cached file: lodes8_sd_od_main_JT01_2020.csv.gz Saving _problems/test-lehdr-343.R Using cached file: lodes7_de_wac_S000_JT00_2013.csv.gz Using cached file: lodes7_vt_wac_S000_JT00_2013.csv.gz Using cached file: lodes7_de_wac_S000_JT00_2014.csv.gz Using cached file: lodes7_vt_wac_S000_JT00_2014.csv.gz Saving _problems/test-lehdr-360.R Using cached file: lodes5_de_wac_S000_JT00_2007.csv.gz Using cached file: lodes5_vt_wac_S000_JT00_2007.csv.gz Using cached file: lodes5_de_wac_S000_JT00_2009.csv.gz Using cached file: lodes5_vt_wac_S000_JT00_2009.csv.gz Saving _problems/test-lehdr-375.R Using cached file: lodes7_de_wac_S000_JT00_2013.csv.gz Using cached file: lodes7_vt_wac_S000_JT00_2013.csv.gz Using cached file: lodes7_de_wac_S000_JT00_2014.csv.gz Using cached file: lodes7_vt_wac_S000_JT00_2014.csv.gz Saving _problems/test-lehdr-389.R Using cached file: lodes8_de_wac_S000_JT01_2017.csv.gz Using cached file: lodes8_vt_wac_S000_JT01_2017.csv.gz Using cached file: lodes8_de_wac_S000_JT01_2018.csv.gz Using cached file: lodes8_vt_wac_S000_JT01_2018.csv.gz Using cached file: lodes8_de_wac_S000_JT01_2019.csv.gz Using cached file: lodes8_vt_wac_S000_JT01_2019.csv.gz Using cached file: lodes8_de_wac_S000_JT01_2020.csv.gz Using cached file: lodes8_vt_wac_S000_JT01_2020.csv.gz Saving _problems/test-lehdr-405.R Using cached file: lodes8_de_wac_S000_JT00_2019.csv.gz Using cached file: lodes8_vt_wac_S000_JT00_2019.csv.gz Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Using cached file: lodes8_vt_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-426.R Downloading crosswalk https://lehd.ces.census.gov/data/lodes/LODES8/vt/vt_xwalk.csv.gz to lodes8_vt_xwalk.csv.gz Download complete for lodes8_vt_xwalk.csv.gz lodes8_vt_xwalk.csv.gz crosswalk cleared from cache. Downloading crosswalk https://lehd.ces.census.gov/data/lodes/LODES8/wy/wy_xwalk.csv.gz to lodes8_wy_xwalk.csv.gz Download complete for lodes8_wy_xwalk.csv.gz Downloading crosswalk https://lehd.ces.census.gov/data/lodes/LODES8/nd/nd_xwalk.csv.gz to lodes8_nd_xwalk.csv.gz Download complete for lodes8_nd_xwalk.csv.gz lodes8_wy_xwalk.csv.gz crosswalk cleared from cache. lodes8_nd_xwalk.csv.gz crosswalk cleared from cache. Downloading crosswalk https://lehd.ces.census.gov/data/lodes/LODES7/vt/vt_xwalk.csv.gz to lodes7_vt_xwalk.csv.gz Download complete for lodes7_vt_xwalk.csv.gz lodes7_vt_xwalk.csv.gz crosswalk cleared from cache. Downloading crosswalk https://lehd.ces.census.gov/data/lodes/LODES8/vt/vt_xwalk.csv.gz to lodes8_vt_xwalk.csv.gz Download complete for lodes8_vt_xwalk.csv.gz lodes8_vt_xwalk.csv.gz crosswalk cleared from cache. Downloading crosswalk https://lehd.ces.census.gov/data/lodes/LODES7/vt/vt_xwalk.csv.gz to lodes7_vt_xwalk.csv.gz Download complete for lodes7_vt_xwalk.csv.gz lodes7_vt_xwalk.csv.gz crosswalk cleared from cache. Using cached file: lodes5_vt_rac_SA01_JT01_2008.csv.gz Saving _problems/test-lehdr-482.R Using cached file: lodes5_vt_wac_SA01_JT01_2008.csv.gz Saving _problems/test-lehdr-500.R Using cached file: lodes8_vt_rac_SA01_JT01_2022.csv.gz Saving _problems/test-lehdr-518.R Using cached file: lodes8_vt_wac_SA01_JT01_2022.csv.gz Saving _problems/test-lehdr-536.R Using cached file: lodes5_vt_rac_SA01_JT01_2008.csv.gz Saving _problems/test-lehdr-554.R Using cached file: lodes5_vt_wac_SA01_JT01_2008.csv.gz Saving _problems/test-lehdr-572.R Saving _problems/test-lehdr-592.R Using cached file: lodes8_de_od_main_JT00_2020.csv.gz Saving _problems/test-lehdr-617.R Using cached file: lodes8_de_od_main_JT00_2020.csv.gz Saving _problems/test-lehdr-643.R Using cached file: lodes8_de_od_main_JT00_2020.csv.gz Saving _problems/test-lehdr-664.R Using cached file: lodes8_de_od_main_JT00_2020.csv.gz Saving _problems/test-lehdr-684.R Using cached file: lodes8_de_od_main_JT00_2020.csv.gz Saving _problems/test-lehdr-705.R Using cached file: lodes8_de_wac_S000_JT00_2017.csv.gz Using cached file: lodes8_vt_wac_S000_JT00_2017.csv.gz Using cached file: lodes8_de_wac_S000_JT00_2019.csv.gz Using cached file: lodes8_vt_wac_S000_JT00_2019.csv.gz Saving _problems/test-lehdr-757.R Using cached file: lodes8_de_wac_S000_JT00_2017.csv.gz Using cached file: lodes8_vt_wac_S000_JT00_2017.csv.gz Using cached file: lodes8_de_wac_S000_JT00_2019.csv.gz Using cached file: lodes8_vt_wac_S000_JT00_2019.csv.gz Saving _problems/test-lehdr-788.R Using cached file: lodes8_de_wac_S000_JT00_2018.csv.gz Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-816.R Using cached file: lodes8_de_wac_S000_JT00_2015.csv.gz Using cached file: lodes8_de_wac_S000_JT00_2017.csv.gz Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-837.R Using cached file: lodes8_de_wac_S000_JT00_2018.csv.gz Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-868.R Using cached file: lodes8_de_wac_S000_JT00_2018.csv.gz Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-905.R Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-923.R Using cached file: lodes8_de_rac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-944.R Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-969.R Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-995.R Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-1017.R Using cached file: lodes8_de_wac_S000_JT00_2020.csv.gz Saving _problems/test-lehdr-1064.R [ FAIL 42 | WARN 57 | SKIP 0 | PASS 22 ] ══ Failed tests ════════════════════════════════════════════════════════════════ ── Failure ('test-lehdr.R:17:3'): grab_lodes returns correct dimensions for OD tract-level LODES8 ── Expected `... %>% dim()` to equal `c(36671, 14)`. Differences: `actual`: 0.0 2.0 `expected`: 36671.0 14.0 ── Failure ('test-lehdr.R:35:3'): grab_lodes returns correct dimensions for OD tract-level LODES5 ── Expected `... %>% dim()` to equal `c(25805, 14)`. Differences: `actual`: 0.0 2.0 `expected`: 25805.0 14.0 ── Failure ('test-lehdr.R:52:3'): grab_lodes accepts year as character string for OD block-level LODES8 ── Expected `... %>% dim()` to equal `c(290314, 15)`. Differences: `actual`: 0.0 5.0 `expected`: 290314.0 15.0 ── Failure ('test-lehdr.R:69:3'): grab_lodes returns correct dimensions for OD aux state_part LODES5 ── Expected `... %>% dim()` to equal `c(68588, 15)`. Differences: `actual`: 0.0 5.0 `expected`: 68588.0 15.0 ── Failure ('test-lehdr.R:102:3'): grab_lodes returns correct dimensions for RAC tract-level LODES7 ── Expected `... %>% dim()` to equal `c(218, 44)`. Differences: `actual`: 0.0 2.0 `expected`: 218.0 44.0 ── Failure ('test-lehdr.R:117:3'): grab_lodes returns correct dimensions for RAC block-level LODES8 ── Expected `... %>% dim()` to equal `c(14436, 45)`. Differences: `actual`: 0.0 4.0 `expected`: 14436.0 45.0 ── Failure ('test-lehdr.R:131:3'): grab_lodes returns correct dimensions for RAC with non-default job_type and segment ── Expected `... %>% dim()` to equal `c(12596, 45)`. Differences: `actual`: 0.0 4.0 `expected`: 12596.0 45.0 ── Failure ('test-lehdr.R:149:3'): grab_lodes returns correct dimensions for WAC tract-level LODES5 ── Expected `... %>% dim()` to equal `c(197, 42)`. Differences: `actual`: 0.0 2.0 `expected`: 197.0 42.0 ── Failure ('test-lehdr.R:165:3'): grab_lodes returns correct dimensions for WAC block-level LODES7 ── Expected `... %>% dim()` to equal `c(5476, 55)`. Differences: `actual`: 0.0 4.0 `expected`: 5476.0 55.0 ── Failure ('test-lehdr.R:179:3'): grab_lodes returns correct dimensions for WAC block-level LODES8 ── Expected `... %>% dim()` to equal `c(6421, 55)`. Differences: `actual`: 0.0 4.0 `expected`: 6421.0 55.0 ── Failure ('test-lehdr.R:297:3'): grab_lodes returns correct dimensions for multi-state OD LODES5 ── Expected `... %>% dim()` to equal `c(65262, 14)`. Differences: `actual`: 48525.0 14.0 `expected`: 65262.0 14.0 ── Failure ('test-lehdr.R:315:3'): grab_lodes returns correct dimensions for multi-state OD LODES8 ── Expected `... %>% dim()` to equal `c(929717, 15)`. Differences: `actual`: 675373.0 18.0 `expected`: 929717.0 15.0 ── Failure ('test-lehdr.R:332:3'): grab_lodes returns correct dimensions for cross-year multi-state OD LODES8 ── Expected `... %>% dim()` to equal `c(1125184, 15)`. Differences: `actual`: 575540.0 18.0 `expected`: 1125184.0 15.0 ── Failure ('test-lehdr.R:351:3'): grab_lodes returns correct dimensions for multi-state WAC tract-level LODES7 ── Expected `... %>% dim()` to equal `c(798, 54)`. Differences: `actual`: 399.0 54.0 `expected`: 798.0 54.0 ── Failure ('test-lehdr.R:366:3'): grab_lodes returns correct dimensions for multi-state WAC tract-level LODES5 ── Expected `... %>% dim()` to equal `c(752, 42)`. Differences: `actual`: 555.0 42.0 `expected`: 752.0 42.0 ── Failure ('test-lehdr.R:381:3'): grab_lodes returns correct dimensions for multi-state WAC block-level LODES7 ── Expected `... %>% dim()` to equal `c(24132, 55)`. Differences: `actual`: 12174.0 57.0 `expected`: 24132.0 55.0 ── Failure ('test-lehdr.R:395:3'): grab_lodes returns correct dimensions for multi-year WAC block-level LODES8 ── Expected `... %>% dim()` to equal `c(55696, 55)`. Differences: `actual`: 49676.0 57.0 `expected`: 55696.0 55.0 ── Failure ('test-lehdr.R:426:3'): grab_lodes multi-state result contains year and state columns ── Expected `unique(result$state)` to have the same values as `c("DE", "VT")`. Actual: "VT" Expected: "DE", "VT" Absent: "DE" ── Error ('test-lehdr.R:472:3'): grab_lodes with geometry = TRUE returns sf for RAC county-level LODES5 ── <dplyr:::mutate_error/rlang_error/error/condition> Error in `dplyr::mutate(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP))`: i In argument: `GEOID = paste0(STATEFP, COUNTYFP)`. Caused by error: ! object 'STATEFP' not found Backtrace: ▆ 1. ├─lehdr::grab_lodes(...) at test-lehdr.R:472:3 2. │ └─lehdr:::join_lodes_geometry(...) 3. │ └─lehdr:::grab_lodes_geometry(...) 4. │ ├─dplyr::mutate(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP)) 5. │ └─dplyr:::mutate.data.frame(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP)) 6. │ └─dplyr:::mutate_cols(.data, dplyr_quosures(...), by) 7. │ ├─base::withCallingHandlers(...) 8. │ └─dplyr:::mutate_col(dots[[i]], data, mask, new_columns) 9. │ └─mask$eval_all_mutate(quo) 10. │ └─dplyr (local) eval() 11. ├─base::paste0(STATEFP, COUNTYFP) 12. └─dplyr (local) `<fn>`(`<objctNFE>`) 13. └─rlang::abort(message, class = error_class, parent = parent, call = error_call) ── Error ('test-lehdr.R:490:3'): grab_lodes with geometry = TRUE returns sf for WAC county-level LODES5 ── <dplyr:::mutate_error/rlang_error/error/condition> Error in `dplyr::mutate(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP))`: i In argument: `GEOID = paste0(STATEFP, COUNTYFP)`. Caused by error: ! object 'STATEFP' not found Backtrace: ▆ 1. ├─lehdr::grab_lodes(...) at test-lehdr.R:490:3 2. │ └─lehdr:::join_lodes_geometry(...) 3. │ └─lehdr:::grab_lodes_geometry(...) 4. │ ├─dplyr::mutate(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP)) 5. │ └─dplyr:::mutate.data.frame(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP)) 6. │ └─dplyr:::mutate_cols(.data, dplyr_quosures(...), by) 7. │ ├─base::withCallingHandlers(...) 8. │ └─dplyr:::mutate_col(dots[[i]], data, mask, new_columns) 9. │ └─mask$eval_all_mutate(quo) 10. │ └─dplyr (local) eval() 11. ├─base::paste0(STATEFP, COUNTYFP) 12. └─dplyr (local) `<fn>`(`<objctNFE>`) 13. └─rlang::abort(message, class = error_class, parent = parent, call = error_call) ── Error ('test-lehdr.R:508:3'): grab_lodes with geometry = TRUE returns sf for RAC block-group LODES8 ── Error in `dplyr::select(lehdr_sf, dplyr::all_of(cols))`: i In argument: `dplyr::all_of(cols)`. Caused by error in `dplyr::all_of()`: ! Can't subset elements that don't exist. x Element `GEOID` doesn't exist. ── Error ('test-lehdr.R:526:3'): grab_lodes with geometry = TRUE returns sf for WAC block-group LODES8 ── Error in `dplyr::select(lehdr_sf, dplyr::all_of(cols))`: i In argument: `dplyr::all_of(cols)`. Caused by error in `dplyr::all_of()`: ! Can't subset elements that don't exist. x Element `GEOID` doesn't exist. ── Error ('test-lehdr.R:544:3'): grab_lodes with geometry = TRUE returns sf for RAC block-level LODES5 ── Error in `dplyr::select(lehdr_sf, dplyr::all_of(cols))`: Selections can't have missing values. Backtrace: ▆ 1. └─lehdr::grab_lodes(...) at test-lehdr.R:544:3 2. └─lehdr:::join_lodes_geometry(...) 3. └─lehdr:::grab_lodes_geometry(...) 4. ├─dplyr::select(lehdr_sf, dplyr::all_of(cols)) 5. └─dplyr:::select.data.frame(lehdr_sf, dplyr::all_of(cols)) 6. └─tidyselect::eval_select(expr(c(...)), data = .data, error_call = error_call) 7. └─tidyselect:::eval_select_impl(...) 8. ├─tidyselect:::with_subscript_errors(...) 9. │ └─base::withCallingHandlers(...) 10. └─tidyselect:::vars_select_eval(...) 11. └─tidyselect:::loc_validate(pos, vars, call = error_call) 12. └─tidyselect:::check_missing(pos, call = call) 13. └─rlang::abort("Selections can't have missing values.", call = call) ── Error ('test-lehdr.R:562:3'): grab_lodes with geometry = TRUE returns sf for WAC block-level LODES5 ── Error in `dplyr::select(lehdr_sf, dplyr::all_of(cols))`: Selections can't have missing values. Backtrace: ▆ 1. └─lehdr::grab_lodes(...) at test-lehdr.R:562:3 2. └─lehdr:::join_lodes_geometry(...) 3. └─lehdr:::grab_lodes_geometry(...) 4. ├─dplyr::select(lehdr_sf, dplyr::all_of(cols)) 5. └─dplyr:::select.data.frame(lehdr_sf, dplyr::all_of(cols)) 6. └─tidyselect::eval_select(expr(c(...)), data = .data, error_call = error_call) 7. └─tidyselect:::eval_select_impl(...) 8. ├─tidyselect:::with_subscript_errors(...) 9. │ └─base::withCallingHandlers(...) 10. └─tidyselect:::vars_select_eval(...) 11. └─tidyselect:::loc_validate(pos, vars, call = error_call) 12. └─tidyselect:::check_missing(pos, call = call) 13. └─rlang::abort("Selections can't have missing values.", call = call) ── Error ('test-lehdr.R:580:3'): grab_lodes with geometry = TRUE and lodes_type = od emits a message ── <dplyr:::mutate_error/rlang_error/error/condition> Error in `dplyr::mutate(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP))`: i In argument: `GEOID = paste0(STATEFP, COUNTYFP)`. Caused by error: ! object 'STATEFP' not found Backtrace: ▆ 1. ├─testthat::expect_message(...) at test-lehdr.R:580: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. ├─lehdr::grab_lodes(...) 8. │ └─lehdr:::join_lodes_geometry(...) 9. │ └─lehdr:::grab_lodes_geometry(...) 10. │ ├─dplyr::mutate(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP)) 11. │ └─dplyr:::mutate.data.frame(lehdr_sf, GEOID = paste0(STATEFP, COUNTYFP)) 12. │ └─dplyr:::mutate_cols(.data, dplyr_quosures(...), by) 13. │ ├─base::withCallingHandlers(...) 14. │ └─dplyr:::mutate_col(dots[[i]], data, mask, new_columns) 15. │ └─mask$eval_all_mutate(quo) 16. │ └─dplyr (local) eval() 17. ├─base::paste0(STATEFP, COUNTYFP) 18. └─dplyr (local) `<fn>`(`<objctNFE>`) 19. └─rlang::abort(message, class = error_class, parent = parent, call = error_call) ── Error ('test-lehdr.R:617:3'): compute_commute_stats returns expected columns for tract-level OD ── Error in `compute_commute_stats(od, agg_geo = "tract")`: Column `h_tract` not found in `od_df`. i Ensure `od_df` was retrieved with `lodes_type = "od"` and `agg_geo = "tract"` (or aggregated to that level). Backtrace: ▆ 1. └─lehdr::compute_commute_stats(od, agg_geo = "tract") at test-lehdr.R:617:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:643:3'): compute_commute_stats count columns are non-negative ── Error in `compute_commute_stats(od, agg_geo = "tract")`: Column `h_tract` not found in `od_df`. i Ensure `od_df` was retrieved with `lodes_type = "od"` and `agg_geo = "tract"` (or aggregated to that level). Backtrace: ▆ 1. └─lehdr::compute_commute_stats(od, agg_geo = "tract") at test-lehdr.R:643:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:664:3'): compute_commute_stats self_containment is in [0, 1] ── Error in `compute_commute_stats(od, agg_geo = "tract")`: Column `h_tract` not found in `od_df`. i Ensure `od_df` was retrieved with `lodes_type = "od"` and `agg_geo = "tract"` (or aggregated to that level). Backtrace: ▆ 1. └─lehdr::compute_commute_stats(od, agg_geo = "tract") at test-lehdr.R:664:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:684:3'): compute_commute_stats net_flow equals workers_in minus workers_out_total ── Error in `compute_commute_stats(od, agg_geo = "tract")`: Column `h_tract` not found in `od_df`. i Ensure `od_df` was retrieved with `lodes_type = "od"` and `agg_geo = "tract"` (or aggregated to that level). Backtrace: ▆ 1. └─lehdr::compute_commute_stats(od, agg_geo = "tract") at test-lehdr.R:684:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:705:3'): compute_commute_stats works at county level and returns one row per county ── Error in `compute_commute_stats(od, agg_geo = "county")`: Column `h_county` not found in `od_df`. i Ensure `od_df` was retrieved with `lodes_type = "od"` and `agg_geo = "county"` (or aggregated to that level). Backtrace: ▆ 1. └─lehdr::compute_commute_stats(od, agg_geo = "county") at test-lehdr.R:705:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:751:3'): compute_lodes_change wide output has expected column suffixes ── Error in `compute_lodes_change(wac, geo_col = "w_county", base_year = 2017, compare_year = 2019, variables = c("C000", "CE01", "CE02", "CE03"))`: `lodes_df` must contain data for at least two distinct years. i Only year 2019 found. Backtrace: ▆ 1. └─lehdr::compute_lodes_change(...) at test-lehdr.R:751:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:781:3'): compute_lodes_change long output has required columns ── Error in `compute_lodes_change(wac, geo_col = "w_county", base_year = 2017, compare_year = 2019, variables = "C000", output = "long")`: `lodes_df` must contain data for at least two distinct years. i Only year 2019 found. Backtrace: ▆ 1. └─lehdr::compute_lodes_change(...) at test-lehdr.R:781:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:812:3'): compute_lodes_change pct_change arithmetic is correct ── Error in `compute_lodes_change(wac, geo_col = "w_county", variables = "C000")`: `lodes_df` must contain data for at least two distinct years. Backtrace: ▆ 1. └─lehdr::compute_lodes_change(wac, geo_col = "w_county", variables = "C000") at test-lehdr.R:812:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:837:3'): compute_lodes_change defaults base and compare to min and max year ── Error in `compute_lodes_change(wac, geo_col = "w_county", variables = "C000")`: `lodes_df` must contain data for at least two distinct years. Backtrace: ▆ 1. └─lehdr::compute_lodes_change(wac, geo_col = "w_county", variables = "C000") at test-lehdr.R:837:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:865:3'): compute_lodes_change auto-detects geo_col and emits an inform message ── Error in `compute_lodes_change(wac, variables = "C000")`: `lodes_df` must contain data for at least two distinct years. Backtrace: ▆ 1. ├─testthat::expect_message(...) at test-lehdr.R:865: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. └─lehdr::compute_lodes_change(wac, variables = "C000") 8. └─rlang::abort(...) ── Error ('test-lehdr.R:902:3'): compute_lodes_change aborts when base_year is not in the data ── Error in `compute_lodes_change(wac, geo_col = "w_county", base_year = 2010)`: `lodes_df` must contain data for at least two distinct years. Backtrace: ▆ 1. ├─testthat::expect_error(...) at test-lehdr.R:902: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. └─lehdr::compute_lodes_change(wac, geo_col = "w_county", base_year = 2010) 8. └─rlang::abort(...) ── Error ('test-lehdr.R:923:3'): compute_earnings_share WAC wide output shares sum to 1 per row ── Error in `compute_earnings_share(wac, type = "wac", geo_col = "w_county")`: Earnings columns not found: CE01, CE02, CE03. i Retrieve data with `grab_lodes(..., lodes_type = "wac", segment = "S000")` to include earnings tier columns. Backtrace: ▆ 1. └─lehdr::compute_earnings_share(wac, type = "wac", geo_col = "w_county") at test-lehdr.R:923:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:944:3'): compute_earnings_share RAC wide output shares sum to 1 per row ── Error in `compute_earnings_share(rac, type = "rac", geo_col = "h_county")`: Earnings columns not found: CE01, CE02, CE03. i Retrieve data with `grab_lodes(..., lodes_type = "rac", segment = "S000")` to include earnings tier columns. Backtrace: ▆ 1. └─lehdr::compute_earnings_share(rac, type = "rac", geo_col = "h_county") at test-lehdr.R:944:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:964:3'): compute_earnings_share long output has required columns ── Error in `compute_earnings_share(wac, type = "wac", geo_col = "w_county", output = "long")`: Earnings columns not found: CE01, CE02, CE03. i Retrieve data with `grab_lodes(..., lodes_type = "wac", segment = "S000")` to include earnings tier columns. Backtrace: ▆ 1. └─lehdr::compute_earnings_share(wac, type = "wac", geo_col = "w_county", output = "long") at test-lehdr.R:964:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:990:3'): compute_earnings_share long shares are in [0, 1] ── Error in `compute_earnings_share(wac, type = "wac", geo_col = "w_county", output = "long")`: Earnings columns not found: CE01, CE02, CE03. i Retrieve data with `grab_lodes(..., lodes_type = "wac", segment = "S000")` to include earnings tier columns. Backtrace: ▆ 1. └─lehdr::compute_earnings_share(wac, type = "wac", geo_col = "w_county", output = "long") at test-lehdr.R:990:3 2. └─rlang::abort(...) ── Error ('test-lehdr.R:1014:3'): compute_earnings_share auto-detects geo_col and emits an inform message ── Error in `compute_earnings_share(wac, type = "wac")`: Earnings columns not found: CE01, CE02, CE03. i Retrieve data with `grab_lodes(..., lodes_type = "wac", segment = "S000")` to include earnings tier columns. Backtrace: ▆ 1. ├─testthat::expect_message(...) at test-lehdr.R:1014: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. └─lehdr::compute_earnings_share(wac, type = "wac") 8. └─rlang::abort(...) ── Error ('test-lehdr.R:1064:3'): compute_earnings_share count columns match raw column sums ── Error in `compute_earnings_share(wac, type = "wac", geo_col = "w_county")`: Earnings columns not found: CE01, CE02, CE03. i Retrieve data with `grab_lodes(..., lodes_type = "wac", segment = "S000")` to include earnings tier columns. Backtrace: ▆ 1. └─lehdr::compute_earnings_share(wac, type = "wac", geo_col = "w_county") at test-lehdr.R:1064:3 2. └─rlang::abort(...) [ FAIL 42 | WARN 57 | SKIP 0 | PASS 22 ] Error: ! Test failures. Execution halted Flavor: r-devel-linux-x86_64-fedora-gcc