ropensci / software-review

rOpenSci Software Peer Review.
286 stars 104 forks source link

AICcPermanova: Model Selection of PERMANOVA Models Using AICc #589

Closed derek-corcoran-barrios closed 1 year ago

derek-corcoran-barrios commented 1 year ago

Submitting Author Name: Derek Corcoran Submitting Author Github Handle: !--author1-->@derek-corcoran-barrios<!--end-author1-- Repository: https://github.com/Sustainscapes/AICcPerm Version submitted: 0.0.3 Submission type: Standard Editor: TBD Reviewers: TBD

Archive: TBD Version accepted: TBD Language: en


Package: AICcPermanova
Title: Model Selection of PERMANOVA Models Using AICc
Version: 0.0.3
Authors@R: 
    person(given = "Derek", family ="Corcoran",  
    email = "derek.corcoran.barrios@gmail.com", role = c("aut", "cre"))
Description: Provides tools for model selection and model averaging of PerMANOVA 
    models using Akaike Information Criterion corrected for small sample sizes 
    (AICc) and Information Theoretic criteria principles. The package is built 
    around the PERMANOVA analysis from the 'vegan' package and provides a 
    streamlined workflow for generating and comparing models, obtaining model 
    weights, and summarizing results using model averaging approaches.  The 
    methods implemented in this package are based on the practical information-
    theoretic approach described by Burnham, K. P. and Anderson, D. R. (2002) 
    (<doi:10.1007/b97636>).
License: MIT + file LICENSE
Encoding: UTF-8
Roxygen: list(markdown = TRUE, roclets = c ("namespace", "rd", "srr::srr_stats_roclet"))
RoxygenNote: 7.2.3
Imports: 
    broom,
    car,
    data.table,
    doParallel,
    dplyr,
    foreach,
    furrr,
    future,
    parallel,
    stats,
    stringr,
    tidyr,
    vegan
URL: https://github.com/Sustainscapes/AICcPerm,
    https://sustainscapes.github.io/AICcPerm/
BugReports: https://github.com/Sustainscapes/AICcPerm/issues
Suggests: 
    covr,
    knitr,
    rmarkdown,
    testthat (>= 3.0.0)
Config/testthat/edition: 3
VignetteBuilder: knitr

Scope

The package I build is built to generate a clear workflow for community analysis, specifically for model selection in Permanova,

https://github.com/ropensci/software-review/issues/585

Technical checks

Confirm each of the following by checking the box.

This package:

Publication options

MEE Options - [x] 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. - [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](http://besjournals.onlinelibrary.wiley.com/hub/journal/10.1111/(ISSN)2041-210X/journal-resources/policy-on-publishing-code.html)) - (*Scope: Do consider MEE's [Aims and Scope](http://besjournals.onlinelibrary.wiley.com/hub/journal/10.1111/(ISSN)2041-210X/aims-and-scope/read-full-aims-and-scope.html) 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*) The manuscript is probably 3 weeks away from finished, but it is almost there

Code of conduct

ropensci-review-bot commented 1 year ago

Thanks for submitting to rOpenSci, our editors and @ropensci-review-bot will reply soon. Type @ropensci-review-bot help for help.

ropensci-review-bot commented 1 year ago

:rocket:

The following problems were found in your submission template:

:wave:

derek-corcoran-barrios commented 1 year ago

I dont see any of this issues, they seem fine here and in the presubmission

maurolepore commented 1 year ago

I've seen that message in other submissions, then the bot continued to check the pacakge. So I'll try again.

maurolepore 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

Checks for AICcPermanova (v0.0.3)

git hash: 16c09792

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

Package License: MIT + file LICENSE


1. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate. |type |package | ncalls| |:----------|:-------------|------:| |internal |base | 47| |internal |AICcPermanova | 5| |internal |utils | 3| |imports |stats | 11| |imports |data.table | 10| |imports |foreach | 6| |imports |dplyr | 4| |imports |tidyr | 4| |imports |vegan | 4| |imports |parallel | 3| |imports |car | 2| |imports |doParallel | 2| |imports |furrr | 2| |imports |future | 2| |imports |stringr | 2| |imports |broom | 1| |suggests |covr | NA| |suggests |knitr | NA| |suggests |rmarkdown | 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

c (8), data.frame (7), nrow (7), length (5), list (4), paste (3), try (3), by (2), colSums (1), drop (1), factor (1), for (1), ifelse (1), is.na (1), log (1), tryCatch (1)

stats

complete.cases (4), as.formula (3), AIC (2), df (1), dt (1)

data.table

rbindlist (6), data.table (3), setDT (1)

foreach

foreach (6)

AICcPermanova

AICc_permanova2 (1), akaike_adjusted_rsq (1), filter_vif (1), fit_models (1), VIF (1)

dplyr

vars (3), mutate (1)

tidyr

pivot_longer (2), pivot_wider (2)

vegan

adonis2 (3), vegdist (1)

parallel

makeCluster (3)

utils

data (2), combn (1)

car

vif (2)

doParallel

registerDoParallel (2)

furrr

future_map_dfr (2)

future

cluster (1), plan (1)

stringr

str_replace_all (2)

broom

tidy (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 6 files) and - 1 authors - 1 vignette - no internal data file - 13 imported packages - 7 exported functions (median 16 lines of code) - 7 non-exported functions in R (median 38 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 | 6| 40.3| | |files_vignettes | 1| 68.4| | |files_tests | 7| 86.4| | |loc_R | 214| 24.2| | |loc_vignettes | 119| 31.1| | |loc_tests | 154| 49.2| | |num_vignettes | 1| 64.8| | |n_fns_r | 14| 19.2| | |n_fns_r_exported | 7| 34.0| | |n_fns_r_not_exported | 7| 15.5| | |n_fns_per_file_r | 1| 17.5| | |num_params_per_fn | 2| 11.9| | |loc_per_fn_r | 26| 71.1| | |loc_per_fn_r_exp | 16| 38.0| | |loc_per_fn_r_not_exp | 38| 84.9| | |rel_whitespace_R | 29| 39.6| | |rel_whitespace_vignettes | 50| 45.3| | |rel_whitespace_tests | 20| 45.4| | |doclines_per_fn_exp | 35| 41.9| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 3| 17.5| | ---

2a. Network visualisation

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


3. goodpractice and other checks

Details of goodpractice checks (click to open)

#### 3a. Continuous Integration Badges [![R-CMD-check.yaml](https://github.com/Sustainscapes/AICcPerm/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/Sustainscapes/AICcPerm/actions) [![pkgcheck](https://github.com/Sustainscapes/AICcPerm/workflows/pkgcheck/badge.svg)](https://github.com/Sustainscapes/AICcPerm/actions) **GitHub Workflow Results** | id|name |conclusion |sha | run_number|date | |----------:|:--------------------------|:----------|:------|----------:|:----------| | 4671349520|pages build and deployment |success |bb8202 | 21|2023-04-11 | | 4671322567|pkgcheck |success |16c097 | 7|2023-04-11 | | 4671322564|pkgdown |success |16c097 | 23|2023-04-11 | | 4671322566|R-CMD-check |success |16c097 | 36|2023-04-11 | | 4671322561|test-coverage |success |16c097 | 16|2023-04-11 | --- #### 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: 93.64 #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) No functions have cyclocomplexity >= 15 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 58 potential issues: message | number of times --- | --- Avoid 1:nrow(...) expressions, use seq_len. | 2 Avoid library() and require() calls in packages | 4 Lines should not be more than 80 characters. | 52


4. Other Checks

Details of other checks (click to open)

:heavy_multiplication_x: The following 2 function names are duplicated in other packages: - - `fit_models` from manymodelr - - `VIF` from DescTools, fmsb, GLMMadaptive, miceFast, multiColl, regclass, semEff


Package Versions

|package |version | |:--------|:--------| |pkgstats |0.1.3.4 | |pkgcheck |0.1.1.23 |


Editor-in-Chief Instructions:

This package is in top shape and may be passed on to a handling editor

maurolepore commented 1 year ago

FYI I'll start now the search for a handling editor.

derek-corcoran-barrios commented 1 year ago

Thanks Mauro, you have been very helpuful

maurolepore commented 1 year ago

Dear @derek-corcoran-barrios,

Sorry for misleading you.

Two of our stats experts think this should be a stats submission and the category you originally suggested "regression and supervised learning" seems like a good fit.

Unfortunately the template is different so I'll close this issue now and ask you to please open a new issue choosing "Submit statistical software for review".

Also FYI my EiC rotation is coming to an end soon so likely you'll continue with @maelle.

All the best in the process.

derek-corcoran-barrios commented 1 year ago

Thanks Mauro, One more question should I only put one category, so r"egression and supervised learning" or should I add "workflow automation" ass well?

Cheers

Derek

On Sun, Apr 30, 2023 at 12:43 AM Mauro Lepore @.***> wrote:

Dear @derek-corcoran-barrios https://github.com/derek-corcoran-barrios,

Sorry for misleading you.

Two of our stats experts think this should be a stats submission and the category you originally suggested "regression and supervised learning" seems like a good fit.

Unfortunately the template is different so I'll close this issue now and ask you to please open a new issue choosing "Submit statistical software for review" https://github.com/ropensci/software-review/issues/new?assignees=&labels=&template=F-submit-statistical-software-for-review.md .

Also FYI my EiC rotation is coming to an end soon so likely you'll continue with @maelle https://github.com/maelle.

All the best in the process.

— Reply to this email directly, view it on GitHub https://github.com/ropensci/software-review/issues/589#issuecomment-1528888610, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACPPEYH4YTLMX7FUP5LE3ELXDWKSPANCNFSM6AAAAAAXJL34KA . You are receiving this because you were mentioned.Message ID: @.***>

maurolepore commented 1 year ago

I think it'll be enough with "regression and supervised learning". I'll point @maelle to the editor's thread where that category was suggested.