Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Presubmission of the AICcPermanova R Package #585

Closed
2 of 20 tasks
derek-corcoran-barrios opened this issue Apr 11, 2023 · 10 comments
Closed
2 of 20 tasks

Presubmission of the AICcPermanova R Package #585

derek-corcoran-barrios opened this issue Apr 11, 2023 · 10 comments

Comments

@derek-corcoran-barrios
Copy link

Submitting Author Name: Derek Corcoran
Submitting Author Github Handle: @derek-corcoran-barrios

Repository: https://github.com/Sustainscapes/AICcPerm
Submission type: Pre-submission
Language: en


  • Paste the full DESCRIPTION file inside a code block below:
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

  • Please indicate which category or categories from our package fit policies or statistical package categories this package falls under. (Please check an appropriate box below):

    Data Lifecycle Packages

    • data retrieval
    • data extraction
    • 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

    Statistical Packages

    • Bayesian and Monte Carlo Routines
    • Dimensionality Reduction, Clustering, and Unsupervised Learning
    • Machine Learning
    • Regression and Supervised Learning
    • Exploratory Data Analysis (EDA) and Summary Statistics
    • Spatial Analyses
    • Time Series Analyses
  • Explain how and why the package falls under these categories (briefly, 1-2 sentences). Please note any areas you are unsure of:
    The package I build is built to generate a clear workflow for community analysis, specifically for model selection in Permanova, which are a form of regression

  • If submitting a statistical package, have you already incorporated documentation of standards into your code via the srr package?

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

  • Who is the target audience and what are scientific applications of this package?

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

  • Any other questions or issues we should be aware of?:

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
Copy link
Member

@ropensci-review-bot check package

@ropensci-review-bot
Copy link
Collaborator

Thanks, about to send the query.

@ropensci-review-bot
Copy link
Collaborator

🚀

The following problems were found in your submission template:

  • 'author1' variable must be GitHub hanle only ('@myhandle')
  • submission type must be one of [Standard, Estandar, Stats]
  • HTML variable [editor] is missing
  • HTML variable [reviewers-list] is missing
  • HTML variable [due-dates-list] is missing
    Editors: Please ensure these problems with the submission template are rectified. Package checks have been started regardless.

👋

@ropensci-review-bot
Copy link
Collaborator

Checks for AICcPermanova (v0.0.3)

git hash: 16c09792

  • ✔️ Package is already on CRAN.
  • ✔️ has a 'codemeta.json' file.
  • ✔️ has a 'contributing' file.
  • ✔️ uses 'roxygen2'.
  • ✔️ 'DESCRIPTION' has a URL field.
  • ✔️ 'DESCRIPTION' has a BugReports field.
  • ✔️ Package has at least one HTML vignette
  • ✔️ All functions have examples.
  • ✔️ Package has continuous integration checks.
  • ✔️ Package coverage is 93.6%.
  • ✔️ R CMD check found no errors.
  • ✔️ R CMD check found no warnings.
  • 👀 Function names are duplicated in other packages

(Checks marked with 👀 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(<path/to/repo>)', 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

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
pkgcheck

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

R CMD check generated the following check_fail:

  1. no_import_package_as_a_whole

Test coverage with covr

Package coverage: 93.64

Cyclocomplexity with cyclocomp

No functions have cyclocomplexity >= 15

Static code analyses with lintr

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)

✖️ 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
Copy link
Member

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
Copy link
Author

derek-corcoran-barrios commented Apr 12, 2023 via email

@maurolepore
Copy link
Member

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
Copy link
Author

derek-corcoran-barrios commented Apr 24, 2023 via email

@maurolepore
Copy link
Member

maurolepore commented Apr 24, 2023

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
Copy link
Author

derek-corcoran-barrios commented Apr 24, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants