software-review
software-review copied to clipboard
`chopin`: Computation for Climate and Health research On Parallelized INfrastructure
Submitting Author Name: Insang Song Submitting Author Github Handle: @sigmafelix Other Package Authors Github handles: (comma separated, delete if none) @kyle-messier Repository: https://github.com/NIEHS/chopin Version submitted: 0.6.2.20240423 Submission type: Standard Editor: @beatrizmilz Reviewers: @robitalec, @Aariq
Archive: TBD Version accepted: TBD Language: en
- Paste the full DESCRIPTION file inside a code block below:
Package: chopin
Title: CHOPIN: Computation for Climate and Health research On Parallelized INfrastructure
Version: 0.6.2.20240423
Authors@R: c(
person("Insang", "Song", , "[email protected]", role = c("aut", "cre"),
comment = c(ORCID = "0000-0001-8732-3256")),
person("Kyle", "Messier", role = c("aut", "ctb"),
comment = c(ORCID = "0000-0001-9508-9623"))
)
Description: It enables users with basic understanding on geospatial data
and sf and terra functions to parallelize geospatial operations for
geospatial exposure assessment modeling and covariate computation.
Parallelization is done by dividing large datasets into sub-regions
with regular grids and data's own hierarchy. A computation over the
large number of raster files can be parallelized with a chopin
function as well.
License: MIT + file LICENSE
URL: https://github.com/NIEHS/chopin
BugReports: https://github.com/NIEHS/chopin/issues
Depends:
R (>= 4.1)
Encoding: UTF-8
LazyData: true
LazyDataCompression: xz
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.3.1
Imports:
anticlust,
dplyr (>= 1.1.0),
exactextractr (>= 0.8.2),
future.apply,
igraph,
methods,
rlang (>= 0.4.9),
sf (>= 1.0-10),
stars (>= 0.6-0),
terra (>= 1.7-18)
Suggests:
callr,
covr,
DiagrammeR,
doFuture,
doParallel,
future,
future.batchtools,
future.callr,
knitr,
rmarkdown,
spatstat.random,
testthat (>= 3.0.0),
units,
withr
VignetteBuilder: knitr
Config/testthat/edition: 3
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.):
- [ ] 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
- [ ] database software bindings
- [x] geospatial data
- [ ] text analysis
-
Explain how and why the package falls under these categories (briefly, 1-2 sentences): :
chopinsupports parallel processing for functions in popular spatial data manipulation packagessfandterraon a high-level parallelization frameworkfuture. This feature fits to the geospatial data category. -
Who is the target audience and what are scientific applications of this package? : Our first target audience group is spatial epidemiologists and health geographers who want to calculating spatial covariates from spatial and spatiotemporal datasets including climate, transportation, demographics, topography, hydrography, and others. We expect that users are cognizant of basic geographic information system/science. The wider audience could take advantage of the flexibility of this package for expediting spatial operations.
-
Are there other R packages that accomplish the same thing? If so, how does yours differ or meet our criteria for best-in-category? : A selection of functions in
terra(e.g.,*appandpredict) supports internal parallelization, where a single dataset is accepted. To the best of our knowledge, no packaged solution exists for parallelization of spatial operations where two datasets are involved. sprawl (GitHub-only; not maintained) partially overlaps this package's functionality in that it includes convenience functions connecting multiple basic spatial operations. Besides the R functions, a handful of teaching or demonstration materials briefly covered parallelization of spatial data applications ([1], [2], [3]). -
(If applicable) Does your package comply with our guidance around Ethics, Data Privacy and Human Subjects Research? : Not applicable
-
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. : Presubmission inquiry of the previous version of this package -- #630 commented by @ldecicco-USGS
-
Explain reasons for any
pkgcheckitems which your package is unable to pass. : Coverage rate (99%) and installation size (25.7 MB; of which data (2.0 MB) and extdata (23.1 MB) exceeded recommended sizes) resulted in notes.
Technical checks
Confirm each of the following by checking the box.
- [x] I have read the rOpenSci packaging guide.
- [x] I have read the author guide and I expect to maintain this package for at least 2 years or to find a replacement.
This package:
- [x] does not violate the Terms of Service of any service it interacts with.
- [x] has a CRAN and OSI accepted license.
- [x] contains a README with instructions for installing the development version.
- [x] includes documentation with examples for all functions, created with roxygen2.
- [x] contains a vignette with examples of its essential functions and uses.
- [x] has a test suite.
- [x] has continuous integration, including reporting of test coverage.
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.
Thank you very much for your consideration!
Thanks for submitting to rOpenSci, our editors and @ropensci-review-bot will reply soon. Type @ropensci-review-bot help for help.
:rocket:
Editor check started
:wave:
Checks for chopin (v0.6.2.20240423)
git hash: 26153abb
- :heavy_check_mark: Package name is available
- :heavy_check_mark: has a 'codemeta.json' file.
- :heavy_multiplication_x: does not have a 'contributing' file.
- :heavy_multiplication_x: The following function has no documented return value: [clip_ras_ext]
- :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_check_mark: Package coverage is 99.6%.
- :heavy_check_mark: R CMD check found no errors.
- :heavy_check_mark: R CMD check found no warnings.
Important: All failing checks above must be addressed prior to proceeding
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 | 123 |
| internal | chopin | 33 |
| internal | graphics | 8 |
| internal | stats | 6 |
| internal | utils | 2 |
| imports | terra | 38 |
| imports | sf | 20 |
| imports | dplyr | 5 |
| imports | methods | 5 |
| imports | exactextractr | 3 |
| imports | future.apply | 3 |
| imports | rlang | 3 |
| imports | igraph | 2 |
| imports | anticlust | 1 |
| imports | stars | 1 |
| suggests | callr | NA |
| suggests | covr | NA |
| suggests | DiagrammeR | NA |
| suggests | doFuture | NA |
| suggests | doParallel | NA |
| suggests | future | NA |
| suggests | future.batchtools | NA |
| suggests | future.callr | NA |
| suggests | knitr | NA |
| suggests | rmarkdown | NA |
| suggests | spatstat.random | NA |
| suggests | testthat | NA |
| suggests | units | 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
list (9), switch (9), lapply (7), c (6), unlist (6), split (5), which (5), names (4), grepl (3), if (3), mapply (3), nrow (3), abs (2), any (2), as.integer (2), ceiling (2), class (2), data.frame (2), expand.grid (2), log10 (2), mode (2), paste (2), round (2), rownames (2), seq (2), seq_len (2), sum (2), t (2), tryCatch (2), unique (2), args (1), as.data.frame (1), as.logical (1), as.numeric (1), as.vector (1), by (1), exp (1), for (1), formals (1), ifelse (1), intersect (1), lengths (1), pi (1), rbind (1), Reduce (1), search (1), seq_along (1), sort (1), sprintf (1), strsplit (1), suppressWarnings (1), table (1), try (1), vector (1)
terra
buffer (9), crop (8), ext (4), rast (4), distance (3), crs (2), nearby (2), project (2), crds (1), intersect (1), is.lonlat (1), nlyr (1)
chopin
dep_check (15), any_class_args (4), dep_switch (4), datamod (2), get_clip_ext (2), clip_ras_ext (1), clip_vec_ext (1), crs_check (1), ext2poly (1), extract_at_buffer_kernel (1), par_group_balanced (1)
sf
st_crs (3), st_relate (3), st_as_sf (2), st_area (1), st_as_sfc (1), st_bbox (1), st_centroid (1), st_coordinates (1), st_covered_by (1), st_geometry_type (1), st_intersection (1), st_intersects (1), st_make_grid (1), st_transform (1), st_within (1)
graphics
points (8)
stats
dist (3), quantile (3)
dplyr
n (2), left_join (1), mutate (1), summarize (1)
methods
is (3), el (2)
exactextractr
exact_extract (3)
future.apply
future_lapply (3)
rlang
inject (3)
igraph
graph_from_edgelist (2)
utils
combn (2)
anticlust
balanced_clustering (1)
stars
st_as_stars (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 7 files) and
- 2 authors
- 3 vignettes
- 2 internal data files
- 10 imported packages
- 33 exported functions (median 17 lines of code)
- 34 non-exported functions in R (median 29 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 | 7 | 45.7 | |
| files_vignettes | 3 | 92.4 | |
| files_tests | 9 | 89.6 | |
| loc_R | 1163 | 72.0 | |
| loc_vignettes | 652 | 83.8 | |
| loc_tests | 1193 | 89.2 | |
| num_vignettes | 3 | 94.2 | |
| data_size_total | 2100956 | 97.8 | TRUE |
| data_size_median | 1050478 | 98.5 | TRUE |
| n_fns_r | 67 | 65.5 | |
| n_fns_r_exported | 33 | 80.4 | |
| n_fns_r_not_exported | 34 | 56.6 | |
| n_fns_per_file_r | 7 | 77.9 | |
| num_params_per_fn | 3 | 33.6 | |
| loc_per_fn_r | 21 | 62.0 | |
| loc_per_fn_r_exp | 17 | 40.3 | |
| loc_per_fn_r_not_exp | 29 | 77.1 | |
| rel_whitespace_R | 12 | 61.7 | |
| rel_whitespace_vignettes | 32 | 85.6 | |
| rel_whitespace_tests | 17 | 85.6 | |
| doclines_per_fn_exp | 37 | 45.3 | |
| doclines_per_fn_not_exp | 0 | 0.0 | TRUE |
| fn_call_network_size | 59 | 69.7 |
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
GitHub Workflow Results
| id | name | conclusion | sha | run_number | date |
|---|---|---|---|---|---|
| 8817187321 | pages build and deployment | success | a8aaed | 33 | 2024-04-24 |
| 8817133786 | pkgdown | success | 26153a | 69 | 2024-04-24 |
| 8817133742 | R-CMD-check | success | 26153a | 149 | 2024-04-24 |
| 8817133730 | test-coverage-local | success | 26153a | 17 | 2024-04-24 |
3b. goodpractice results
R CMD check with rcmdcheck
R CMD check generated the following notes:
- checking installed package size ... NOTE installed size is 25.6Mb sub-directories of 1Mb or more: data 2.0Mb extdata 23.1Mb
- checking re-building of vignette outputs ... NOTE Error(s) in re-building vignettes: ... --- re-building ‘v00_good_practice_parallelization.Rmd’ using rmarkdown --- finished re-building ‘v00_good_practice_parallelization.Rmd’
--- re-building ‘v01_par_make_gridset.Rmd’ using rmarkdown File figures/nc-load-1.png not found in resource path Error: processing vignette 'v01_par_make_gridset.Rmd' failed with diagnostics: pandoc document conversion failed with error 99 --- failed re-building ‘v01_par_make_gridset.Rmd’
--- re-building ‘v02_climate_examples.Rmd’ using rmarkdown File figures/climate-se-states.png not found in resource path Error: processing vignette 'v02_climate_examples.Rmd' failed with diagnostics: pandoc document conversion failed with error 99 --- failed re-building ‘v02_climate_examples.Rmd’
SUMMARY: processing the following files failed: ‘v01_par_make_gridset.Rmd’ ‘v02_climate_examples.Rmd’
Error: Vignette re-building failed. Execution halted
R CMD check generated the following check_fail:
- rcmdcheck_reasonable_installed_size
Test coverage with covr
Package coverage: 99.65
Cyclocomplexity with cyclocomp
No functions have cyclocomplexity >= 15
Static code analyses with lintr
lintr found the following 1 potential issues:
| message | number of times |
|---|---|
| Lines should not be more than 80 characters. | 1 |
Package Versions
| package | version |
|---|---|
| pkgstats | 0.1.3.13 |
| pkgcheck | 0.1.2.21 |
Editor-in-Chief Instructions:
Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.
@ropensci-review-bot check package
Thanks, about to send the query.
:rocket:
Editor check started
:wave:
Checks for chopin (v0.6.2.20240423)
git hash: c0e53b6e
- :heavy_check_mark: Package name is available
- :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_check_mark: Package coverage is 99.6%.
- :heavy_check_mark: R CMD check found no errors.
- :heavy_check_mark: R CMD check found no warnings.
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 | 123 |
| internal | chopin | 33 |
| internal | graphics | 8 |
| internal | stats | 6 |
| internal | utils | 2 |
| imports | terra | 38 |
| imports | sf | 20 |
| imports | dplyr | 5 |
| imports | methods | 5 |
| imports | exactextractr | 3 |
| imports | future.apply | 3 |
| imports | rlang | 3 |
| imports | igraph | 2 |
| imports | anticlust | 1 |
| imports | stars | 1 |
| suggests | callr | NA |
| suggests | covr | NA |
| suggests | DiagrammeR | NA |
| suggests | doFuture | NA |
| suggests | doParallel | NA |
| suggests | future | NA |
| suggests | future.batchtools | NA |
| suggests | future.callr | NA |
| suggests | knitr | NA |
| suggests | rmarkdown | NA |
| suggests | spatstat.random | NA |
| suggests | testthat | NA |
| suggests | units | 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
list (9), switch (9), lapply (7), c (6), unlist (6), split (5), which (5), names (4), grepl (3), if (3), mapply (3), nrow (3), abs (2), any (2), as.integer (2), ceiling (2), class (2), data.frame (2), expand.grid (2), log10 (2), mode (2), paste (2), round (2), rownames (2), seq (2), seq_len (2), sum (2), t (2), tryCatch (2), unique (2), args (1), as.data.frame (1), as.logical (1), as.numeric (1), as.vector (1), by (1), exp (1), for (1), formals (1), ifelse (1), intersect (1), lengths (1), pi (1), rbind (1), Reduce (1), search (1), seq_along (1), sort (1), sprintf (1), strsplit (1), suppressWarnings (1), table (1), try (1), vector (1)
terra
buffer (9), crop (8), ext (4), rast (4), distance (3), crs (2), nearby (2), project (2), crds (1), intersect (1), is.lonlat (1), nlyr (1)
chopin
dep_check (15), any_class_args (4), dep_switch (4), datamod (2), get_clip_ext (2), clip_ras_ext (1), clip_vec_ext (1), crs_check (1), ext2poly (1), extract_at_buffer_kernel (1), par_group_balanced (1)
sf
st_crs (3), st_relate (3), st_as_sf (2), st_area (1), st_as_sfc (1), st_bbox (1), st_centroid (1), st_coordinates (1), st_covered_by (1), st_geometry_type (1), st_intersection (1), st_intersects (1), st_make_grid (1), st_transform (1), st_within (1)
graphics
points (8)
stats
dist (3), quantile (3)
dplyr
n (2), left_join (1), mutate (1), summarize (1)
methods
is (3), el (2)
exactextractr
exact_extract (3)
future.apply
future_lapply (3)
rlang
inject (3)
igraph
graph_from_edgelist (2)
utils
combn (2)
anticlust
balanced_clustering (1)
stars
st_as_stars (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 7 files) and
- 2 authors
- 3 vignettes
- 2 internal data files
- 10 imported packages
- 33 exported functions (median 17 lines of code)
- 34 non-exported functions in R (median 29 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 | 7 | 45.7 | |
| files_vignettes | 3 | 92.4 | |
| files_tests | 9 | 89.6 | |
| loc_R | 1163 | 72.0 | |
| loc_vignettes | 652 | 83.8 | |
| loc_tests | 1193 | 89.2 | |
| num_vignettes | 3 | 94.2 | |
| data_size_total | 2100956 | 97.8 | TRUE |
| data_size_median | 1050478 | 98.5 | TRUE |
| n_fns_r | 67 | 65.5 | |
| n_fns_r_exported | 33 | 80.4 | |
| n_fns_r_not_exported | 34 | 56.6 | |
| n_fns_per_file_r | 7 | 77.9 | |
| num_params_per_fn | 3 | 33.6 | |
| loc_per_fn_r | 21 | 62.0 | |
| loc_per_fn_r_exp | 17 | 40.3 | |
| loc_per_fn_r_not_exp | 29 | 77.1 | |
| rel_whitespace_R | 12 | 61.7 | |
| rel_whitespace_vignettes | 32 | 85.6 | |
| rel_whitespace_tests | 17 | 85.6 | |
| doclines_per_fn_exp | 37 | 45.3 | |
| doclines_per_fn_not_exp | 0 | 0.0 | TRUE |
| fn_call_network_size | 59 | 69.7 |
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
GitHub Workflow Results
| id | name | conclusion | sha | run_number | date |
|---|---|---|---|---|---|
| 8818976584 | pages build and deployment | success | 1b88a2 | 36 | 2024-04-24 |
| 8818927586 | pkgdown | success | f8c659 | 71 | 2024-04-24 |
| 8818927598 | R-CMD-check | success | f8c659 | 151 | 2024-04-24 |
| 8818927585 | test-coverage-local | success | f8c659 | 19 | 2024-04-24 |
3b. goodpractice results
R CMD check with rcmdcheck
R CMD check generated the following notes:
- checking installed package size ... NOTE installed size is 25.6Mb sub-directories of 1Mb or more: data 2.0Mb extdata 23.1Mb
- checking re-building of vignette outputs ... NOTE Error(s) in re-building vignettes: ... --- re-building ‘v00_good_practice_parallelization.Rmd’ using rmarkdown --- finished re-building ‘v00_good_practice_parallelization.Rmd’
--- re-building ‘v01_par_make_gridset.Rmd’ using rmarkdown File figures/nc-load-1.png not found in resource path Error: processing vignette 'v01_par_make_gridset.Rmd' failed with diagnostics: pandoc document conversion failed with error 99 --- failed re-building ‘v01_par_make_gridset.Rmd’
--- re-building ‘v02_climate_examples.Rmd’ using rmarkdown File figures/climate-se-states.png not found in resource path Error: processing vignette 'v02_climate_examples.Rmd' failed with diagnostics: pandoc document conversion failed with error 99 --- failed re-building ‘v02_climate_examples.Rmd’
SUMMARY: processing the following files failed: ‘v01_par_make_gridset.Rmd’ ‘v02_climate_examples.Rmd’
Error: Vignette re-building failed. Execution halted
R CMD check generated the following check_fail:
- rcmdcheck_reasonable_installed_size
Test coverage with covr
Package coverage: 99.65
Cyclocomplexity with cyclocomp
No functions have cyclocomplexity >= 15
Static code analyses with lintr
lintr found the following 1 potential issues:
| message | number of times |
|---|---|
| Lines should not be more than 80 characters. | 1 |
Package Versions
| package | version |
|---|---|
| pkgstats | 0.1.3.13 |
| pkgcheck | 0.1.2.21 |
Editor-in-Chief Instructions:
This package is in top shape and may be passed on to a handling editor
@ropensci-review-bot help
Hello @sigmafelix, here are the things you can ask me to do:
# Add an author's response info to the ROpenSci logs
@ropensci-review-bot submit response <AUTHOR_RESPONSE_URL>
# List all available commands
@ropensci-review-bot help
# Show our Code of Conduct
@ropensci-review-bot code of conduct
# Invite the author of a package to the corresponding rOpenSci team. This command should be issued by the author of the package.
@ropensci-review-bot invite me to ropensci/package-name
# Adds package's repo to the rOpenSci team. This command should be issued after approval and transfer of the package.
@ropensci-review-bot finalize transfer of package-name
# Various package checks
@ropensci-review-bot check package
# Checks srr documentation for stats packages
@ropensci-review-bot check srr
@ropensci-review-bot submit response https://github.com/ropensci/software-review/issues/638#issuecomment-2075277239
Couldn't find entry for chopin in the packages log
@ropensci-review-bot assign @beatrizmilz as editor
Assigned! @beatrizmilz is now the editor
Hello @sigmafelix ! Thank you for your submission. I am the editor who will be working with you on this package.
Editor checks:
- [x] Documentation: The package has sufficient documentation available online (README, pkgdown docs) to allow for an assessment of functionality and scope without installing the package. In particular,
- [x] Is the case for the package well made?
- [x] Is the reference index page clear (grouped by topic if necessary)?
- [ ] Are vignettes readable, sufficiently detailed and not just perfunctory?
- [x] Fit: The package meets criteria for fit and overlap.
- [x] Installation instructions: Are installation instructions clear enough for human users?
- [x] Tests: If the package has some interactivity / HTTP / plot production etc. are the tests using state-of-the-art tooling?
- [x] Contributing information: Is the documentation for contribution clear enough e.g. tokens for tests, playgrounds?
- [x] License: The package has a CRAN or OSI accepted license.
- [x] Project management: Are the issue and PR trackers in a good shape, e.g. are there outstanding bugs, is it clear when feature requests are meant to be tackled?
Editor comments
-
- Seems like the package was created in the organization called
Spatiotemporal-Exposures-and-Toxicologyand then was transfered toNIEHS, and some of the links in the documentation are still pointing to the old organization. Can you update them to point to the new organization, please? This might help: https://github.com/search?q=repo%3ANIEHS%2Fchopin%20Spatiotemporal-Exposures-and-Toxicology&type=code
- Seems like the package was created in the organization called
-
- The vignette Extracting Weather/Climate Geospatial Data with
chopinis well detailed and informative. However, the vignette Generate computational grids can be more detailed. It would be great if you could improve that vignette with more text explaining the code and the steps.
- The vignette Extracting Weather/Climate Geospatial Data with
-
- I ran
devtools::test()and all the tests passed. However, I noticed that there is a lot of messages from dplyr joins, because aparently there are some joins that are being done without declaring which are the key columns. This is not a problem, but it would be nice if you could add thebyargument to thedplyr::**_join()functions in the code. Here is part of the messages that I got:
- I ran
✔ | 41 | processing [8.1s]
⠏ | 0 | tests Joining with `by = join_by(from_id)`
Joining with `by = join_by(to_id)`
Joining with `by = join_by(from_id, to_id)`
⠴ | 6 | tests Joining with `by = join_by(from_id)`
Joining with `by = join_by(to_id)`
Joining with `by = join_by(from_id, to_id)`
Joining with `by = join_by(from_id)`
Joining with `by = join_by(to_id)`
Joining with `by = join_by(from_id, to_id)`
⠙ | 12 | tests Joining with `by = join_by(from_id)`
Joining with `by = join_by(to_id, FIPS)`
Joining with `by = join_by(from_id, to_id)`
✔ | 13 | tests
-
- The package has >99% of code covered by tests. 🎉
- The package has >99% of code covered by tests. 🎉
Can you please address these comments? Thank you!
@beatrizmilz I appreciate your time to review our package. I will address all your points in the revision on top of fixing some bugs we identified in the meantime and respond to you soon. Thank you.
@beatrizmilz Thank you for your patience. I think I addressed all comments in the current version available in main. Please let me know if you have additional comments.
Thank you @sigmafelix !
@ropensci-review-bot seeking reviewers
Please add this badge to the README of your package repository:
[](https://github.com/ropensci/software-review/issues/638)
Furthermore, if your package does not have a NEWS.md file yet, please create one to capture the changes made during the review process. See https://devguide.ropensci.org/releasing.html#news
@ropensci-review-bot check package
Thanks, about to send the query.
:rocket:
Editor check started
:wave:
Checks for chopin (v0.6.3.20240515)
git hash: 094a6460
- :heavy_check_mark: Package name is available
- :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_check_mark: Package coverage is 99.7%.
- :heavy_multiplication_x: R CMD check found 1 error.
- :heavy_check_mark: R CMD check found no warnings.
Important: All failing checks above must be addressed prior to proceeding
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 | 133 |
| internal | chopin | 33 |
| internal | graphics | 8 |
| internal | stats | 6 |
| internal | utils | 2 |
| imports | terra | 38 |
| imports | sf | 20 |
| imports | dplyr | 10 |
| imports | methods | 5 |
| imports | exactextractr | 3 |
| imports | future.apply | 3 |
| imports | rlang | 3 |
| imports | igraph | 2 |
| imports | anticlust | 1 |
| imports | stars | 1 |
| suggests | callr | NA |
| suggests | covr | NA |
| suggests | DiagrammeR | NA |
| suggests | doFuture | NA |
| suggests | doParallel | NA |
| suggests | future | NA |
| suggests | future.batchtools | NA |
| suggests | future.callr | NA |
| suggests | knitr | NA |
| suggests | rmarkdown | NA |
| suggests | spatstat.random | NA |
| suggests | testthat | NA |
| suggests | units | 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
list (9), switch (9), c (7), lapply (7), by (6), data.frame (6), unlist (6), split (5), which (5), names (4), grepl (3), if (3), mapply (3), nrow (3), abs (2), any (2), as.integer (2), ceiling (2), class (2), expand.grid (2), log10 (2), mode (2), paste (2), round (2), rownames (2), seq (2), seq_len (2), sum (2), t (2), tryCatch (2), unique (2), args (1), as.data.frame (1), as.logical (1), as.numeric (1), as.vector (1), exp (1), for (1), formals (1), ifelse (1), intersect (1), lengths (1), pi (1), rbind (1), Reduce (1), search (1), seq_along (1), sort (1), sprintf (1), strsplit (1), suppressWarnings (1), table (1), try (1), vector (1)
terra
buffer (9), crop (8), ext (4), rast (4), distance (3), crs (2), nearby (2), project (2), crds (1), intersect (1), is.lonlat (1), nlyr (1)
chopin
dep_check (15), any_class_args (4), dep_switch (4), datamod (2), get_clip_ext (2), clip_ras_ext (1), clip_vec_ext (1), crs_check (1), ext2poly (1), extract_at_buffer_kernel (1), par_group_balanced (1)
sf
st_crs (3), st_relate (3), st_as_sf (2), st_area (1), st_as_sfc (1), st_bbox (1), st_centroid (1), st_coordinates (1), st_covered_by (1), st_geometry_type (1), st_intersection (1), st_intersects (1), st_make_grid (1), st_transform (1), st_within (1)
dplyr
left_join (6), n (2), mutate (1), summarize (1)
graphics
points (8)
stats
dist (3), quantile (3)
methods
is (3), el (2)
exactextractr
exact_extract (3)
future.apply
future_lapply (3)
rlang
inject (3)
igraph
graph_from_edgelist (2)
utils
combn (2)
anticlust
balanced_clustering (1)
stars
st_as_stars (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 7 files) and
- 2 authors
- 3 vignettes
- 2 internal data files
- 10 imported packages
- 33 exported functions (median 17 lines of code)
- 34 non-exported functions in R (median 29 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 | 7 | 45.7 | |
| files_vignettes | 3 | 92.4 | |
| files_tests | 9 | 89.6 | |
| loc_R | 1176 | 72.3 | |
| loc_vignettes | 831 | 88.0 | |
| loc_tests | 1289 | 90.2 | |
| num_vignettes | 3 | 94.2 | |
| data_size_total | 2100956 | 97.8 | TRUE |
| data_size_median | 1050478 | 98.5 | TRUE |
| n_fns_r | 67 | 65.5 | |
| n_fns_r_exported | 33 | 80.4 | |
| n_fns_r_not_exported | 34 | 56.6 | |
| n_fns_per_file_r | 7 | 77.9 | |
| num_params_per_fn | 3 | 33.6 | |
| loc_per_fn_r | 21 | 62.0 | |
| loc_per_fn_r_exp | 17 | 40.3 | |
| loc_per_fn_r_not_exp | 29 | 77.1 | |
| rel_whitespace_R | 12 | 61.7 | |
| rel_whitespace_vignettes | 33 | 90.4 | |
| rel_whitespace_tests | 16 | 85.6 | |
| doclines_per_fn_exp | 37 | 45.3 | |
| doclines_per_fn_not_exp | 0 | 0.0 | TRUE |
| fn_call_network_size | 61 | 70.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
GitHub Workflow Results
| id | name | conclusion | sha | run_number | date |
|---|---|---|---|---|---|
| 9116757038 | pages build and deployment | success | 9e3af8 | 43 | 2024-05-16 |
| 9116716549 | pkgdown | success | 094a64 | 77 | 2024-05-16 |
| 9116716555 | R-CMD-check | success | 094a64 | 157 | 2024-05-16 |
| 9116716552 | test-coverage-local | success | 094a64 | 25 | 2024-05-16 |
3b. goodpractice results
R CMD check with rcmdcheck
R CMD check generated the following error:
- checking re-building of vignette outputs ... ERROR Error(s) in re-building vignettes: ... --- re-building ‘v00_good_practice_parallelization.Rmd’ using rmarkdown --- finished re-building ‘v00_good_practice_parallelization.Rmd’
--- re-building ‘v01_par_make_gridset.Rmd’ using rmarkdown File figures/nc-gen-points-1.png not found in resource path Error: processing vignette 'v01_par_make_gridset.Rmd' failed with diagnostics: pandoc document conversion failed with error 99 --- failed re-building ‘v01_par_make_gridset.Rmd’
--- re-building ‘v02_climate_examples.Rmd’ using rmarkdown File figures/climate-se-states.png not found in resource path Error: processing vignette 'v02_climate_examples.Rmd' failed with diagnostics: pandoc document conversion failed with error 99 --- failed re-building ‘v02_climate_examples.Rmd’
SUMMARY: processing the following files failed: ‘v01_par_make_gridset.Rmd’ ‘v02_climate_examples.Rmd’
Error: Vignette re-building failed. Execution halted
R CMD check generated the following note:
- checking installed package size ... NOTE installed size is 25.8Mb sub-directories of 1Mb or more: data 2.0Mb extdata 23.1Mb
R CMD check generated the following check_fail:
- rcmdcheck_reasonable_installed_size
Test coverage with covr
Package coverage: 99.65
Cyclocomplexity with cyclocomp
No functions have cyclocomplexity >= 15
Static code analyses with lintr
lintr found the following 2 potential issues:
| message | number of times |
|---|---|
| Avoid using sapply, consider vapply instead, that's type safe | 1 |
| Lines should not be more than 80 characters. This line is 81 characters. | 1 |
Package Versions
| package | version |
|---|---|
| pkgstats | 0.1.5.2 |
| pkgcheck | 0.1.2.34 |
Editor-in-Chief Instructions:
Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.
Hi @sigmafelix ! There was one error on the R CMD check: https://github.com/ropensci/software-review/issues/638#issuecomment-2125717203 . Could you please verify that, before we proceed to add the reviewers?
Thank you!
Hi @sigmafelix ! There was one error on the R CMD check: #638 (comment) . Could you please verify that, before we proceed to add the reviewers?
Thank you!
@beatrizmilz Thank you for the update. In the most recent version of chopin, I think the R CMD CHECK error was fixed. Thank you!
@ropensci-review-bot check package
Thanks, about to send the query.
:rocket:
Editor check started
:wave:
Checks for chopin (v0.7.0.20240525)
git hash: 052c8627
- :heavy_check_mark: Package name is available
- :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_check_mark: Package coverage is 98.1%.
- :heavy_check_mark: R CMD check found no errors.
- :heavy_check_mark: R CMD check found no warnings.
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 | 144 |
| internal | chopin | 32 |
| internal | graphics | 8 |
| internal | stats | 5 |
| internal | utils | 2 |
| imports | terra | 44 |
| imports | sf | 20 |
| imports | dplyr | 10 |
| imports | methods | 6 |
| imports | exactextractr | 3 |
| imports | future.apply | 3 |
| imports | rlang | 3 |
| imports | collapse | 3 |
| imports | anticlust | 2 |
| imports | igraph | 2 |
| imports | stars | 1 |
| suggests | callr | NA |
| suggests | covr | NA |
| suggests | DiagrammeR | NA |
| suggests | doFuture | NA |
| suggests | future | NA |
| suggests | future.batchtools | NA |
| suggests | future.callr | NA |
| suggests | knitr | NA |
| suggests | rmarkdown | NA |
| suggests | spatstat.random | NA |
| suggests | testthat | NA |
| suggests | units | 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
list (10), switch (9), c (7), lapply (7), by (6), unlist (6), nrow (5), which (5), data.frame (4), if (4), names (4), split (4), mapply (3), try (3), abs (2), any (2), as.integer (2), ceiling (2), class (2), expand.grid (2), grep (2), grepl (2), length (2), log10 (2), mode (2), paste (2), round (2), seq (2), seq_len (2), sum (2), t (2), tryCatch (2), unique (2), unname (2), args (1), as.data.frame (1), as.list (1), as.logical (1), as.numeric (1), as.vector (1), exp (1), for (1), formals (1), ifelse (1), intersect (1), lengths (1), matrix (1), ncol (1), paste0 (1), pi (1), rbind (1), Reduce (1), search (1), seq_along (1), sort (1), sprintf (1), startsWith (1), strsplit (1), suppressWarnings (1), table (1), vector (1)
terra
buffer (9), crop (8), crs (6), distance (4), ext (4), vect (4), nearby (2), project (2), rast (2), intersect (1), is.lonlat (1), nlyr (1)
chopin
dep_check (14), any_class_args (4), dep_switch (4), datamod (2), get_clip_ext (2), check_subject (1), clip_ras_ext (1), clip_vec_ext (1), crs_check (1), extract_at_buffer_kernel (1), par_group_balanced (1)
sf
st_crs (3), st_relate (3), st_as_sf (2), st_area (1), st_as_sfc (1), st_bbox (1), st_centroid (1), st_coordinates (1), st_covered_by (1), st_geometry_type (1), st_intersection (1), st_intersects (1), st_make_grid (1), st_transform (1), st_within (1)
dplyr
left_join (6), n (2), mutate (1), summarize (1)
graphics
points (8)
methods
is (4), el (2)
stats
quantile (3), dist (2)
collapse
rowbind (3)
exactextractr
exact_extract (3)
future.apply
future_lapply (3)
rlang
inject (3)
anticlust
balanced_clustering (2)
igraph
graph_from_edgelist (2)
utils
combn (2)
stars
st_as_stars (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 7 files) and
- 2 authors
- 3 vignettes
- 2 internal data files
- 11 imported packages
- 34 exported functions (median 17 lines of code)
- 35 non-exported functions in R (median 32 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 | 7 | 45.7 | |
| files_vignettes | 3 | 92.4 | |
| files_tests | 8 | 88.2 | |
| loc_R | 1281 | 74.5 | |
| loc_vignettes | 744 | 86.2 | |
| loc_tests | 1449 | 91.3 | |
| num_vignettes | 3 | 94.2 | |
| data_size_total | 2100956 | 97.8 | TRUE |
| data_size_median | 1050478 | 98.5 | TRUE |
| n_fns_r | 69 | 66.3 | |
| n_fns_r_exported | 34 | 81.0 | |
| n_fns_r_not_exported | 35 | 57.4 | |
| n_fns_per_file_r | 7 | 78.2 | |
| num_params_per_fn | 3 | 33.6 | |
| loc_per_fn_r | 21 | 62.0 | |
| loc_per_fn_r_exp | 18 | 42.0 | |
| loc_per_fn_r_not_exp | 32 | 80.3 | |
| rel_whitespace_R | 11 | 63.3 | |
| rel_whitespace_vignettes | 34 | 89.0 | |
| rel_whitespace_tests | 15 | 85.9 | |
| doclines_per_fn_exp | 36 | 45.0 | |
| doclines_per_fn_not_exp | 0 | 0.0 | TRUE |
| fn_call_network_size | 68 | 72.4 |
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
GitHub Workflow Results
| id | name | conclusion | sha | run_number | date |
|---|---|---|---|---|---|
| 9308315230 | pages build and deployment | success | 764f4b | 53 | 2024-05-30 |
| 9308277371 | pkgdown | success | 052c86 | 88 | 2024-05-30 |
| 9308277362 | R-CMD-check | success | 052c86 | 168 | 2024-05-30 |
| 9308277364 | test-coverage-local | success | 052c86 | 36 | 2024-05-30 |
3b. goodpractice results
R CMD check with rcmdcheck
R CMD check generated the following note:
- checking installed package size ... NOTE installed size is 25.7Mb sub-directories of 1Mb or more: data 2.0Mb extdata 23.1Mb
R CMD check generated the following check_fail:
- rcmdcheck_reasonable_installed_size
Test coverage with covr
Package coverage: 98.11
Cyclocomplexity with cyclocomp
The following function have cyclocomplexity >= 15:
| function | cyclocomplexity |
|---|---|
| par_grid | 15 |
Static code analyses with lintr
lintr found the following 7 potential issues:
| message | number of times |
|---|---|
| Avoid library() and require() calls in packages | 7 |
Package Versions
| package | version |
|---|---|
| pkgstats | 0.1.5.2 |
| pkgcheck | 0.1.2.41 |
Editor-in-Chief Instructions:
This package is in top shape and may be passed on to a handling editor
Hi @sigmafelix ! There was one error on the R CMD check: #638 (comment) . Could you please verify that, before we proceed to add the reviewers? Thank you!
@beatrizmilz Thank you for the update. In the most recent version of
chopin, I think the R CMD CHECK error was fixed. Thank you!
Great!