ropensci / software-review

rOpenSci Software Peer Review.
286 stars 104 forks source link

Access to goldilocks package - used to check balance prior to randomizng a cluster randomized trial. #586

Closed nzgwynn closed 1 year ago

nzgwynn commented 1 year ago

Submitting Author Name: gwynn gebeyehu Submitting Author Github Handle: !--author1-->@nzgwynn<!--end-author1-- Repository: https://github.com/nzgwynn/Goldilocks_package Submission type: Pre-submission Language: en


Package: GoldilocksPackage
Title: What the Package Does (One Line, Title Case)
Version: 0.0.0.9000
Authors@R: person(given = "gwynn", family = "gebeyehu", email = "nzgwynn@gmail.com", role = c("aut", "cre"),
           comment = c(ORCID = "0000-0002-1185-8446"))
Author: gwynn sturdevant [aut, cre],
Maintainer: gwynn gebeyehu <nzgwynn@gmail.com>
Description: The Goldilocks package implements the theoretical permutation
    approach developed in this article is an interactive Shiny application. 
    This package allows researchers to randomize cluster randomized trials with 
    confidence by visualizing the distribution of average differences in the 
    treatment and control arms in practice randomizations. The application also 
    allows researchers to randomize a trial and download the resultant 
    randomizations. The Goldilocks application is deployed on the web put some 
    researchers may prefer an R package.
URL: https://www.sciencedirect.com/science/article/pii/S245186542100048X, https://CRAN.R-project.org/package=shiny, https://bit.ly/GoldilocksApp
License: MIT + file LICENSE
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.2.1
Imports: 
    designmatch,
    GGally,
    ggplot2,
    grid,
    lattice,
    random,
    readxl,
    rmarkdown,
    shiny,
    stats
Suggests: 
    testthat (>= 3.0.0)
Config/testthat/edition: 3

Scope

ropensci-review-bot commented 1 year ago

Checks for [GoldilocksPackage (v0.0.0.9000)]()

git hash: 06b9d841

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

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 | 155| |internal |utils | 16| |internal |GoldilocksPackage | 12| |imports |stats | 23| |imports |GGally | 7| |imports |random | 3| |imports |designmatch | 2| |imports |readxl | 1| |imports |ggplot2 | NA| |imports |grid | NA| |imports |lattice | NA| |imports |rmarkdown | NA| |imports |shiny | 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 (15), list (11), rep (11), sapply (11), paste0 (10), dim (6), I (6), scale (6), as.numeric (5), length (5), nrow (5), for (4), ifelse (4), matrix (4), ncol (4), col (3), colnames (3), file (3), max (3), min (3), which (3), data.frame (2), file.path (2), floor (2), globalenv (2), is.numeric (2), new.env (2), seq_along (2), sum (2), tempdir (2), abs (1), apply (1), as.matrix (1), cbind (1), colMeans (1), diag (1), factor (1), gsub (1), is.null (1), paste (1), replicate (1), unlist (1)

stats

C (10), D (9), dist (1), rbinom (1), runif (1), sd (1)

utils

data (16)

GoldilocksPackage

make.order (5), Round (3), dummy (1), goldilocks (1), make.Ks (1), Round1 (1)

GGally

ggparcoord (7)

random

randomNumbers (3)

designmatch

nmatch (2)

readxl

read_excel (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 10 files) and - 1 authors - no vignette - no internal data file - 10 imported packages - 5 exported functions (median 30 lines of code) - 15 non-exported functions in R (median 13 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 | 10| 59.0| | |files_vignettes | 0| 0.0|TRUE | |files_tests | 5| 81.7| | |loc_R | 513| 48.4| | |loc_tests | 56| 27.4| | |num_vignettes | 0| 0.0|TRUE | |n_fns_r | 20| 27.9| | |n_fns_r_exported | 5| 24.2| | |n_fns_r_not_exported | 15| 32.7| | |n_fns_per_file_r | 1| 0.2|TRUE | |num_params_per_fn | 4| 51.9| | |loc_per_fn_r | 22| 63.6| | |loc_per_fn_r_exp | 30| 63.0| | |loc_per_fn_r_not_exp | 13| 42.7| | |rel_whitespace_R | 32| 66.4| | |rel_whitespace_tests | 43| 39.6| | |doclines_per_fn_exp | 28| 29.1| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 9| 30.9| | ---

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)

--- #### 3b. `goodpractice` results #### `R CMD check` with [rcmdcheck](https://r-lib.github.io/rcmdcheck/) R CMD check generated the following check_fails: 1. description_bugreports 2. no_import_package_as_a_whole #### Test coverage with [covr](https://covr.r-lib.org/) Package coverage: 12.76 The following files are not completely covered by tests: file | coverage --- | --- R/dummy.R | 0% R/goldilocks.R | 0% R/make_plot.R | 0% R/make_zoom_plot.R | 0% R/server.R | 0% R/ui.R | 0% #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) The following function have cyclocomplexity >= 15: function | cyclocomplexity --- | --- server | 15 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 188 potential issues: message | number of times --- | --- Avoid library() and require() calls in packages | 1 Avoid using sapply, consider vapply instead, that's type safe | 8 Lines should not be more than 80 characters. | 52 Use <-, not =, for assignment. | 127


Package Versions

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


Editor-in-Chief Instructions:

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

maurolepore commented 1 year ago

Dear @nzgwynn,

Thanks for your pre-submission.

I discussed with the editorial boar and unfortunately we consider it out-of-scope for our category "scientific software wrappers":

Packages that wrap non-R utility programs used for scientific research -- https://devguide.ropensci.org/policies.html#package-categories

That category focuses on R wrappers of non-R utilities, but on the repo of this pre-submission we see 100% R code.

We might consider it a "workflow" package under our statistical-software peer-review process. That category has potential but isn't yet developed. However, @noamross would be willing to pilot it if it meets the guidelines for statistical software. That could take a while, so I'll close this issue now but feel free to open a new pre-submission when you are ready and please mention this issue in that issue.

maurolepore commented 1 year ago

@ropensci-review-bot out of scope

nzgwynn commented 1 year ago

Thank you for your response!