software-review icon indicating copy to clipboard operation
software-review copied to clipboard

nomisdata: programmatic access to UK official labour market statistics and Census data

Open cherylisabella opened this issue 1 month ago • 20 comments

Submitting Author Name: Cheryl Isabella Submitting Author Github Handle: @cherylisabella Repository: https://github.com/cherylisabella/nomisdata Version submitted: 0.1.1 Submission type: Standard Editor: TBD Reviewers: TBD

Archive: TBD Version accepted: TBD Language: en


  • Paste the full DESCRIPTION file inside a code block below:
Package: nomisdata
Type: Package
Title: Access 'Nomis' UK Labour Market Data and Statistics
Version: 0.1.1
Authors@R: person(given = c("Cheryl", "Isabella"), family = "Lim", role = c("aut", "cre"), email = "[email protected]", comment = c(ORCID = "0009-0004-5766-1392"))
Description: Interface to the 'Nomis' database (<https://www.nomisweb.co.uk>), a comprehensive resource of United Kingdom labour market statistics provided by the Office for National Statistics (ONS). Facilitates programmatic access to census data, labour force surveys, benefit statistics, and socioeconomic indicators through a modern HTTP client with intelligent caching, automatic query pagination, and tidy data principles. Includes spatial data integration, interactive helpers, and visualization utilities. Independent implementation unaffiliated with ONS or Durham University.
License: MIT + file LICENSE
URL: https://github.com/cherylisabella/nomisdata
BugReports: https://github.com/cherylisabella/nomisdata/issues
Imports: cli (>= 3.6.0), dplyr (>= 1.1.0), httr2 (>= 1.0.0), jsonlite (>= 1.8.0), rlang (>= 1.1.0), tibble (>= 3.2.0), utils, digest, methods
Suggests: cachem (>= 1.0.0), ggplot2 (>= 3.4.0), janitor (>= 2.2.0), knitr (>= 1.42), memoise (>= 2.0.0), rappdirs (>= 0.3.0), readr (>= 2.1.0), rmarkdown (>= 2.20), rsdmx (>= 0.6.0), scales (>= 1.2.0), sf (>= 1.0.0), testthat (>= 3.1.0), vcr (>= 1.2.0), withr (>= 2.5.0)
VignetteBuilder: knitr
Config/testthat/edition: 3
Config/testthat/parallel: true
Config/Needs/website: tidyverse/tidytemplate
Encoding: UTF-8
Language: en-GB
LazyData: true
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.3.3
Depends: R (>= 4.1.0)

Scope

  • Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):

    • [x] data retrieval
    • [ ] data extraction
    • [ ] data munging
    • [ ] data deposition
    • [ ] data validation and testing
    • [ ] workflow automation
    • [ ] version control
    • [ ] citation management and bibliometrics
    • [ ] scientific software wrappers
    • [ ] field and lab reproducibility tools
    • [x] database software bindings
    • [ ] geospatial data
    • [ ] translation
  • Explain how and why the package falls under these categories (briefly, 1-2 sentences): nomisdata provides structured, programmatic access to the UK Office for National Statistics (ONS) NomisWeb API, delivering census, labour-force, benefits and socioeconomic data in tidy/spatial-ready formats. This aligns directly with rOpenSci’s “data retrieval” and “database software bindings” categories.

  • Who is the target audience and what are scientific applications of this package? Researchers in labour economics, demography, regional science, public policy, spatial/social epidemiology, and social sciences more broadly. Use cases include analysis of unemployment, benefit uptake, demographic trends, regional comparisons, spatial inequality, longitudinal labour-market studies, and reproducible pipelines combining Nomis data with spatial or socioeconomic analyses.

  • Are there other R packages that accomplish the same thing? If so, how does yours differ or meet our criteria for best-in-category? The previously available R wrapper for the Nomis API, nomisr, is archived and no longer maintained. nomisdata re-implements access with a modern HTTP client (httr2), intelligent caching (memoise + disk), automatic pagination, spatial data integration (sf), cleaner tidy data output, improved error handling, and active maintenance. As such, nomisdata fills a currently unmaintained gap and represents a substantial improvement, satisfying the “best-in-category” criteria.

  • (If applicable) Does your package comply with our guidance around Ethics, Data Privacy and Human Subjects Research? nomisdata retrieves aggregated, publicly available statistics; no personal or individually identifying data is accessed or stored.

  • If you made a pre-submission inquiry, please paste the link to the corresponding issue, forum post, or other discussion, or @tag the editor you contacted.

  • Explain reasons for any pkgcheck items which your package is unable to pass.

Technical checks

Confirm each of the following by checking the box.

This package:

Publication options

  • [x] Do you intend for this package to go on CRAN?

  • [ ] Do you intend for this package to go on Bioconductor?

  • [ ] Do you wish to submit an Applications Article about your package to Methods in Ecology and Evolution? If so:

MEE Options
  • [ ] The package is novel and will be of interest to the broad readership of the journal.
  • [ ] The manuscript describing the package is no longer than 3000 words.
  • [ ] You intend to archive the code for the package in a long-term repository which meets the requirements of the journal (see MEE's Policy on Publishing Code)
  • (Scope: Do consider MEE's Aims and Scope for your manuscript. We make no guarantee that your manuscript will be within MEE scope.)
  • (Although not required, we strongly recommend having a full manuscript prepared when you submit here.)
  • (Please do not submit your package separately to Methods in Ecology and Evolution)

Code of conduct

  • [x] I agree to abide by rOpenSci's Code of Conduct during the review process and in maintaining my package should it be accepted.

cherylisabella avatar Dec 07 '25 11:12 cherylisabella

@ropensci-review-bot check package

cherylisabella avatar Dec 07 '25 13:12 cherylisabella

I'm sorry @cherylisabella, I'm afraid I can't do that. That's something only editors, author1, author-others and reviewers-list are allowed to do.

ropensci-review-bot avatar Dec 07 '25 13:12 ropensci-review-bot

Thanks for the submission @cherylisabella. Can you please edit the initial commit, and revert the initial section from the template to keep all of the HTML comments, like this:

Submitting Author Name: Name
Submitting Author Github Handle: <!--author1-->@github_handle<!--end-author1-->
Other Package Authors Github handles: (comma separated, delete if none) <!--author-others-->@github_handle1, @github_handle2<!--end-author-others-->
Repository:  <!--repourl-->https://repourl<!--end-repourl-->
Version submitted:
Submission type: <!--submission-type-->Standard<!--end-submission-type-->
Editor: <!--editor--> TBD <!--end-editor-->
Reviewers: <!--reviewers-list--> TBD <!--end-reviewers-list-->
<!--due-dates-list--><!--end-due-dates-list-->
Archive: TBD
Version accepted: TBD
Language: <!--language-->en<!--end-language-->

The <!--author1--> at the start, for example, is what's used by the bot to identify you, and grant you permission to call check package. More generally, those comments define a set of parameters used throughout our automated review process. Once you've reverted those, you should be able to call check package again and get things going. Thanks!

mpadge avatar Dec 08 '25 08:12 mpadge

Thank you @mpadge for the tip! I've edited this submission accordingly.

cherylisabella avatar Dec 08 '25 10:12 cherylisabella

@ropensci-review-bot check package

jhollist avatar Dec 08 '25 15:12 jhollist

Thanks, about to send the query.

ropensci-review-bot avatar Dec 08 '25 15:12 ropensci-review-bot

:rocket:

Editor check started

:wave:

ropensci-review-bot avatar Dec 08 '25 15:12 ropensci-review-bot

Checks for nomisdata (v0.1.1)

git hash: d86a0464

  • :heavy_check_mark: Package is already on CRAN.
  • :heavy_multiplication_x: does not have a 'codemeta.json' file.
  • :heavy_check_mark: has a 'contributing' file.
  • :heavy_check_mark: uses 'roxygen2'.
  • :heavy_check_mark: 'DESCRIPTION' has a URL field.
  • :heavy_check_mark: 'DESCRIPTION' has a BugReports field.
  • :heavy_check_mark: Package has at least one HTML vignette
  • :heavy_check_mark: All functions have examples.
  • :heavy_check_mark: Package has continuous integration checks.
  • :heavy_multiplication_x: Package coverage is 65.4% (should be at least 75%).
  • :heavy_check_mark: R CMD check found no errors.
  • :heavy_check_mark: R CMD check found no warnings.
  • :eyes: Some goodpractice linters failed.
  • :eyes: Function names are duplicated in other packages
  • :eyes: Examples should not use \dontrun{} unless really necessary.

Important: All failing checks above must be addressed prior to proceeding

(Checks marked with :eyes: may be optionally addressed.)

Package License: MIT + file LICENSE


1. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.

type package ncalls
internal base 173
internal nomisdata 58
internal stats 11
internal graphics 3
imports utils 18
imports dplyr 13
imports httr2 9
imports rlang 5
imports methods 4
imports jsonlite 2
imports tibble 2
imports digest 2
imports cli 1
suggests readr 2
suggests rsdmx 2
suggests sf 2
suggests janitor 1
suggests cachem NA
suggests ggplot2 NA
suggests knitr NA
suggests memoise NA
suggests rappdirs NA
suggests rmarkdown NA
suggests scales NA
suggests testthat NA
suggests vcr NA
suggests withr NA
linking_to NA NA

Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table.

base

paste0 (20), list (19), format (13), c (10), if (8), is.null (7), names (7), getOption (6), character (5), file.path (5), url (5), for (4), nrow (4), Sys.time (4), lapply (3), paste (3), return (3), saveRDS (3), search (3), Sys.getenv (3), as.numeric (2), body (2), data.frame (2), date (2), setdiff (2), tryCatch (2), as.data.frame (1), as.integer (1), by (1), class (1), conditionMessage (1), difftime (1), do.call (1), drop (1), grep (1), grepl (1), gsub (1), length (1), mapply (1), rbind (1), readline (1), readLines (1), readRDS (1), seq (1), seq_along (1), seq_len (1), sprintf (1), switch (1), tempfile (1), units (1), unlist (1), vector (1)

nomisdata

build_request (13), execute_request (9), get_codes (4), parse_json_response (3), build_params (2), clear_cache (2), dataset_overview (2), describe_dataset (2), fetch_codelist (2), fetch_paginated (2), get_cache_key (2), add_geography_names (1), add_to_renviron (1), aggregate_geography (1), aggregate_time (1), browse_dataset (1), cache_data (1), check_installed (1), enable_cache (1), explore_dataset (1), fetch_nomis (1), fetch_spatial (1), format_number (1), get_cached_data (1), handle_error_body (1), parse_csv_response (1)

utils

data (11), timestamp (3), page (2), read.csv (2)

dplyr

across (3), all_of (3), group_by (3), (2), left_join (1), summarise (1)

stats

df (9), time (2)

httr2

resp_body_string (3), resp_status (2), req_error (1), req_perform (1), request (1), resp_url (1)

rlang

abort (2), list2 (2), warn (1)

methods

slot (4)

graphics

text (2), lines (1)

digest

digest (2)

jsonlite

fromJSON (2)

readr

read_csv (2)

rsdmx

readSDMX (2)

sf

st_read (2)

tibble

as_tibble (2)

cli

cli_progress_bar (1)

janitor

make_clean_names (1)


2. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has:

  • code in R (100% in 20 files) and
  • 1 authors
  • 5 vignettes
  • 1 internal data file
  • 9 imported packages
  • 28 exported functions (median 16 lines of code)
  • 49 non-exported functions in R (median 18 lines of code)

Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages The following terminology is used:

  • loc = "Lines of Code"
  • fn = "function"
  • exp/not_exp = exported / not exported

All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the checks_to_markdown() function

The final measure (fn_call_network_size) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile.

measure value percentile noteworthy
files_R 19 78.3
files_inst 1 91.0
files_vignettes 5 95.4
files_tests 32 97.4
loc_R 681 55.0
loc_inst 446 64.4
loc_vignettes 397 69.4
loc_tests 929 80.9
num_vignettes 5 96.0 TRUE
data_size_total 458 56.7
data_size_median 458 58.8
n_fns_r 77 67.9
n_fns_r_exported 28 75.9
n_fns_r_not_exported 49 65.2
n_fns_per_file_r 2 41.0
num_params_per_fn 2 9.4
loc_per_fn_r 17 52.6
loc_per_fn_r_exp 16 38.8
loc_per_fn_r_not_exp 18 58.6
rel_whitespace_R 27 66.2
rel_whitespace_inst 16 62.6
rel_whitespace_vignettes 28 64.3
rel_whitespace_tests 28 85.4
doclines_per_fn_exp 15 8.5
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 37 58.3

2a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


3. goodpractice and other checks

Details of goodpractice checks (click to open)

3a. Continuous Integration Badges

R-CMD-check.yaml

GitHub Workflow Results

id name conclusion sha run_number date
20005856427 .github/workflows/R-CMD-check.yaml failure 03632b 10 2025-12-07
20006580118 R-CMD-check success d86a04 25 2025-12-07

3b. goodpractice results

R CMD check with rcmdcheck

R CMD check generated the following note:

  1. checking DESCRIPTION meta-information ... NOTE License stub is invalid DCF.

Test coverage with covr

Package coverage: 65.36

The following files are not completely covered by tests:

file coverage
R/auth.R 44%
R/cache_utils.R 38.46%
R/cache-enhanced.R 65.38%
R/download.R 65.71%
R/interactive.R 44.44%
R/metadata.R 58.59%
R/spatial.R 68.09%
R/utils.R 42.86%
R/zzz.R 60%

Cyclocomplexity with cyclocomp

The following function have cyclocomplexity >= 15:

function cyclocomplexity
get_codes 43

Static code analyses with lintr

lintr found no issues with this package!


4. Other Checks

Details of other checks (click to open)

:heavy_multiplication_x: The following 5 function names are duplicated in other packages:

    • aggregate_time from gdalcubes
    • clear_cache from catalog, prettymapr, f1dataR, nflreadr, pkgdown.offline, epidatr, rcrisp, openesm, lintr
    • explore_dataset from mltools
    • get_codes from pccc
    • set_api_key from googlenlp, newsanchor, rwunderground, twfy, clockify, octopusR, polished, Rnumerai, openFDA, ip2whois, Rapi, rscopus, AIscreenR, screenshotbase, rspacer

Package Versions

package version
pkgstats 0.2.0.93
pkgcheck 0.1.2.241

Editor-in-Chief Instructions:

Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.

ropensci-review-bot avatar Dec 08 '25 15:12 ropensci-review-bot

@ropensci-review-bot check package

cherylisabella avatar Dec 09 '25 21:12 cherylisabella

Thanks, about to send the query.

ropensci-review-bot avatar Dec 09 '25 21:12 ropensci-review-bot

:rocket:

Editor check started

:wave:

ropensci-review-bot avatar Dec 09 '25 21:12 ropensci-review-bot

Checks for nomisdata (v0.1.1)

git hash: 84265287

  • :heavy_check_mark: Package is already on CRAN.
  • :heavy_multiplication_x: does not have a 'codemeta.json' file.
  • :heavy_check_mark: has a 'contributing' file.
  • :heavy_check_mark: uses 'roxygen2'.
  • :heavy_check_mark: 'DESCRIPTION' has a URL field.
  • :heavy_check_mark: 'DESCRIPTION' has a BugReports field.
  • :heavy_check_mark: Package has at least one HTML vignette
  • :heavy_check_mark: All functions have examples.
  • :heavy_multiplication_x: Package fails continuous integration checks.
  • :heavy_multiplication_x: Package coverage is 74.4% (should be at least 75%).
  • :heavy_check_mark: R CMD check found no errors.
  • :heavy_check_mark: R CMD check found no warnings.
  • :eyes: Some goodpractice linters failed.
  • :eyes: Examples should not use \dontrun{} unless really necessary.

Important: All failing checks above must be addressed prior to proceeding

(Checks marked with :eyes: may be optionally addressed.)

Package License: MIT + file LICENSE


1. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.

type package ncalls
internal base 173
internal nomisdata 58
internal stats 11
internal graphics 3
imports utils 18
imports dplyr 13
imports httr2 9
imports rlang 5
imports methods 4
imports jsonlite 2
imports tibble 2
imports digest 2
imports cli 1
suggests readr 2
suggests rsdmx 2
suggests sf 2
suggests janitor 1
suggests cachem NA
suggests ggplot2 NA
suggests knitr NA
suggests memoise NA
suggests rappdirs NA
suggests rmarkdown NA
suggests scales NA
suggests testthat NA
suggests withr NA
linking_to NA NA

Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table.

base

paste0 (20), list (19), format (13), c (10), if (8), is.null (7), names (7), getOption (6), character (5), file.path (5), url (5), for (4), nrow (4), Sys.time (4), lapply (3), paste (3), return (3), saveRDS (3), search (3), Sys.getenv (3), as.numeric (2), body (2), data.frame (2), date (2), setdiff (2), tryCatch (2), as.data.frame (1), as.integer (1), by (1), class (1), conditionMessage (1), difftime (1), do.call (1), drop (1), grep (1), grepl (1), gsub (1), length (1), mapply (1), rbind (1), readline (1), readLines (1), readRDS (1), seq (1), seq_along (1), seq_len (1), sprintf (1), switch (1), tempfile (1), units (1), unlist (1), vector (1)

nomisdata

build_request (13), execute_request (9), get_codes (4), parse_json_response (3), build_params (2), clear_cache (2), dataset_overview (2), describe_dataset (2), fetch_codelist (2), fetch_paginated (2), get_cache_key (2), add_geography_names (1), add_to_renviron (1), aggregate_geography (1), aggregate_time (1), browse_dataset (1), cache_data (1), check_installed (1), enable_cache (1), explore_dataset (1), fetch_nomis (1), fetch_spatial (1), format_number (1), get_cached_data (1), handle_error_body (1), parse_csv_response (1)

utils

data (11), timestamp (3), page (2), read.csv (2)

dplyr

across (3), all_of (3), group_by (3), (2), left_join (1), summarise (1)

stats

df (9), time (2)

httr2

resp_body_string (3), resp_status (2), req_error (1), req_perform (1), request (1), resp_url (1)

rlang

abort (2), list2 (2), warn (1)

methods

slot (4)

graphics

text (2), lines (1)

digest

digest (2)

jsonlite

fromJSON (2)

readr

read_csv (2)

rsdmx

readSDMX (2)

sf

st_read (2)

tibble

as_tibble (2)

cli

cli_progress_bar (1)

janitor

make_clean_names (1)


2. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has:

  • code in R (100% in 20 files) and
  • 1 authors
  • 5 vignettes
  • 1 internal data file
  • 9 imported packages
  • 28 exported functions (median 16 lines of code)
  • 49 non-exported functions in R (median 18 lines of code)

Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages The following terminology is used:

  • loc = "Lines of Code"
  • fn = "function"
  • exp/not_exp = exported / not exported

All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the checks_to_markdown() function

The final measure (fn_call_network_size) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile.

measure value percentile noteworthy
files_R 19 78.8
files_inst 1 90.8
files_vignettes 5 95.6
files_tests 34 97.8
loc_R 680 56.4
loc_inst 446 64.3
loc_vignettes 397 69.7
loc_tests 3003 94.8
num_vignettes 5 96.1 TRUE
data_size_total 458 55.8
data_size_median 458 57.9
n_fns_r 77 68.9
n_fns_r_exported 28 76.4
n_fns_r_not_exported 49 66.3
n_fns_per_file_r 2 42.5
num_params_per_fn 2 11.6
loc_per_fn_r 17 53.9
loc_per_fn_r_exp 16 40.4
loc_per_fn_r_not_exp 18 59.7
rel_whitespace_R 27 67.2
rel_whitespace_inst 16 62.3
rel_whitespace_vignettes 28 64.7
rel_whitespace_tests 32 97.1 TRUE
doclines_per_fn_exp 15 10.7
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 36 59.0

2a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


3. goodpractice and other checks

Details of goodpractice checks (click to open)


3b. goodpractice results

Test coverage with covr

Package coverage: 74.38

Cyclocomplexity with cyclocomp

The following function have cyclocomplexity >= 15:

function cyclocomplexity
get_codes 43

Static code analyses with lintr

lintr found no issues with this package!


Package Versions

package version
pkgstats 0.2.1
pkgcheck 0.1.2.241

Editor-in-Chief Instructions:

Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.

ropensci-review-bot avatar Dec 09 '25 21:12 ropensci-review-bot

@ropensci-review-bot check package

cherylisabella avatar Dec 09 '25 22:12 cherylisabella

Thanks, about to send the query.

ropensci-review-bot avatar Dec 09 '25 22:12 ropensci-review-bot

:rocket:

Editor check started

:wave:

ropensci-review-bot avatar Dec 09 '25 22:12 ropensci-review-bot

Checks for nomisdata (v0.1.1)

git hash: 46117402

  • :heavy_check_mark: Package is already on CRAN.
  • :heavy_check_mark: has a 'codemeta.json' file.
  • :heavy_check_mark: has a 'contributing' file.
  • :heavy_check_mark: uses 'roxygen2'.
  • :heavy_check_mark: 'DESCRIPTION' has a URL field.
  • :heavy_check_mark: 'DESCRIPTION' has a BugReports field.
  • :heavy_check_mark: Package has at least one HTML vignette
  • :heavy_check_mark: All functions have examples.
  • :heavy_check_mark: Package has continuous integration checks.
  • :heavy_multiplication_x: Package coverage is 74.4% (should be at least 75%).
  • :heavy_check_mark: R CMD check found no errors.
  • :heavy_check_mark: R CMD check found no warnings.
  • :eyes: Some goodpractice linters failed.
  • :eyes: Examples should not use \dontrun{} unless really necessary.

Important: All failing checks above must be addressed prior to proceeding

(Checks marked with :eyes: may be optionally addressed.)

Package License: MIT + file LICENSE


1. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.

type package ncalls
internal base 173
internal nomisdata 58
internal stats 11
internal graphics 3
imports utils 18
imports dplyr 13
imports httr2 9
imports rlang 5
imports methods 4
imports jsonlite 2
imports tibble 2
imports digest 2
imports cli 1
suggests readr 2
suggests rsdmx 2
suggests sf 2
suggests janitor 1
suggests cachem NA
suggests ggplot2 NA
suggests knitr NA
suggests memoise NA
suggests rappdirs NA
suggests rmarkdown NA
suggests scales NA
suggests testthat NA
suggests withr NA
linking_to NA NA

Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table.

base

paste0 (20), list (19), format (13), c (10), if (8), is.null (7), names (7), getOption (6), character (5), file.path (5), url (5), for (4), nrow (4), Sys.time (4), lapply (3), paste (3), return (3), saveRDS (3), search (3), Sys.getenv (3), as.numeric (2), body (2), data.frame (2), date (2), setdiff (2), tryCatch (2), as.data.frame (1), as.integer (1), by (1), class (1), conditionMessage (1), difftime (1), do.call (1), drop (1), grep (1), grepl (1), gsub (1), length (1), mapply (1), rbind (1), readline (1), readLines (1), readRDS (1), seq (1), seq_along (1), seq_len (1), sprintf (1), switch (1), tempfile (1), units (1), unlist (1), vector (1)

nomisdata

build_request (13), execute_request (9), get_codes (4), parse_json_response (3), build_params (2), clear_cache (2), dataset_overview (2), describe_dataset (2), fetch_codelist (2), fetch_paginated (2), get_cache_key (2), add_geography_names (1), add_to_renviron (1), aggregate_geography (1), aggregate_time (1), browse_dataset (1), cache_data (1), check_installed (1), enable_cache (1), explore_dataset (1), fetch_nomis (1), fetch_spatial (1), format_number (1), get_cached_data (1), handle_error_body (1), parse_csv_response (1)

utils

data (11), timestamp (3), page (2), read.csv (2)

dplyr

across (3), all_of (3), group_by (3), (2), left_join (1), summarise (1)

stats

df (9), time (2)

httr2

resp_body_string (3), resp_status (2), req_error (1), req_perform (1), request (1), resp_url (1)

rlang

abort (2), list2 (2), warn (1)

methods

slot (4)

graphics

text (2), lines (1)

digest

digest (2)

jsonlite

fromJSON (2)

readr

read_csv (2)

rsdmx

readSDMX (2)

sf

st_read (2)

tibble

as_tibble (2)

cli

cli_progress_bar (1)

janitor

make_clean_names (1)


2. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has:

  • code in R (100% in 20 files) and
  • 1 authors
  • 5 vignettes
  • 1 internal data file
  • 9 imported packages
  • 28 exported functions (median 16 lines of code)
  • 49 non-exported functions in R (median 18 lines of code)

Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages The following terminology is used:

  • loc = "Lines of Code"
  • fn = "function"
  • exp/not_exp = exported / not exported

All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the checks_to_markdown() function

The final measure (fn_call_network_size) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile.

measure value percentile noteworthy
files_R 19 78.8
files_inst 1 90.8
files_vignettes 5 95.6
files_tests 34 97.8
loc_R 680 56.4
loc_inst 446 64.3
loc_vignettes 397 69.7
loc_tests 3533 95.9 TRUE
num_vignettes 5 96.1 TRUE
data_size_total 458 55.8
data_size_median 458 57.9
n_fns_r 77 68.9
n_fns_r_exported 28 76.4
n_fns_r_not_exported 49 66.3
n_fns_per_file_r 2 42.5
num_params_per_fn 2 11.6
loc_per_fn_r 17 53.9
loc_per_fn_r_exp 16 40.4
loc_per_fn_r_not_exp 18 59.7
rel_whitespace_R 27 67.2
rel_whitespace_inst 16 62.3
rel_whitespace_vignettes 28 64.7
rel_whitespace_tests 31 97.9 TRUE
doclines_per_fn_exp 15 10.7
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 36 59.0

2a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


3. goodpractice and other checks

Details of goodpractice checks (click to open)

3a. Continuous Integration Badges

R-CMD-check.yaml

GitHub Workflow Results

id name conclusion sha run_number date
20080569211 R-CMD-check success 461174 35 2025-12-09

3b. goodpractice results

Test coverage with covr

Package coverage: 74.38

Cyclocomplexity with cyclocomp

The following function have cyclocomplexity >= 15:

function cyclocomplexity
get_codes 43

Static code analyses with lintr

lintr found no issues with this package!


Package Versions

package version
pkgstats 0.2.1
pkgcheck 0.1.2.241

Editor-in-Chief Instructions:

Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.

ropensci-review-bot avatar Dec 09 '25 22:12 ropensci-review-bot

@ropensci-review-bot check package

cherylisabella avatar Dec 09 '25 23:12 cherylisabella

Thanks, about to send the query.

ropensci-review-bot avatar Dec 09 '25 23:12 ropensci-review-bot

:rocket:

Editor check started

:wave:

ropensci-review-bot avatar Dec 09 '25 23:12 ropensci-review-bot

Checks for nomisdata (v0.1.1)

git hash: aa6a6df5

  • :heavy_multiplication_x: Package name is not available (on CRAN).
  • :heavy_check_mark: has a 'codemeta.json' file.
  • :heavy_check_mark: has a 'contributing' file.
  • :heavy_check_mark: uses 'roxygen2'.
  • :heavy_check_mark: 'DESCRIPTION' has a URL field.
  • :heavy_check_mark: 'DESCRIPTION' has a BugReports field.
  • :heavy_check_mark: Package has at least one HTML vignette
  • :heavy_check_mark: All functions have examples.
  • :heavy_check_mark: Package has continuous integration checks.
  • :heavy_multiplication_x: Package coverage is 74.6% (should be at least 75%).
  • :heavy_check_mark: R CMD check found no errors.
  • :heavy_check_mark: R CMD check found no warnings.
  • :eyes: Some goodpractice linters failed.
  • :eyes: Examples should not use \dontrun{} unless really necessary.

Important: All failing checks above must be addressed prior to proceeding

(Checks marked with :eyes: may be optionally addressed.)

Package License: MIT + file LICENSE


1. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.

type package ncalls
internal base 173
internal nomisdata 58
internal stats 11
internal graphics 3
imports utils 18
imports dplyr 13
imports httr2 9
imports rlang 5
imports methods 4
imports jsonlite 2
imports tibble 2
imports digest 2
imports cli 1
suggests readr 2
suggests rsdmx 2
suggests sf 2
suggests janitor 1
suggests cachem NA
suggests ggplot2 NA
suggests knitr NA
suggests memoise NA
suggests rappdirs NA
suggests rmarkdown NA
suggests scales NA
suggests testthat NA
suggests withr NA
linking_to NA NA

Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table.

base

paste0 (20), list (19), format (13), c (10), if (8), is.null (7), names (7), getOption (6), character (5), file.path (5), url (5), for (4), nrow (4), Sys.time (4), lapply (3), paste (3), return (3), saveRDS (3), search (3), Sys.getenv (3), as.numeric (2), body (2), data.frame (2), date (2), setdiff (2), tryCatch (2), as.data.frame (1), as.integer (1), by (1), class (1), conditionMessage (1), difftime (1), do.call (1), drop (1), grep (1), grepl (1), gsub (1), length (1), mapply (1), rbind (1), readline (1), readLines (1), readRDS (1), seq (1), seq_along (1), seq_len (1), sprintf (1), switch (1), tempfile (1), units (1), unlist (1), vector (1)

nomisdata

build_request (13), execute_request (9), get_codes (4), parse_json_response (3), build_params (2), clear_cache (2), dataset_overview (2), describe_dataset (2), fetch_codelist (2), fetch_paginated (2), get_cache_key (2), add_geography_names (1), add_to_renviron (1), aggregate_geography (1), aggregate_time (1), browse_dataset (1), cache_data (1), check_installed (1), enable_cache (1), explore_dataset (1), fetch_nomis (1), fetch_spatial (1), format_number (1), get_cached_data (1), handle_error_body (1), parse_csv_response (1)

utils

data (11), timestamp (3), page (2), read.csv (2)

dplyr

across (3), all_of (3), group_by (3), (2), left_join (1), summarise (1)

stats

df (9), time (2)

httr2

resp_body_string (3), resp_status (2), req_error (1), req_perform (1), request (1), resp_url (1)

rlang

abort (2), list2 (2), warn (1)

methods

slot (4)

graphics

text (2), lines (1)

digest

digest (2)

jsonlite

fromJSON (2)

readr

read_csv (2)

rsdmx

readSDMX (2)

sf

st_read (2)

tibble

as_tibble (2)

cli

cli_progress_bar (1)

janitor

make_clean_names (1)


2. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has:

  • code in R (100% in 20 files) and
  • 1 authors
  • 5 vignettes
  • 1 internal data file
  • 9 imported packages
  • 28 exported functions (median 16 lines of code)
  • 49 non-exported functions in R (median 18 lines of code)

Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages The following terminology is used:

  • loc = "Lines of Code"
  • fn = "function"
  • exp/not_exp = exported / not exported

All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the checks_to_markdown() function

The final measure (fn_call_network_size) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile.

measure value percentile noteworthy
files_R 19 78.8
files_inst 1 90.8
files_vignettes 5 95.6
files_tests 34 97.8
loc_R 680 56.4
loc_inst 446 64.3
loc_vignettes 397 69.7
loc_tests 4113 96.5 TRUE
num_vignettes 5 96.1 TRUE
data_size_total 458 55.8
data_size_median 458 57.9
n_fns_r 77 68.9
n_fns_r_exported 28 76.4
n_fns_r_not_exported 49 66.3
n_fns_per_file_r 2 42.5
num_params_per_fn 2 11.6
loc_per_fn_r 17 53.9
loc_per_fn_r_exp 16 40.4
loc_per_fn_r_not_exp 18 59.7
rel_whitespace_R 27 67.2
rel_whitespace_inst 16 62.3
rel_whitespace_vignettes 28 64.7
rel_whitespace_tests 30 98.3 TRUE
doclines_per_fn_exp 15 10.7
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 36 59.0

2a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


3. goodpractice and other checks

Details of goodpractice checks (click to open)

3a. Continuous Integration Badges

R-CMD-check.yaml

GitHub Workflow Results

id name conclusion sha run_number date
20081739938 R-CMD-check success aa6a6d 36 2025-12-09

3b. goodpractice results

Test coverage with covr

Package coverage: 74.59

Cyclocomplexity with cyclocomp

The following function have cyclocomplexity >= 15:

function cyclocomplexity
get_codes 43

Static code analyses with lintr

lintr found no issues with this package!


Package Versions

package version
pkgstats 0.2.1
pkgcheck 0.1.2.241

Editor-in-Chief Instructions:

Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.

ropensci-review-bot avatar Dec 09 '25 23:12 ropensci-review-bot

@cherylisabella I want to thank you for both of your submissions (https://github.com/ropensci/software-review/issues/734 and https://github.com/ropensci/software-review/issues/733) to rOpenSci.  After some discussions with the editorial board and rOpenSci staff, we have decided to close both of these submissions for the following reasons. 

First, the leakr package does not seem to be fully developed yet, and nomisdata is seeing several recent and substantial changes to its tests.  This suggests that neither package is quite ready for review. 

Second, rOpenSci does require that packages be under active version control which includes a more complete version control history.   

We are sorry that we are unable to move forward with review of these packages at this time, but when the packages are in a more complete state, with full documentation and tests, we would be happy to reconsider.  Please also note, that we generally ask that authors have only one package under review at a time.

Again, apologies that we are not able to consider these at this time.  If you have any questions, please do not hesitate to reach out.

@jhollist (acting rOpenSci EiC) 

jhollist avatar Dec 17 '25 14:12 jhollist