UBC-MDS / software-review

MDS Software Peer Review of MDS-created packages
1 stars 0 forks source link

Submission: ggexpress (R) #6

Open aromatic-toast opened 4 years ago

aromatic-toast commented 4 years ago

name: ggexpress

Submitting Author: Name Lesley Miller (@aromatic-toast) , Tejas Phaterpekar (@tejasph) , Jack Tan (@thejacktan), Wenjiao zou (@zouwenjiao). Repository: ggexpress Version submitted: 1.1.0 Editor: Verada Kolhatkar Reviewer 1: @zanderhinton Reviewer 2: @mglu123 Archive: TBD
Version accepted: TBD


Package: ggexpress
Title: Express exploratory data analysis with ggplots
Version: 0.0.0.9000
Authors@R: 
    person(given = "Tejas",
           family = "Phaterpekar",
           role = c("aut", "cre"),
           email = "first.last@example.com",
           comment = c(ORCID = "YOUR-ORCID-ID"))
    person(given = "Wenjiao",
           family = "Zou",
           role = c("aut", "cre"),
           email = "zouwenjiao@gmail.com",
           comment = c(ORCID = "YOUR-ORCID-ID"))
Description: This package provides tools for users to immediately plot their data and obtain useful informationm that will aid in machine learning projects.
License: MIT + file LICENSE
Encoding: UTF-8
LazyData: true
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.1.0
Imports: 
    ggplot2,
    dplyr,
    Hmisc,
    rlang,
    magrittr,
    tibble,
    stats,
    vdiffr,
    forecast,
    testthat,
    readr,
    gapminder
Suggests: 
    knitr,
    rmarkdown,
    covr
VignetteBuilder: knitr
URL: https://github.com/UBC-MDS/ggexpress
BugReports: https://github.com/UBC-MDS/ggexpress/issues

Scope

Please see the How this package fits into the R ecosytem section of our package README for details.

N/A

Technical checks

Confirm each of the following by checking the box.

This package:

Publication options

JOSS Options - [ ] The package has an **obvious research application** according to [JOSS's definition](https://joss.readthedocs.io/en/latest/submitting.html#submission-requirements). - [ ] The package contains a `paper.md` matching [JOSS's requirements](https://joss.readthedocs.io/en/latest/submitting.html#what-should-my-paper-contain) with a high-level description in the package root or in `inst/`. - [ ] The package is deposited in a long-term repository with the DOI: - (*Do not submit your package separately to JOSS*)
MEE Options - [ ] The package is novel and will be of interest to the broad readership of the journal. - [ ] The manuscript describing the package is no longer than 3000 words. - [ ] 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

mglu123 commented 4 years ago

Hi! I will be able to review, but you might want to use the Varada's templates when you open this issue.

aromatic-toast commented 4 years ago

She just changed this! This is the template she linked to in the Review Homework. Will fix this shortly.

mglu123 commented 4 years ago

Package Review

Documentation

The package includes all the following forms of documentation:

For packages co-submitting to JOSS

The package contains a paper.md matching JOSS's requirements with:

  • [ ] A short summary describing the high-level functionality of the software
  • [ ] Authors: A list of authors with their affiliations
  • [ ] A statement of need clearly stating problems the software is designed to solve and its target audience.
  • [ ] References: with DOIs for all those that have one (e.g. papers, datasets, software).

Functionality

Final approval (post-review)

Estimated hours spent reviewing: 1 hr


Review Comments

Overall, it is a very practical package! You did a good job with writing tests, code coverage and generating the documentation site.

> devtools::check()
Updating ggexpress documentation
Loading ggexpress
Warning in (function (dep_name, dep_ver = "*")  :
  Dependency package 'vdiffr' not available.
Error: Dependency package(s) 'vdiffr' not available.
>library(ggexpress)
> my_data = tibble::tibble(time_series =  c(0, 1, 2, 3), signal = c(2, 3, 4, 6))
> fourier_transform(data = my_data,
+                   time_col = "time_series",
+                   data_col = "signal")
Error in fourier_transform(data = my_data, time_col = "time_series", data_col = "signal") : 
  could not find function "fourier_transform"

It seems that the package does not export functions properly.

zanderhinton commented 4 years ago

Package Review

Documentation

The package includes all the following forms of documentation:

For packages co-submitting to JOSS

The package contains a paper.md matching JOSS's requirements with:

  • [ ] A short summary describing the high-level functionality of the software
  • [ ] Authors: A list of authors with their affiliations
  • [ ] A statement of need clearly stating problems the software is designed to solve and its target audience.
  • [ ] References: with DOIs for all those that have one (e.g. papers, datasets, software).

Functionality

Final approval (post-review)

Estimated hours spent reviewing: 3 hr


General comments:

Areas of improvement:

  1. gghist and test-gghist:
  1. scatter_express and test-ggscatter:
  1. ts_plot and test-ts_plot

Given the input can be any data.frame I am not sure how to prevent this from happening, but perhaps something to think about.

  1. fourier-transform and test-fourier

Nitpicky things

7. Typos:

8. Style:

Overall I really enjoyed interacting with your functions, and I can see the benefits of quicker and easier EDA when using your package, well done!

zouwenjiao commented 4 years ago

Thanks for the insightful feedback @mglu123 @zanderhinton. We have worked through your suggestions and the following is what we have done.

From Luke's comments, we have implemented the following changes in our latest version:

  1. Remove vdiffr as a package requirement to pass devtools::check().

  2. Add an example in README for function fourier_transform.

  3. Change plot background theme for gghist.

From Hinton's comments, we have done following improvements:

  1. Remove vdiffr as a package requirement as he suggested.

  2. Add the example of fourier_transform in both the README and the Vignette.

  3. Fix typo in README

  4. Add additional unit tests for gghist

  5. Remove library imports in the fourier_transform.

  6. Add comments to fourier_transform function.

  7. Address style in the test-fourier.R function, using "<-" for assignment instead of "=".

The above improvements can be found in our latest version of release:

v 1.2.0