| Literature DB >> 32076500 |
Christopher J Lortie1,2, Jenna Braun1, Alessandro Filazzola3, Florencia Miguel4.
Abstract
The open source and free programming language R is a phenomenal mechanism to address a multiplicity of challenges in ecology and evolution. It is also a complex ecosystem because of the diversity of solutions available to the analyst.Packages for R enhance and specialize the capacity to explore both niche data/experiments and more common needs. However, the paradox of choice or how we select between many seemingly similar options can be overwhelming and lead to different potential outcomes.There is extensive choice in ecology and evolution between packages for both fundamental statistics and for more specialized domain-level analyses.Here, we provide a checklist to inform these decisions based on the principles of resilience, need, and integration with scientific workflows for evidence.It is important to explore choices in any analytical coding environment-not just R-for solutions to challenges in ecology and evolution, and document this process because it advances reproducible science, promotes a deeper understand of the scientific evidence, and ensures that the outcomes are correct, representative, and robust.Entities:
Keywords: R programming language; checklist; guidelines; heuristic; open source; paradox of choice; reproducible science; statistical methods; tools
Year: 2020 PMID: 32076500 PMCID: PMC7029065 DOI: 10.1002/ece3.5970
Source DB: PubMed Journal: Ecol Evol ISSN: 2045-7758 Impact factor: 2.912
Figure 1The number of R packages for common statistical and ecological/evolutionary concepts. The estimates for each term were generated using the R package “packagefinder” to search CRAN directly from the R console. The minimum number of packages returned was 3, and the maximum was 2,876 effective July 2019
A set of criteria to consider in contrasting packages in the R open source programming language and environment
| Item | Criteria | Necessity |
|---|---|---|
| 1 | Maturity | Yes |
| 2 | Active development | Yes |
| 3 | Recently updated | Yes |
| 4 | Documentation available | Yes |
| 5 | Used/published in similar projects | Yes |
| 6 | License | Yes |
| 7 | Semantics intuitive | Yes |
| 8 | Functions that get the job done | Yes |
| 9 | Arguments to support your needs | Yes |
| 10 | Dependencies reported/reasonable | Yes |
| 11 | Package maintainer on GitHub | No |
| 12 | Vignettes available | No |
| 13 | Aligned workflow | No |
| 14 | Contemporary grammar | No |
| 15 | Visualization options | No |
| 16 | Connects to other packages | No |
| 17 | Speed | No |
| 18 | Source code | No |
A package can augment and support almost all steps in a scientific workflow, and the wealth of packages developed are extensive and frequently overlapping in the functions provided. To facilitate open and impactful science, a total of 18 criteria are proposed as a mechanism to contrast two or more packages that share similar/related functions. Necessity is proposed to weight the relative importance of each criterion.