ropensci / software-review

rOpenSci Software Peer Review.
286 stars 104 forks source link

ClusterApp: A Shiny Application in R #617

Closed JohannaMz closed 7 months ago

JohannaMz commented 8 months ago

Submitting Author Name: Johanna Märtz Submitting Author Github Handle: !--author1-->@JohannaMz<!--end-author1-- Repository: https://github.com/JohannaMz/ClusterApp Version submitted: 0.0.0.9000 Submission type: Standard Editor: TBD Reviewers: TBD

Archive: TBD Version accepted: TBD Language: en


Package: ClusterApp
Title: A Shiny R application to guide and streamline cluster studies based
    on GPS data
Version: 0.0.0.9000
Date: 2023-07-15
Authors@R: c(
    person("Johanna", "Märtz", , "johanna@maertz.eu", role = c("cre", "aut"),
           comment = c(ORCID = "0000-0001-9981-0430")),
    person("Aimee", "Tallian", role = c("aut", "ctb")),
    person("Camilla", "Wikenros", role = c("aut", "ctb")),
    person("Rick", "Heeres", role = c("aut", "ctb"))
  )
Description: The Cluster Analysis App is a Shiny App developed for the
    easy and straightforward analysis of GPS collared individuals to
    identify clusters of visits.
License: GPL (>= 3)
URL: https://github.com/JohannaMz/ClusterApp
BugReports: https://github.com/JohannaMz/ClusterApp/issues
Depends: 
    R (>= 2.10)
Imports: 
    bslib,
    config (>= 0.3.1),
    dplyr,
    DT,
    foreign,
    golem (>= 0.4.0),
    hms,
    leaflet,
    lubridate,
    magrittr,
    methods,
    openxlsx,
    readr,
    readxl,
    sf,
    sftrack,
    shiny (>= 1.7.3),
    shinyFiles,
    shinyWidgets,
    stats,
    stringr,
    tidyr,
    tmap,
    utils
Suggests: 
    knitr,
    rmarkdown,
    shinytest2,
    testthat
VignetteBuilder: 
    knitr
Config/testthat/edition: 3
Encoding: UTF-8
LazyData: true
RoxygenNote: 7.2.3

Scope

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. - [x ] 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*)

Code of conduct

ropensci-review-bot commented 8 months 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 8 months ago

:rocket:

The following problem was found in your submission template:

:wave:

ropensci-review-bot commented 8 months ago

Checks for ClusterApp (v0.0.0.9000)

git hash: 3d80ab75

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

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

Package License: GPL (>= 3)


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 | 224| |internal |ClusterApp | 25| |internal |graphics | 3| |imports |magrittr | 67| |imports |stats | 55| |imports |dplyr | 42| |imports |shiny | 40| |imports |sf | 18| |imports |tmap | 9| |imports |DT | 7| |imports |golem | 4| |imports |leaflet | 4| |imports |readr | 4| |imports |sftrack | 4| |imports |openxlsx | 3| |imports |tidyr | 3| |imports |readxl | 2| |imports |utils | 2| |imports |bslib | 1| |imports |hms | 1| |imports |lubridate | 1| |imports |methods | 1| |imports |config | NA| |imports |foreign | NA| |imports |shinyFiles | NA| |imports |shinyWidgets | NA| |imports |stringr | NA| |suggests |knitr | NA| |suggests |rmarkdown | NA| |suggests |shinytest2 | 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

list (116), c (42), as.character (5), as.numeric (5), colnames (5), paste (5), dirname (4), class (3), for (3), Negate (3), nrow (3), as.factor (2), data.frame (2), drop (2), lapply (2), options (2), unique (2), url (2), as.POSIXct (1), basename (1), date (1), Find (1), format (1), if (1), is.na (1), is.null (1), mapply (1), message (1), paste0 (1), seq_along (1), strftime (1), strsplit (1), sum (1), Sys.Date (1)

magrittr

%>% (67)

stats

ts (44), filter (10), aggregate (1)

dplyr

n (41), mutate (1)

shiny

reactive (16), checkboxGroupInput (7), column (7), radioButtons (4), reactiveValues (3), eventReactive (2), dateRangeInput (1)

ClusterApp

app_server (1), app_sys (1), app_ui (1), cluster_analysis (1), col_1 (1), col_10 (1), col_12 (1), col_2 (1), col_3 (1), col_4 (1), col_6 (1), col_8 (1), display (1), drop_nulls (1), enurl (1), get_golem_config (1), golem_add_external_resources (1), jq_hide (1), list_to_li (1), list_to_p (1), make_action_button (1), named_to_li (1), rep_br (1), run_app (1), rv (1)

sf

st_as_sf (13), st_as_text (1), st_buffer (1), st_crs (1), st_join (1), st_union (1)

tmap

tm_fill (4), tm_dots (2), tm_markers (2), tm_shape (1)

DT

datatable (3), dataTableOutput (2), renderDataTable (2)

golem

add_resource_path (1), bundle_resources (1), favicon (1), with_golem_options (1)

leaflet

hideGroup (2), leafletOutput (1), renderLeaflet (1)

readr

parse_number (2), read_delim (2)

sftrack

as_sftraj (4)

graphics

text (2), title (1)

openxlsx

write.xlsx (3)

tidyr

separate (2), unite (1)

readxl

read_excel (2)

utils

str (1), write.table (1)

bslib

bs_theme (1)

hms

as_hms (1)

lubridate

ymd_hms (1)

methods

is (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 12 files) and - 4 authors - 1 vignette - 2 internal data files - 24 imported packages - 1 exported function (median 6 lines of code) - 63 non-exported functions in R (median 3 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 | 12| 65.5| | |files_vignettes | 1| 68.4| | |files_tests | 3| 75.2| | |loc_R | 1237| 73.5| | |loc_vignettes | 142| 37.0| | |loc_tests | 78| 34.2| | |num_vignettes | 1| 64.8| | |data_size_total | 70928| 81.5| | |data_size_median | 35464| 86.5| | |n_fns_r | 64| 64.2| | |n_fns_r_exported | 1| 0.0|TRUE | |n_fns_r_not_exported | 63| 73.5| | |n_fns_per_file_r | 5| 67.5| | |num_params_per_fn | 5| 69.6| | |loc_per_fn_r | 3| 1.1|TRUE | |loc_per_fn_r_exp | 6| 10.5| | |loc_per_fn_r_not_exp | 3| 1.5|TRUE | |rel_whitespace_R | 39| 88.1| | |rel_whitespace_vignettes | 87| 71.2| | |rel_whitespace_tests | 24| 34.2| | |doclines_per_fn_exp | 37| 45.3| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 6| 24.8| | ---

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/JohannaMz/ClusterApp/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/JohannaMz/ClusterApp/actions) [![pkgcheck](https://github.com/JohannaMz/ClusterApp/workflows/pkgcheck/badge.svg)](https://github.com/JohannaMz/ClusterApp/actions) **GitHub Workflow Results** | id|name |conclusion |sha | run_number|date | |----------:|:-------------|:----------|:------|----------:|:----------| | 6749397034|pkgcheck |failure |3d80ab | 7|2023-11-03 | | 6749397038|R-CMD-check |success |3d80ab | 54|2023-11-03 | | 6693418645|test-coverage |failure |c89fdf | 37|2023-10-30 | --- #### 3b. `goodpractice` results #### `R CMD check` with [rcmdcheck](https://r-lib.github.io/rcmdcheck/) R CMD check generated the following notes: 1. checking installed package size ... NOTE installed size is 15.1Mb sub-directories of 1Mb or more: doc 8.4Mb help 6.3Mb 2. checking data for non-ASCII characters ... NOTE Note: found 2599 marked UTF-8 strings R CMD check generated the following check_fails: 1. no_import_package_as_a_whole 2. rcmdcheck_non_ascii_characters_in_data 3. rcmdcheck_reasonable_installed_size #### Test coverage with [covr](https://covr.r-lib.org/) ERROR: Test Coverage Failed #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) The following functions have cyclocomplexity >= 15: function | cyclocomplexity --- | --- cluster_analysis | 41 app_server | 38 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 366 potential issues: message | number of times --- | --- Avoid 1:nrow(...) expressions, use seq_len. | 3 Avoid library() and require() calls in packages | 1 Avoid using sapply, consider vapply instead, that's type safe | 1 Lines should not be more than 80 characters. | 326 unexpected input | 1 Use <-, not =, for assignment. | 34


4. Other Checks

Details of other checks (click to open)

:heavy_multiplication_x: The following function name is duplicated in other packages: - - `run_app` from apisensr, biodosetools, bSims, cheem, dash, dccvalidator, discoveR, dmdScheme, dragon, estudy2, fdapaceShiny, FielDHub, forecasteR, gravitas, gwpcormapper, INSPECTumours, kesernetwork, neo4r, OpenSpecy, phecodemap, predictoR, regressoR, ReviewR, ShinyItemAnalysis, spinifex, vici, viewpoly, visxhclust


Package Versions

|package |version | |:--------|:--------| |pkgstats |0.1.3.9 | |pkgcheck |0.1.2.10 |


Editor-in-Chief Instructions:

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

jhollist commented 7 months ago

@JohannaMz Thank you for the submission of ClusterApp. It looks to be a nice application that will help GPS intensive field workflows.

Unfortunately, ClusterApp is out of scope for rOpenSci. In particular, packages that include apps need to provide the means to reproduce interactive workflows (https://devguide.ropensci.org/policies.html#other-scope-considerations). As it stands now, this does not seem to be a option with ClusterApp. If you are able to make changes to the app that 1.) generates reproducible code from the Shiny app and 2) facilitates running the analysis outside of the Shiny App (e.g. within the R Console via functions), a follow up submission could be reconsidered.

Thank you for considering rOpenSci for your application.

jhollist commented 7 months ago

@ropensci-review-bot out of scope