ropensci / software-review

rOpenSci Software Peer Review.
291 stars 104 forks source link

ccviR: NatureServe Climate Change Vulnerability Index #488

Closed see24 closed 2 years ago

see24 commented 2 years ago

Submitting Author !--author1-->@see24<!--end-author1-- Reviewers: Editor: Language Code Submitting Author: Sarah Endicott (@see24)
Repository: https://github.com/LandSciTech/ccviR Submission type: Pre-submission


Package: ccviR
Title: NatureServe CCVI in R
Version: 0.0.0.9003
Authors@R: person(given = "Sarah",
  family = "Endicott",
  role = c("aut", "cre"),
  email = "sarah.endicott@canada.ca",
  comment = c(ORCID = "0000-0001-9644-5343"))
Description: The [NatureServe Climate change vulnerability index (CCVI)](https://www.natureserve.org/conservation-tools/climate-change-vulnerability-index) 
is currently distributed as an excel spreadsheet and is used to calculate a relative climate 
change vulnerability index for any North American species. Some of the factors in the spreadsheet require
geospatial computations and the user is expected to do these externally in GIS software. 
The ccviR package performs the spatial analysis and index calculation in R making it 
reproducible and also provides a Shiny app interface for calculating the index. 
License: TBD
Encoding: UTF-8
LazyData: true
Imports: 
    dplyr,
    raster,
    sf,
    purrr,
    tidyr,
    shiny,
    stringr,
    units,
    exactextractr,
    shinyFiles,
    shinyjs,
    tmap,
    ggplot2,
    shinycssloaders,
    R.utils,
    fs,
    plotly,
    shinyFeedback,
    rgdal,
    methods,
    stats,
    utils
Suggests: 
    gdalUtils,
    testthat (>= 2.1.0),
    knitr,
    rmarkdown,
    shinytest
RoxygenNote: 7.1.1
VignetteBuilder: knitr

Scope

ropensci-review-bot commented 2 years ago

Missing values: author1, repourl, language

ldecicco-USGS commented 2 years ago

I think there is some potential for this to be considered "scientific software wrappers". Until the repo can be made public however, I don't think we can make any further considerations.

see24 commented 1 year ago

@ldecicco-USGS The repo is public now so I would be interested to know if you have further thoughts or suggestions.

Here is the missing info: author1: Sarah Endicott repourl: https://github.com/LandSciTech/ccviR language: EN

ldecicco-USGS commented 1 year ago

@ropensci-review-bot check package

ropensci-review-bot commented 1 year ago

Thanks, about to send the query.

ropensci-review-bot commented 1 year ago

:rocket:

Error: Issue template has no 'repourl'

:wave:

ldecicco-USGS commented 1 year ago

@ropensci-review-bot check package

ropensci-review-bot commented 1 year ago

Thanks, about to send the query.

ropensci-review-bot commented 1 year ago

:rocket:

The following problems were found in your submission template:

:wave:

ropensci-review-bot commented 1 year ago

Note: The following R packages were unable to be installed/upgraded on our system: [lwgeom, stars, tmaptools, tmap]; some checks may be unreliable.

ropensci-review-bot commented 1 year ago

Checks for ccviR (v0.0.1.9000)

git hash: cf8ebefe

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

Package License: GPL (>= 3)


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 | 357| |internal |ccviR | 63| |internal |graphics | 47| |internal |grDevices | 5| |internal |methods | 2| |imports |raster | 40| |imports |stats | 37| |imports |ggplot2 | 34| |imports |plotly | 18| |imports |purrr | 13| |imports |tidyr | 11| |imports |stringr | 9| |imports |fs | 9| |imports |tmap | 7| |imports |utils | 7| |imports |exactextractr | 5| |imports |units | 4| |imports |sf | 3| |imports |shinyjs | 3| |imports |shinyFiles | 1| |imports |shinycssloaders | 1| |imports |R.utils | 1| |imports |shinyvalidate | 1| |imports |dplyr | NA| |imports |shiny | NA| |imports |rgdal | NA| |imports |scales | NA| |imports |pkgload | NA| |suggests |testthat | NA| |suggests |knitr | NA| |suggests |rmarkdown | NA| |suggests |shinytest | NA| |suggests |future | NA| |suggests |furrr | NA| |suggests |readxl | 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()', and examining the 'external_calls' table.

base

c (86), list (48), data.frame (29), F (20), ncol (12), matrix (11), col (10), names (9), as.vector (8), paste0 (8), rev (8), t (8), range (6), round (6), setdiff (5), all (4), as.data.frame (4), system.file (4), vapply (4), as.list (3), by (3), is.na (3), labels (3), levels (3), nrow (3), options (3), rep (3), seq (3), sum (3), T (3), expand.grid (2), file (2), file.path (2), grep (2), list.files (2), paste (2), Vectorize (2), warning (2), all.equal (1), as.numeric (1), conditionMessage (1), factor (1), for (1), ifelse (1), isTRUE (1), length (1), LETTERS (1), max (1), min (1), missing (1), mode (1), prod (1), split (1), system (1), unlist (1), url (1)

ccviR

bivar_map (7), calc_prop_raster (4), calc_vulnerability (3), calc_ind_monte (2), check_clim (2), check_polys (2), colmat (2), data_prep_server (2), getMultValues (2), ind_from_vuln (2), labelMandatory (2), load_clim (2), analyze_spatial (1), calc_gain_loss (1), calc_min_max_raster (1), calc_overlap_poly (1), ccvi_app (1), check_comment_ui (1), check_crs (1), check_trim (1), data_prep_app (1), data_prep_ui (1), get_clim_vars (1), get_file_ui (1), guideB (1), guideCNonSpatial (1), guideCSpatial (1), guideDNonSpatial (1), guideDSpatial (1), guideExposure (1), index_res_text (1), indexOutServer (1), indexOutUI (1), load_bookmark_server (1), load_bookmark_ui (1), make_map (1), make_pat (1), make_vuln_df (1), mig_exp_text (1), num_not_na (1), perc_not_overlap (1), plot_conf_score (1), ui (1)

graphics

text (18), title (13), box (8), legend (6), axis (2)

raster

reclassify (10), plot (8), cellStats (4), mask (3), extend (2), filename (2), freq (2), rasterToContour (2), sampleRegular (2), area (1), crop (1), raster (1), res (1), xres (1)

stats

poly (17), filter (9), df (5), setNames (3), dist (1), IQR (1), median (1)

ggplot2

aes (9), geom_raster (3), ggplot (3), element_text (2), facet_wrap (2), geom_point (2), theme (2), coord_cartesian (1), coord_flip (1), element_blank (1), expansion (1), geom_col (1), geom_linerange (1), labs (1), scale_fill_manual (1), scale_x_discrete (1), scale_y_continuous (1), theme_classic (1)

plotly

layout (8), plot_ly (4), add_annotations (3), config (2), ggplotly (1)

purrr

map (3), set_names (3), map_lgl (2), keep (1), map_df (1), map_dfr (1), map2 (1), pmap (1)

tidyr

pivot_longer (5), pivot_wider (4), unite (2)

fs

path (3), dir_copy (2), path_home (2), dir_create (1), path_file (1)

stringr

str_detect (3), str_subset (3), str_remove (2), str_replace_all (1)

tmap

tm_raster (3), tm_shape (2), tm_facets (1), tmap_options (1)

utils

data (3), getFromNamespace (2), read.csv (2)

exactextractr

exact_extract (5)

grDevices

palette (3), colorRampPalette (2)

units

set_units (3), drop_units (1)

sf

read_sf (1), st_buffer (1), st_crs (1)

shinyjs

toggleState (3)

methods

is (2)

R.utils

withTimeout (1)

shinycssloaders

withSpinner (1)

shinyFiles

shinyDirChoose (1)

shinyvalidate

InputValidator$new (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 30 files) and - 1 authors - 3 vignettes - no internal data file - 23 imported packages - 10 exported functions (median 17 lines of code) - 107 non-exported functions in R (median 20 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](https://docs.ropensci.org/pkgcheck/reference/checks_to_markdown.html) 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 | 30| 89.3| | |files_vignettes | 3| 92.4| | |files_tests | 15| 94.4| | |loc_R | 4581| 94.7| | |loc_vignettes | 262| 59.2| | |loc_tests | 661| 80.2| | |num_vignettes | 3| 94.2| | |n_fns_r | 117| 80.1| | |n_fns_r_exported | 10| 45.3| | |n_fns_r_not_exported | 107| 85.0| | |n_fns_per_file_r | 2| 39.5| | |num_params_per_fn | 4| 54.6| | |loc_per_fn_r | 20| 59.8| | |loc_per_fn_r_exp | 18| 42.0| | |loc_per_fn_r_not_exp | 20| 63.0| | |rel_whitespace_R | 14| 92.2| | |rel_whitespace_vignettes | 52| 74.6| | |rel_whitespace_tests | 32| 85.8| | |doclines_per_fn_exp | 42| 52.8| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 144| 84.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 [![R-CMD-check](https://github.com/LandSciTech/ccviR/workflows/R-CMD-check/badge.svg)](https://github.com/see24/ccviR/actions) **GitHub Workflow Results** | id|name |conclusion |sha | run_number|date | |----------:|:--------------------------|:----------|:------|----------:|:----------| | 2741909150|pages build and deployment |success |cba341 | 9|2022-07-26 | | 2741873086|pkgdown |success |cf8ebe | 28|2022-07-26 | | 2741873082|R-CMD-check |success |cf8ebe | 5|2022-07-26 | --- #### 3b. `goodpractice` results #### `R CMD check` with [rcmdcheck](https://r-lib.github.io/rcmdcheck/) R CMD check generated the following error: 1. Error in proc$get_built_file() : Build process failed R CMD check generated the following check_fail: 1. no_import_package_as_a_whole #### Test coverage with [covr](https://covr.r-lib.org/) ERROR: Test Coverage Failed #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) Error : Build failed, unknown error, standard output: * checking for file ‘ccviR/DESCRIPTION’ ... OK * preparing ‘ccviR’: * checking DESCRIPTION meta-information ... OK * installing the package to build vignettes ----------------------------------- ERROR: dependency ‘tmap’ is not available for package ‘ccviR’ * removing ‘/tmp/Rtmp01BEvr/Rinst221c768c443/ccviR’ ----------------------------------- ERROR: package installation failed #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 523 potential issues: message | number of times --- | --- Avoid 1:length(...) expressions, use seq_len. | 3 Avoid 1:ncol(...) expressions, use seq_len. | 1 Avoid 1:nrow(...) expressions, use seq_len. | 2 Avoid library() and require() calls in packages | 13 Lines should not be more than 80 characters. | 488 Use <-, not =, for assignment. | 16


4. Other Checks

Details of other checks (click to open)

:heavy_check_mark: Package contains the following (potentially) obsolete packages: - rgdal See our [Recommended Scaffolding](https://devguide.ropensci.org/building.html?q=scaffol#recommended-scaffolding) for alternatives.


Package Versions

|package |version | |:--------|:--------| |pkgstats |0.1.1.54 | |pkgcheck |0.1.0.24 |


Editor-in-Chief Instructions:

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