ropensci / software-review

rOpenSci Software Peer Review.
295 stars 104 forks source link

funbiogeo: a data processing and visualization package for functional biogeography #622

Closed Rekyt closed 10 months ago

Rekyt commented 10 months ago

Submitting Author Name: Matthias Grenié Submitting Author Github Handle: !--author1-->@Rekyt<!--end-author1-- Other Package Authors Github handles: (comma separated, delete if none) !--author-others-->@ahasverus<!--end-author-others-- Repository: https://github.com/FRBCesab/funbiogeo Submission type: Pre-submission Language: en


Helps users with analyses in functional biogeogeography by loading 
and combining data, computing trait coverage, as well as computing 
functional diversity indices, drawing maps, correlating them with the 
environment, and upscaling assemblages.

Scope

The package aims to provide tools to easily visualize, filter, and analyze data in functional ecology and functional biogeography: species-traits matrices, site-species matrices. It can be used both as a pre- and post-processing tool in functional ecology.

There are three main targets for the package:

To our knowledge, all other packages focus on computing functional diversity indices and creating functional spaces, but none are focused on the steps prior and after these.

N/A

jhollist commented 10 months ago

@Rekyt Thank you for the inquiry! Wanted to at least let you know that I have received this and that it is on my radar. I probably won't have a chance to dig into it until early next week, but hope to have a response to you early in the week.

jhollist commented 10 months ago

@Rekyt the other editors and I are discussing your pre-submission and whether it is within rOpenSci scope. Hope to have an answer for you soon.

Rekyt commented 10 months ago

@Rekyt the other editors and I are discussing your pre-submission and whether it is within rOpenSci scope. Hope to have an answer for you soon.

Alright! Thanks for the update! That was precisely the goal of the pre-submission inquiry 😉

jhollist commented 10 months ago

@ropensci-review-bot check package

ropensci-review-bot commented 10 months ago

Thanks, about to send the query.

ropensci-review-bot commented 10 months ago

:rocket:

The following problems were found in your submission template:

:wave:

ropensci-review-bot commented 10 months ago

Checks for funbiogeo (v0.0.0.9000)

git hash: 417c058b

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

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 | 250| |internal |funbiogeo | 52| |internal |grid | 1| |imports |ggplot2 | 40| |imports |utils | 14| |imports |terra | 8| |imports |rlang | 6| |imports |tidyr | 6| |imports |scales | 5| |imports |sf | 3| |imports |stats | 3| |imports |tidyselect | 2| |imports |xfun | NA| |suggests |ggridges | 1| |suggests |knitr | NA| |suggests |mockery | NA| |suggests |patchwork | NA| |suggests |rmarkdown | NA| |suggests |rstudioapi | NA| |suggests |testthat | 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

drop (30), c (24), lapply (23), colnames (21), by (17), nrow (16), data.frame (10), mean (8), vapply (8), list (7), ncol (7), merge (6), paste0 (6), is.na (5), apply (4), rownames (4), seq (4), unlist (4), as.data.frame (3), ifelse (3), length (3), rowSums (3), character (2), choose (2), class (2), intersect (2), round (2), sapply (2), sum (2), tapply (2), typeof (2), unique (2), as.list (1), cbind (1), for (1), if (1), is.numeric (1), mapply (1), max (1), names (1), paste (1), rep_len (1), scale (1), seq_along (1), stop (1), vector (1)

funbiogeo

labels (10), split_species_categories (5), fb_get_trait_coverage_by_site (4), fb_count_sites_by_species (3), fb_count_species_by_trait (3), fb_get_all_trait_coverages_by_site (3), fb_count_species_by_site (2), fb_count_traits_by_species (2), list_common_species (2), check_object_name (1), check_site_locations (1), check_site_species (1), check_species_categories (1), check_species_traits (1), check_threshold_proportion (1), fb_aggregate_site_data (1), fb_cwm (1), fb_filter_sites_by_species_coverage (1), fb_filter_sites_by_trait_coverage (1), fb_filter_species_by_site_coverage (1), fb_filter_species_by_trait_coverage (1), fb_filter_traits_by_species_coverage (1), fb_format_site_locations (1), fb_format_site_species (1), fb_format_species_categories (1), fb_format_species_traits (1), fb_get_environment (1)

ggplot2

aes (9), guide_axis (6), coord_cartesian (4), labs (4), element_blank (3), ggplot (3), sec_axis (3), geom_sf (2), theme (2), facet_wrap (1), geom_point (1), geom_tile (1), scale_y_discrete (1)

utils

data (13), combn (1)

terra

crs (2), values (2), vect (2), as.data.frame (1), extract (1)

rlang

sym (6)

tidyr

pivot_longer (5), pivot_wider (1)

scales

label_percent (5)

sf

st_as_sf (2), st_drop_geometry (1)

stats

proj (2), sd (1)

tidyselect

all_of (2)

ggridges

stat_density_ridges (1)

grid

unit (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 39 files) and - 2 authors - 4 vignettes - 4 internal data files - 10 imported packages - 33 exported functions (median 36 lines of code) - 57 non-exported functions in R (median 35 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 | 39| 93.0| | |files_vignettes | 5| 96.9| | |files_tests | 36| 98.6| | |loc_R | 1985| 84.1| | |loc_vignettes | 1025| 91.0| | |loc_tests | 3143| 96.7|TRUE | |num_vignettes | 4| 96.6|TRUE | |data_size_total | 23324| 75.6| | |data_size_median | 3773| 72.7| | |n_fns_r | 90| 73.7| | |n_fns_r_exported | 33| 80.4| | |n_fns_r_not_exported | 57| 71.1| | |n_fns_per_file_r | 1| 19.2| | |num_params_per_fn | 3| 33.6| | |loc_per_fn_r | 35| 81.5| | |loc_per_fn_r_exp | 36| 69.4| | |loc_per_fn_r_not_exp | 35| 82.8| | |rel_whitespace_R | 43| 94.6| | |rel_whitespace_vignettes | 39| 95.4|TRUE | |rel_whitespace_tests | 35| 98.5|TRUE | |doclines_per_fn_exp | 35| 41.9| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 73| 73.8| | ---

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/FRBCesab/funbiogeo/workflows/R-CMD-check/badge.svg)](https://github.com/frbcesab/funbiogeo/actions) **GitHub Workflow Results** | id|name |conclusion |sha | run_number|date | |----------:|:----------------------------------------------|:----------|:------|----------:|:----------| | 7547814070|pages build and deployment |success |ee68c2 | 99|2024-01-16 | | 7571910781|pages build and deployment with artifacts-next |success |d141a9 | 103|2024-01-18 | | 7571854283|pkgdown |success |629de0 | 309|2024-01-18 | | 7571854275|R-CMD-check |success |629de0 | 349|2024-01-18 | | 7556614575|render-rmarkdown |failure |efa579 | 14|2024-01-17 | | 7571854278|test-coverage |success |629de0 | 337|2024-01-18 | | 7571854280|Update CITATION.cff |success |629de0 | 6|2024-01-18 | --- #### 3b. `goodpractice` results #### `R CMD check` with [rcmdcheck](https://r-lib.github.io/rcmdcheck/) R CMD check generated the following check_fail: 1. no_import_package_as_a_whole #### Test coverage with [covr](https://covr.r-lib.org/) Package coverage: 99.58 #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) The following functions have cyclocomplexity >= 15: function | cyclocomplexity --- | --- fb_format_site_locations | 23 fb_format_site_species | 20 fb_format_species_traits | 16 fb_make_report | 16 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 43 potential issues: message | number of times --- | --- Avoid library() and require() calls in packages | 10 Avoid using sapply, consider vapply instead, that's type safe | 2 Lines should not be more than 80 characters. | 12 Use <-, not =, for assignment. | 19


Package Versions

|package |version | |:--------|:--------| |pkgstats |0.1.3.9 | |pkgcheck |0.1.2.11 |


Editor-in-Chief Instructions:

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

jhollist commented 10 months ago

@Rekyt Sorry for the delay in getting back to you!

We have had a chance to take a look and discuss this. I do think funbiogeo is out of scope for geospatial data and mostly out of scope for data munging. However, we do think it is a pretty good fit for the Exploratory Data Analysis (EDA) and Summary Statistics category for statistical software packages.

Given this, I would encourage a statistical software submission in the EDA category.

Most of our checks look good. Only thing you'll need to add if you do move ahead with a full submission is the codemeta.json file. Details on this are on https://devguide.ropensci.org/building.html?q=codemeta#creating-metadata-for-your-package.

Thanks!

Rekyt commented 10 months ago

@jhollist thanks for your help.

Thanks for the clarification of categories! I didn't realize it could be submitted as a statistical package. In order to proceed to a full submission, should I edit this issue or close this one and open a new one?

jhollist commented 10 months ago

Close and open a new one. I'll take care of the first step!