ropensci / software-review

rOpenSci Software Peer Review.
286 stars 104 forks source link

Presubmission of the AICcPermanova R Package #585

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 Submission type: Pre-submission 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)
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

Not yet, I am looking into doing it right now, I expect to have it done by the end of this week

Community ecologist in general, I see it as very useful for microbiologists working with dna barcoding taxonomy, botanist that do plots for community analysis, etc.

This package is based on the vegan package, so that package has the analysis made here, however it does not have the model selection capabilities.

Not applicable

There are 2 issues largely for me. I would like to know if the categories I am choosing for the package are the right ones, and the second is that I would like this package to be in either the Methods in ecology and evolution or The Journal of Open Source Software, however when I am asked to check that in the last part of the submission, I am not completely done with the writing of the article, would this be needed to check those boxes?

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.20 |


Editor-in-Chief Instructions:

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

maurolepore commented 1 year ago

Dear @derek-corcoran-barrios, thanks a lot for your pre-submission and for your efforts making the package pass all our checks.

I'll see this carefully and come back to you ASAP.

derek-corcoran-barrios commented 1 year ago

Thanks a lot Mauro, I hope you find the package useful 😊

Cheers

On Wed, 12 Apr 2023, 15:47 Mauro Lepore, @.***> wrote:

Dear @derek-corcoran-barrios https://github.com/derek-corcoran-barrios, thanks a lot for your pre-submission and for your efforts making the package pass all our checks.

I'll see this carefully and come back to you ASAP.

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

maurolepore commented 1 year ago

Dear @derek-corcoran-barrios

Sorry for the delay.

Answering your questions:

  1. Does the package do statistics itself of rather wrap other packages that do the stats? If it doesn't do stats itself then the standard (non-stats) category "workflow automation" seems like a good fit.

  2. In the submission template I see "Although not required, we strongly recommend having a full manuscript prepared when you submit here." Because it's not required, I think it's OK for you to check that box, maybe with a comment on when you think it'll be ready?

derek-corcoran-barrios commented 1 year ago
  1. This sound great to me, just to answer your question most of the stats except for the AICc is calculated by vegan or CAR, so I guess workflow automation fits
  2. I will do that

How should I proceed from here? Do I make a new issue?

Cheers

Derek

On Sun, Apr 23, 2023 at 11:13 PM Mauro Lepore @.***> wrote:

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

Sorry for the delay.

Answering your questions:

1.

Does the package do statistics itself of rather wrap other packages that do the stats? If it doesn't do stats itself then the standard (non-stats) category "workflow automation" seems like a good fit. 2.

In the submission template I see "Although not required, we strongly recommend having a full manuscript prepared when you submit here." Because it's not required, I think it's OK for you to check that box, maybe with a comment on when you think it'll be ready?

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

maurolepore commented 1 year ago

Great.

Yes, please go ahead and open a new issue -- this time as a full submission (not pre-submission).

We'll continue the conversation there. I'll close this pre-submission now.

derek-corcoran-barrios commented 1 year ago

Thanks I will do that

Cheers

On Mon, Apr 24, 2023 at 12:14 PM Mauro Lepore @.***> wrote:

Great.

Yes, please go ahead and open a new issue -- this time as a full submission (not pre-submission) and remember to fill the space where you're asked to point to the pre-submission.

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