software-review
software-review copied to clipboard
baRulho
Submitting Author Name: Marcelo Araya-Salas Submitting Author Github Handle: @maRce10 Repository: https://github.com/maRce10/baRulho/ Version submitted: 2.1.0 Submission type: Standard Editor: @jhollist Reviewers: @mikemahoney218, @DenaJGibbon
Archive: TBD Version accepted: TBD Language: en
- Paste the full DESCRIPTION file inside a code block below:
Package: baRulho
Type: Package
Title: Quantifying (Animal) Sound Degradation
Version: 2.1.0
Author: Marcelo Araya-Salas [aut, cre]
Maintainer: Marcelo Araya-Salas <[email protected]>
Description: Intended to facilitate acoustic analysis of (animal) sound transmission experiments, which typically aim to quantify changes in signal structure when transmitted in a given habitat by broadcasting and re-recording animal sounds at increasing distances. The package offers a workflow with functions to prepare the data set for analysis as well as to calculate and visualize several degradation metrics, including blur ratio, signal-to-noise ratio, excess attenuation and envelope correlation among others (Dabelsteen et al 1993 <doi:10.1121/1.406682>).
License: GPL (>= 2)
Imports: utils, stats, seewave, tuneR, fftw, methods, viridis, Sim.DiffProc, png, checkmate, cli
Depends: R (>= 3.2.1), warbleR (>= 1.1.29), ohun (>= 1.0.0)
LazyData: TRUE
URL: https://github.com/maRce10/baRulho
BugReports: https://github.com/maRce10/baRulho/issues
Suggests:
rmarkdown,
ggplot2,
knitr,
kableExtra,
testthat (>= 3.0.0),
covr,
formatR,
Rraven
VignetteBuilder: knitr
RoxygenNote: 7.2.3
Repository: CRANs
Language: en-US
Authors@R: person("Marcelo", "Araya-Salas", role = c("aut", "cre"), email = "[email protected]")
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
- [x] data extraction
- [x] 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
- [ ] geospatial data
- [ ] text analysis
-
Explain how and why the package falls under these categories (briefly, 1-2 sentences):
It estimates degradation measures from sounds that have been re-recorded in standard playback experiments. It also helps to prepare acoustic data for playback experiments.
- Who is the target audience and what are scientific applications of this package?
Scientific community working with bioacoustic data. Useful to automate analysis of animal acoustic signals for a variety of research questions (e.g. behavior, ecology, evolution, conservation)
-
Are there other R packages that accomplish the same thing? If so, how does yours differ or meet our criteria for best-in-category?
-
To the best of my knowledge the only other similar tools is the warbleR package, which has similar functions for measuring features from annotation tables but not specifically related to sound degradation (I am also the maintainer) except for sig2noise.
-
(If applicable) Does your package comply with our guidance around Ethics, Data Privacy and Human Subjects Research?
-
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
pkgcheckitems which your package is unable to pass.
Somehow continuous integration is not detected when running pkgcheck::pkgcheck(), but it is fully implemented https://app.codecov.io/gh/maRce10/baRulho?branch=master
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?
-
[x] Do you wish to submit an Applications Article about your package to Methods in Ecology and Evolution? If so:
MEE Options
- [x] The package is novel and will be of interest to the broad readership of the journal.
- [x] The manuscript describing the package is no longer than 3000 words.
- [x] 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.
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 baRulho (v2.1.0)
git hash: 128b6ca3
- :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_multiplication_x: Package has no continuous integration checks.
- :heavy_check_mark: Package coverage is 75.2%.
- :heavy_check_mark: R CMD check found no errors.
- :heavy_check_mark: R CMD check found no warnings.
- :eyes: Function names are duplicated in other packages
Important: All failing checks above must be addressed prior to proceeding
(Checks marked with :eyes: may be optionally addressed.)
Package License: GPL (>= 2)
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 | 702 |
| internal | baRulho | 46 |
| internal | graphics | 45 |
| internal | parallel | 15 |
| internal | grDevices | 10 |
| internal | ohun | 1 |
| internal | tools | 1 |
| depends | warbleR | 76 |
| imports | seewave | 26 |
| imports | stats | 19 |
| imports | methods | 16 |
| imports | tuneR | 7 |
| imports | checkmate | 6 |
| imports | cli | 2 |
| imports | utils | 1 |
| imports | fftw | NA |
| imports | viridis | NA |
| imports | Sim.DiffProc | NA |
| imports | png | NA |
| suggests | rmarkdown | NA |
| suggests | ggplot2 | NA |
| suggests | knitr | NA |
| suggests | kableExtra | NA |
| suggests | testthat | NA |
| suggests | covr | NA |
| suggests | formatR | NA |
| suggests | Rraven | 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
c (80), names (36), nrow (30), for (26), if (25), unique (25), vapply (25), seq_len (24), length (22), args (21), match.call (21), as.list (20), which (19), lapply (18), getOption (15), is.na (14), list (13), options (13), plot (13), paste (12), rep (12), seq (12), as.character (10), ncol (9), numeric (9), sum (9), do.call (8), rbind (8), data.frame (7), on.exit (7), paste0 (7), seq_along (7), abs (6), min (6), nchar (6), pretty (6), return (5), t (5), as.data.frame (4), cbind (4), character (4), drop (4), labels (4), log10 (4), matrix (4), sort (4), unlist (4), any (3), diff (3), exp (3), file.path (3), max (3), sub (3), units (3), which.min (3), expand.grid (2), rev (2), sqrt (2), suppressWarnings (2), tempdir (2), all (1), call (1), factor (1), file (1), grepl (1), levels (1), list.files (1), match.arg (1), mean (1), range (1), rank (1), setdiff (1), split (1), sprintf (1), strwrap (1), Sys.info (1), tapply (1), tempfile (1), try (1), vector (1), which.max (1)
warbleR
pblapply_wrblr_int (27), read_sound_file (26), envelope (5), cross_correlation (3), freq_range_detec (3), read_wave (3), image_to_wave (2), lessdB (2), check_sels (1), info_sound_files (1), rename_est_waves (1), selection_table (1), simulate_songs (1)
baRulho
check_arguments (21), FUN (12), check_unique_sels (3), check_unique_sound.id (3), check_deprecated (2), check_several_distances (2), attenuation (1), find_peaks_bRlh_int (1), rbind2 (1)
graphics
par (23), grconvertX (9), lines (5), grid (3), grconvertY (2), split.screen (2), close.screen (1)
seewave
env (7), rms (7), pastew (5), duration (3), fpeaks (2), cutw (1), spec (1)
stats
frequency (8), dist (5), approx (1), ave (1), end (1), spectrum (1), start (1), time (1)
methods
new (16)
parallel
makePSOCKcluster (15)
grDevices
palette (4), colors (3), dev.off (1), recordPlot (1), X11 (1)
tuneR
silence (5), normalize (1), writeWave (1)
checkmate
makeAssertionFunction (5), makeAssertCollection (1)
cli
make_ansi_style (1), num_ansi_colors (1)
ohun
template_correlator (1)
tools
find_gs_cmd (1)
utils
str (1)
NOTE: Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately.
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 25 files) and
- 1 authors
- 2 vignettes
- 2 internal data files
- 11 imported packages
- 24 exported functions (median 73 lines of code)
- 92 non-exported functions in R (median 22 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 | 25 | 86.3 | |
| files_vignettes | 2 | 85.7 | |
| files_tests | 20 | 96.3 | |
| loc_R | 5188 | 95.6 | TRUE |
| loc_vignettes | 791 | 87.2 | |
| loc_tests | 582 | 77.8 | |
| num_vignettes | 2 | 89.2 | |
| data_size_total | 1092464 | 95.5 | TRUE |
| data_size_median | 546232 | 97.2 | TRUE |
| n_fns_r | 116 | 79.9 | |
| n_fns_r_exported | 24 | 72.5 | |
| n_fns_r_not_exported | 92 | 82.2 | |
| n_fns_per_file_r | 3 | 45.6 | |
| num_params_per_fn | 12 | 96.6 | TRUE |
| loc_per_fn_r | 34 | 81.2 | |
| loc_per_fn_r_exp | 73 | 87.7 | |
| loc_per_fn_r_not_exp | 22 | 66.9 | |
| rel_whitespace_R | 20 | 95.9 | TRUE |
| rel_whitespace_vignettes | 60 | 96.8 | TRUE |
| rel_whitespace_tests | 60 | 92.1 | |
| doclines_per_fn_exp | 110 | 92.7 | |
| doclines_per_fn_not_exp | 0 | 0.0 | TRUE |
| fn_call_network_size | 94 | 78.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)
3b. goodpractice results
R CMD check with rcmdcheck
R CMD check generated the following note:
- checking installed package size ... NOTE installed size is 10.8Mb sub-directories of 1Mb or more: data 1.6Mb doc 8.7Mb
R CMD check generated the following check_fails:
- cyclocomp
- no_description_depends
- no_import_package_as_a_whole
- rcmdcheck_reasonable_installed_size
Test coverage with covr
Package coverage: 75.21
Cyclocomplexity with cyclocomp
The following functions have cyclocomplexity >= 15:
| function | cyclocomplexity |
|---|---|
| check_arguments | 74 |
| manual_realign | 64 |
| plot_degradation | 48 |
| plot_blur_FUN | 26 |
| signal_to_noise_ratio | 26 |
| synth_sounds | 23 |
| noise_profile | 22 |
| master_sound_file | 18 |
| set_reference_sounds | 17 |
| detection_distance | 15 |
Static code analyses with lintr
lintr found the following 664 potential issues:
| message | number of times |
|---|---|
| Avoid 1:nrow(...) expressions, use seq_len. | 2 |
| Avoid library() and require() calls in packages | 12 |
| Avoid using sapply, consider vapply instead, that's type safe | 1 |
| Lines should not be more than 80 characters. | 649 |
4. Other Checks
Details of other checks (click to open)
:heavy_multiplication_x: The following 2 function names are duplicated in other packages:
-
attenuationfrom seewave
-
find_markersfrom dtangle
Package Versions
| package | version |
|---|---|
| pkgstats | 0.1.3.9 |
| pkgcheck | 0.1.2.3 |
Editor-in-Chief Instructions:
Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.
Thank you for this submission @maRce10! Two quick notes before I start the process:
- Some things in our checks are being triggered by some extraneous files committed in your repository:
.Rproj.user,.Rhistory, etc. Some of these are in .gitignore, but probably were committed before that was created. You can get git of these with thegit rm --cached <file>. - @mpadge, it appears our package checks are not picking up the continuous integration tests in this package, which are set up using {tic}. Is this a bug of ours or due to something in the package setup?
@ropensci-review-bot assign @jhollist as editor
Assigned! @jhollist is now the editor
Thank you for this submission @maRce10! Two quick notes before I start the process:
* Some things in our checks are being triggered by some extraneous files committed in your repository: `.Rproj.user`, `.Rhistory`, etc. Some of these are in .gitignore, but probably were committed before that was created. You can get git of these with the [`git rm --cached <file>`](https://stackoverflow.com/a/1274447/1757441). * @mpadge, it appears our package checks are not picking up the continuous integration tests in this package, which are set up using {tic}. Is this a bug of ours or due to something in the package setup?
Hi @noamross!
I just removed those weird files maRce10/baRulho@e6f1b4dd5592b290fe1875fe6aee88b683d1f14a
Hey @maRce10. Long time no see (ha!)
I will get started on this early next week.
Just wanted to let you know that the impending US Gov shutdown may impact my ability to work on this. I am good to work all next week, but if we do shutdown and it is not resolved, I will have to stop all work activities (my serving as an editor counts as one) after the 7th and I can't resume until the shutdown has been lifted. Hopefully this all for naught and I am able to keep on working on this. But I will do what I can to make progress next week.
@noamross @maRce10 The failing "no continuous integration" check is because it actually just checks for an R CMD check badge in the readme, which this package does not have. It has a lot of badges, but not that critical one. Obviously not a big issue here, and we can clearly accept regardless, but @maRce10 if you want that test to pass, just put a badge linking to your r cmd check status on the README.
@noamross @maRce10 The failing "no continuous integration" check is because it actually just checks for an
R CMD checkbadge in the readme, which this package does not have. It has a lot of badges, but not that critical one. Obviously not a big issue here, and we can clearly accept regardless, but @maRce10 if you want that test to pass, just put a badge linking to your r cmd check status on the README.
Thanks! I added the R CMD check badge.
Hey @maRce10. Long time no see (ha!)
I will get started on this early next week.
Just wanted to let you know that the impending US Gov shutdown may impact my ability to work on this. I am good to work all next week, but if we do shutdown and it is not resolved, I will have to stop all work activities (my serving as an editor counts as one) after the 7th and I can't resume until the shutdown has been lifted. Hopefully this all for naught and I am able to keep on working on this. But I will do what I can to make progress next week.
Thanks for letting me know!
@ropensci-review-bot check baRulho
I'm sorry human, I don't understand that. You can see what commands I support by typing:
@ropensci-review-bot help
@ropensci-review-bot check package
Thanks, about to send the query.
:rocket:
Editor check started
:wave:
Checks for baRulho (v2.1.0)
git hash: 46763a23
- :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 failed
- :heavy_multiplication_x: R CMD check process failed with message: 'Build process failed'.
- :eyes: Function names are duplicated in other packages
Important: All failing checks above must be addressed prior to proceeding
(Checks marked with :eyes: may be optionally addressed.)
Package License: GPL (>= 2)
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 | 731 |
| internal | baRulho | 48 |
| internal | graphics | 45 |
| internal | parallel | 16 |
| internal | grDevices | 10 |
| internal | ohun | 1 |
| internal | tools | 1 |
| depends | warbleR | 83 |
| imports | seewave | 23 |
| imports | stats | 20 |
| imports | methods | 17 |
| imports | tuneR | 7 |
| imports | checkmate | 7 |
| imports | cli | 2 |
| imports | utils | 1 |
| imports | fftw | NA |
| imports | viridis | NA |
| imports | Sim.DiffProc | NA |
| imports | png | NA |
| suggests | rmarkdown | NA |
| suggests | ggplot2 | NA |
| suggests | knitr | NA |
| suggests | kableExtra | NA |
| suggests | testthat | NA |
| suggests | covr | NA |
| suggests | formatR | NA |
| suggests | Rraven | 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
c (83), names (36), nrow (33), seq_len (28), for (27), if (27), unique (25), vapply (25), length (23), match.call (22), args (21), as.list (21), lapply (19), which (19), getOption (18), is.na (14), list (13), options (13), paste (12), rep (12), seq (12), plot (11), as.character (10), ncol (9), numeric (9), sum (9), do.call (8), rbind (8), attributes (7), data.frame (7), on.exit (7), paste0 (7), seq_along (7), abs (6), min (6), nchar (6), pretty (6), return (5), t (5), as.data.frame (4), cbind (4), character (4), drop (4), labels (4), log10 (4), matrix (4), sort (4), unlist (4), any (3), diff (3), exp (3), file.path (3), max (3), sub (3), units (3), which.min (3), expand.grid (2), is.null (2), mean (2), rev (2), sqrt (2), suppressWarnings (2), tempdir (2), all (1), call (1), factor (1), file (1), grepl (1), levels (1), list.files (1), match.arg (1), q (1), range (1), rank (1), setdiff (1), split (1), sprintf (1), strwrap (1), Sys.info (1), tapply (1), tempfile (1), try (1), vector (1), which.max (1)
warbleR
pblapply_wrblr_int (30), read_sound_file (27), envelope (8), cross_correlation (3), freq_range_detec (3), read_wave (3), image_to_wave (2), lessdB (2), check_sels (1), info_sound_files (1), rename_est_waves (1), selection_table (1), simulate_songs (1)
baRulho
check_arguments (21), FUN (12), check_unique_sels (3), by_element_est (2), check_deprecated (2), check_extended_selection_table (2), check_several_distances (2), attenuation (1), check_unique_sound.id (1), find_peaks_bRlh_int (1), rbind2 (1)
graphics
par (23), grconvertX (9), lines (5), grid (3), grconvertY (2), split.screen (2), close.screen (1)
seewave
rms (6), env (5), pastew (5), duration (3), fpeaks (2), cutw (1), spec (1)
stats
frequency (8), dist (5), approx (2), ave (1), end (1), spectrum (1), start (1), time (1)
methods
new (16), formalArgs (1)
parallel
makePSOCKcluster (16)
grDevices
palette (4), colors (3), dev.off (1), recordPlot (1), X11 (1)
checkmate
makeAssertionFunction (6), makeAssertCollection (1)
tuneR
silence (5), normalize (1), writeWave (1)
cli
make_ansi_style (1), num_ansi_colors (1)
ohun
template_correlator (1)
tools
find_gs_cmd (1)
utils
str (1)
NOTE: Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately.
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 25 files) and
- 1 authors
- 2 vignettes
- 2 internal data files
- 11 imported packages
- 24 exported functions (median 74 lines of code)
- 98 non-exported functions in R (median 21 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 | 25 | 86.3 | |
| files_vignettes | 2 | 85.7 | |
| files_tests | 21 | 96.6 | |
| loc_R | 5307 | 95.8 | TRUE |
| loc_vignettes | 791 | 87.2 | |
| loc_tests | 685 | 80.8 | |
| num_vignettes | 2 | 89.2 | |
| data_size_total | 1092464 | 95.5 | TRUE |
| data_size_median | 546232 | 97.2 | TRUE |
| n_fns_r | 122 | 81.1 | |
| n_fns_r_exported | 24 | 72.5 | |
| n_fns_r_not_exported | 98 | 83.4 | |
| n_fns_per_file_r | 3 | 47.2 | |
| num_params_per_fn | 12 | 96.6 | TRUE |
| loc_per_fn_r | 38 | 83.7 | |
| loc_per_fn_r_exp | 74 | 87.9 | |
| loc_per_fn_r_not_exp | 22 | 66.5 | |
| rel_whitespace_R | 20 | 96.2 | TRUE |
| rel_whitespace_vignettes | 60 | 96.8 | TRUE |
| rel_whitespace_tests | 54 | 92.7 | |
| doclines_per_fn_exp | 110 | 92.7 | |
| doclines_per_fn_not_exp | 0 | 0.0 | TRUE |
| fn_call_network_size | 98 | 78.9 |
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 |
|---|---|---|---|---|---|
| 6384082445 | .github/workflows/deploy_ghpages.yaml | failure | d5364f | 4 | 2023-10-02 |
| 6385163073 | Continuous Deployment | failure | 1b0f43 | 6 | 2023-10-02 |
| 6385275826 | pages build and deployment | success | 995476 | 75 | 2023-10-02 |
| 6396499245 | R-CMD-check | failure | c488df | 16 | 2023-10-03 |
| 6393038656 | Render README | success | 833ca7 | 17 | 2023-10-03 |
| 6397662241 | tic | failure | 46763a | 100 | 2023-10-03 |
| 6396505549 | Update CITATION.cff | success | 0925c7 | 1 | 2023-10-03 |
3b. goodpractice results
R CMD check with rcmdcheck
R CMD check generated the following error:
- Error in proc$get_built_file() : Build process failed
R CMD check generated the following check_fails:
- no_description_depends
- no_import_package_as_a_whole
Test coverage with covr
ERROR: Test Coverage Failed
Cyclocomplexity with cyclocomp
Error : Build failed, unknown error, standard output:
- checking for file ‘baRulho/DESCRIPTION’ ... OK
- preparing ‘baRulho’:
- checking DESCRIPTION meta-information ... OK
- installing the package to build vignettes -----------------------------------
- installing source package ‘baRulho’ ... ** using staged installation ** R ** data *** moving datasets to lazyload DB ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices *** copying figures ** building package indices ** installing vignettes ** testing if installed package can be loaded from temporary location Error: package or namespace load failed for ‘baRulho’ in namespaceExport(ns, exports): undefined exports: add_noise Error: loading failed Execution halted ERROR: loading failed
- removing ‘/tmp/RtmpaoozZw/Rinst16cd73656348/baRulho’ ----------------------------------- ERROR: package installation failed
Static code analyses with lintr
lintr found the following 680 potential issues:
| message | number of times |
|---|---|
| Avoid 1:nrow(...) expressions, use seq_len. | 2 |
| Avoid library() and require() calls in packages | 12 |
| Avoid using sapply, consider vapply instead, that's type safe | 1 |
| Lines should not be more than 80 characters. | 665 |
4. Other Checks
Details of other checks (click to open)
:heavy_multiplication_x: The following 3 function names are duplicated in other packages:
-
add_noisefrom errorlocate, pauwels2014, spant, tdaunif, TestFunctions, vpc
-
attenuationfrom seewave
-
find_markersfrom dtangle
Package Versions
| package | version |
|---|---|
| pkgstats | 0.1.3.9 |
| pkgcheck | 0.1.2.9 |
Editor-in-Chief Instructions:
Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.
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)?
- [x] 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.
- [ ] 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
@maRce10 See checks in previous comment. R CMD Check is now failing. I did see that you recently merged some new work and that is triggering this failure. I assume you are still doing a bit of work on this. Let me know when you have that completed and your checks pass. I will check again and then move forward with finding reviewers.
I also noted a few others things. Data is a bit large, not sure if you can reduce that.
❯ checking installed package size ... NOTE
installed size is 10.8Mb
sub-directories of 1Mb or more:
data 1.6Mb
doc 7.5Mb
help 1.5Mb
- I see 6 Open Issues - what are the status on those? If closed or no longer relevant, clean those up. If still relevant provide updates in issues so that reviewers can asses the status.
OK I solved and closed the issues and now R CMD check is working again. The size of data is probably due to having sounds as examples. I shrank it as much as I could.
@ropensci-review-bot check package
Thanks, about to send the query.
:rocket:
Editor check started
:wave:
Checks for baRulho (v2.1.0)
git hash: 36f90248
- :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_check_mark: Package coverage is 79.9%.
- :heavy_check_mark: R CMD check found no errors.
- :heavy_check_mark: R CMD check found no warnings.
- :eyes: Function names are duplicated in other packages
(Checks marked with :eyes: may be optionally addressed.)
Package License: GPL (>= 2)
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 | 750 |
| internal | baRulho | 54 |
| internal | graphics | 45 |
| internal | parallel | 16 |
| internal | grDevices | 10 |
| internal | ohun | 1 |
| internal | tools | 1 |
| depends | warbleR | 81 |
| imports | seewave | 23 |
| imports | stats | 19 |
| imports | methods | 17 |
| imports | checkmate | 8 |
| imports | tuneR | 7 |
| imports | cli | 2 |
| imports | utils | 1 |
| imports | fftw | NA |
| imports | viridis | NA |
| imports | Sim.DiffProc | NA |
| imports | png | NA |
| suggests | rmarkdown | NA |
| suggests | ggplot2 | NA |
| suggests | knitr | NA |
| suggests | kableExtra | NA |
| suggests | testthat | NA |
| suggests | covr | NA |
| suggests | formatR | NA |
| suggests | Rraven | 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
c (83), names (38), nrow (34), seq_len (29), for (28), if (26), unique (26), vapply (25), match.call (24), args (23), as.list (23), length (23), which (20), lapply (19), getOption (18), is.na (14), list (14), options (13), paste (12), plot (12), rep (12), seq (12), as.character (10), sum (10), ncol (9), numeric (9), attributes (8), do.call (8), rbind (8), on.exit (7), paste0 (7), seq_along (7), abs (6), data.frame (6), min (6), nchar (6), pretty (6), return (6), t (5), as.data.frame (4), cbind (4), character (4), drop (4), file.path (4), labels (4), log10 (4), matrix (4), sort (4), unlist (4), any (3), diff (3), exp (3), max (3), sub (3), units (3), vector (3), which.min (3), expand.grid (2), is.null (2), mean (2), rev (2), sqrt (2), suppressWarnings (2), tempdir (2), all (1), call (1), factor (1), file (1), grepl (1), levels (1), list.files (1), match.arg (1), q (1), range (1), sapply (1), setdiff (1), split (1), sprintf (1), strwrap (1), Sys.info (1), tapply (1), tempfile (1), try (1), which.max (1)
warbleR
pblapply_wrblr_int (31), read_sound_file (27), envelope (6), cross_correlation (3), freq_range_detec (3), read_wave (3), image_to_wave (2), lessdB (2), check_sels (1), info_sound_files (1), rename_est_waves (1), simulate_songs (1)
baRulho
check_arguments (23), FUN (13), by_element_est (2), check_deprecated (2), check_extended_selection_table (2), check_several_distances (2), check_sound_files_found (2), check_unique_sels (2), attenuation (1), check_unique_sound.id (1), colortext (1), find_peaks_bRlh_int (1), rbind2 (1), signal_to_noise_ratio (1)
graphics
par (23), grconvertX (9), lines (5), grid (3), grconvertY (2), split.screen (2), close.screen (1)
seewave
rms (6), env (5), pastew (5), duration (3), fpeaks (2), cutw (1), spec (1)
stats
frequency (8), dist (5), approx (2), end (1), runif (1), start (1), time (1)
methods
new (16), formalArgs (1)
parallel
makePSOCKcluster (16)
grDevices
palette (4), colors (3), dev.off (1), recordPlot (1), X11 (1)
checkmate
makeAssertionFunction (7), makeAssertCollection (1)
tuneR
silence (5), normalize (1), writeWave (1)
cli
make_ansi_style (1), num_ansi_colors (1)
ohun
template_correlator (1)
tools
find_gs_cmd (1)
utils
str (1)
NOTE: Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately.
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 26 files) and
- 1 authors
- 2 vignettes
- 2 internal data files
- 11 imported packages
- 25 exported functions (median 74 lines of code)
- 103 non-exported functions in R (median 23 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 | 26 | 87.0 | |
| files_vignettes | 2 | 85.7 | |
| files_tests | 21 | 96.6 | |
| loc_R | 5626 | 96.1 | TRUE |
| loc_vignettes | 795 | 87.3 | |
| loc_tests | 687 | 80.9 | |
| num_vignettes | 2 | 89.2 | |
| data_size_total | 1092464 | 95.5 | TRUE |
| data_size_median | 546232 | 97.2 | TRUE |
| n_fns_r | 128 | 82.1 | |
| n_fns_r_exported | 25 | 73.6 | |
| n_fns_r_not_exported | 103 | 84.4 | |
| n_fns_per_file_r | 3 | 47.3 | |
| num_params_per_fn | 12 | 96.6 | TRUE |
| loc_per_fn_r | 38 | 83.4 | |
| loc_per_fn_r_exp | 74 | 87.9 | |
| loc_per_fn_r_not_exp | 23 | 68.7 | |
| rel_whitespace_R | 20 | 96.4 | TRUE |
| rel_whitespace_vignettes | 60 | 96.8 | TRUE |
| rel_whitespace_tests | 54 | 92.7 | |
| doclines_per_fn_exp | 110 | 92.7 | |
| doclines_per_fn_not_exp | 0 | 0.0 | TRUE |
| fn_call_network_size | 105 | 80.1 |
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 |
|---|---|---|---|---|---|
| 6414603275 | pages build and deployment | success | 09b477 | 80 | 2023-10-05 |
| 6411731627 | R-CMD-check | success | 36f902 | 20 | 2023-10-04 |
| 6419119914 | Render README | success | 36f902 | 20 | 2023-10-05 |
| 6414533822 | tic | success | 36f902 | 111 | 2023-10-05 |
| 6396505549 | Update CITATION.cff | success | 0925c7 | 1 | 2023-10-03 |
3b. goodpractice results
R CMD check with rcmdcheck
R CMD check generated the following note:
- checking installed package size ... NOTE installed size is 12.2Mb sub-directories of 1Mb or more: data 1.6Mb doc 8.8Mb help 1.5Mb
R CMD check generated the following check_fails:
- cyclocomp
- no_description_depends
- no_import_package_as_a_whole
- rcmdcheck_reasonable_installed_size
Test coverage with covr
Package coverage: 79.91
Cyclocomplexity with cyclocomp
The following functions have cyclocomplexity >= 15:
| function | cyclocomplexity |
|---|---|
| check_arguments | 84 |
| manual_realign | 64 |
| plot_degradation | 48 |
| signal_to_noise_ratio | 29 |
| plot_blur_FUN | 26 |
| synth_sounds | 25 |
| noise_profile | 22 |
| master_sound_file | 18 |
| set_reference_sounds | 17 |
| detection_distance | 15 |
Static code analyses with lintr
lintr found the following 703 potential issues:
| message | number of times |
|---|---|
| Avoid 1:nrow(...) expressions, use seq_len. | 2 |
| Avoid library() and require() calls in packages | 12 |
| Avoid using sapply, consider vapply instead, that's type safe | 3 |
| Lines should not be more than 80 characters. | 686 |
4. Other Checks
Details of other checks (click to open)
:heavy_multiplication_x: The following 3 function names are duplicated in other packages:
-
add_noisefrom errorlocate, pauwels2014, spant, tdaunif, TestFunctions, vpc
-
attenuationfrom seewave
-
find_markersfrom dtangle
Package Versions
| package | version |
|---|---|
| pkgstats | 0.1.3.9 |
| pkgcheck | 0.1.2.9 |
Editor-in-Chief Instructions:
This package is in top shape and may be passed on to a handling editor
@maRce10 I think we are good to move on to review.
Couple of things to think about in the lintr results, in particular the 1:nrow and sapply ones. The library calls you can ignore since those are in Rmd and tests.
Look through those results for other ideas as well. For instance, your lines of code are on the high side, but so is cyclomatic complexity. If you can simplify some of these functions you could probably reduce both and make future maintenance a little easier.
That being said, we are good to go for reviewers. I'll start pinging on a few folks today.
@ropensci-review-bot seeking reviewers
Please add this badge to the README of your package repository:
[](https://github.com/ropensci/software-review/issues/609)
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 assign @mikemahoney218 as reviewer
@mikemahoney218 added to the reviewers list. Review due date is 2023-10-26. Thanks @mikemahoney218 for accepting to review! Please refer to our reviewer guide.
rOpenSci’s community is our best asset. We aim for reviews to be open, non-adversarial, and focused on improving software quality. Be respectful and kind! See our reviewers guide and code of conduct for more.
@mikemahoney218: If you haven't done so, please fill this form for us to update our reviewers records.
@ropensci-review-bot set due date for @mikemahoney218 to 2023-11-03
Review due date for @mikemahoney218 is now 03-November-2023