UBC-MDS / software-review-2022

0 stars 0 forks source link

Submission Group 25: rbccovideda (R) #38

Open johnwslee opened 2 years ago

johnwslee commented 2 years ago

name: rbccovideda about: simple and scalable package for EDA of Covid19 cases in BC


Submitting Author Name: Lianna Hovhannisyan @liannah, John Lee @johnwslee, Vadim Taskaev @vtaskaev1, Vanessa Yuen @imtvwy Submitting Author Github Handle: @johnwslee Other Package Authors Github handles: @liannah, @vtaskaev1, @imtvwy Repository: https://github.com/UBC-MDS/rbccovideda Version submitted: Submission type: Standard Editor: Lianna Hovhannisyan @liannah, John Lee @johnwslee, Vadim Taskaev @vtaskaev1, Vanessa Yuen @imtvwy Reviewers: Simon Guo @y248guo, Kiran Phaterpekar @kphaterp, Rong Li @lirnish, Jessie Wong @jessie14

Language: en

Package: rbccovideda
Title: EDA Analysis for BC COVID19 data
Version: 0.0.0.9000
Authors@R: 
    person("Lianna", "Hovhannisyan", , "liannahovhannisyan11@gmail.com", role = c("aut", "cre"))
    person("John", "Lee", , "john.ws.lee@gmail.com", role = c("aut", "cre"))
    person("Vadim", "Taskaev", , "vadim.taskaev@outlook.com", role = c("aut", "cre"))
    person("Vanessa", "Yuen", , "imtvwy@gmail.com", role = c("aut", "cre"))
Description: Convenience functions to make the COVID19 Data analysis for British Columbia, CA region.
License: MIT + file LICENSE
Encoding: UTF-8
LazyData: true
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.1.2
Imports: 
    downloader,
    dplyr,
    ggplot2,
    here,
    lubridate,
    RCurl,
    readr,
    scales,
    sjmisc,
    testthat,
    tibble,
    tidyverse
Config/testthat/edition: 3

Scope

Technical checks

Confirm each of the following by checking the box.

This package:

Publication options

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

kphaterp commented 2 years ago

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

Documentation

The package includes all the following forms of documentation:

Functionality

Estimated hours spent reviewing: 1.5 hours


Review Comments

  1. There is a slight inconsistency in your Usage instructions in the README file. When you are instructing the users on how to use your functions, you specify the actual values of the arguments in the markdown text instructions for plot_hist_by_cond. In contrast, you specify the names of the parameters instead in the markdown text instructions for the functions show_summary_stat and plot_line_by_date (i.e. plot_line_by_date(startDate, endDate)). Not a major issue, but an inconsistency that you may want to address.
  2. Your scripts are very well written. One suggestion is that the get_data.R script doesn't have any comments for the code. If you are able to add some comments to this code it can help with its readability.
  3. You have lots of tests for each function which is fantastic. Really makes your package functions robust and resistant to errors. Again, another small suggestion would be to add some comments to the test-get_data.R script just to make it easy to see what the tests are doing at a glance. Very minor issue though.
  4. Friendly reminder to not forget to include a link to your package website (via pkgdown) before you submit! I see that the vignette has already been created which is great, so don't forget to include the link to the website that is accessible on the README page.
  5. I think your package is quite intriguing and honestly something that I would use out of interest. Some features that I thought would be interesting for you to include in the future would be to allow for more customizability of the plots. What if I wanted to use the viridis colour palette, or simply choose basic colours for the plots? Maybe it's possible to allow the user to filter for a specific region they want to observe in the plot_line_by_date function? I'm sure your group has thought of some creative implementation ideas and understandably you can only do so much for a package within a given time frame. These are merely features that popped up in my head when playing around with your functions.
  6. Overall, great package. I found a lot of utility in your functions, while also feeling appropriately supported by the useful error messages that you created. Great work all of you!
jessie14 commented 2 years ago

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

Documentation

The package includes all the following forms of documentation:

Functionality

Estimated hours spent reviewing: 1.5 hours


Review Comments

  1. Similar to the Python package, the Number of Cases is plotted on the x-axis in plot_hist_by_cond but on the y-axis in plot_line_by_date, which may be confusing to users. The standalone graphs are perfectly understandable, but it would be ideal to have consistency between the two graphs.
  2. The vignette is clear and informative, however, is there a reason why the dplyr package is loaded separately? It is listed as a dependency of the rbccovideda package, and should already be loaded with the package. If there is a particular reason why it needs to be loaded separately, it would be helpful to clearly state and explain this somewhere.
  3. The usage examples in the README are very simple and easy to understand. It would be useful to also show that region = "all" is an optional argument in the plot_line_by_date function. The vignette and function documentation show this, but its not clear just from the README
  4. The plot_hist_by_cond function is easy to use and interpret. Is there a particular reason why the condition argument only accepts Region and Age? Although there are less categories, it could still be informative to plot histograms for Sex or Classification.
  5. The plot_line_by_date and show_summary_stat functions are well written and executed. A future improvement to the plot_line_by_date function could be to allow the option to plot the total cases in BC over time, instead of plotting separate lines for each region. show_summary_stat would be even more useful if it accepted an input argument that allowed the user to calculate the summary statistics of a specific subset of the data, such as only for a certain region or age group.
  6. Overall, I think this package is well documented, has useful functions, and is unique within the R ecosystem. Great job!
lirnish commented 2 years ago

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

Documentation

The package includes all the following forms of documentation:

Functionality

Estimated hours spent reviewing: 2h


Review Comments

I think this is because this block in plot_line_by_date:

if (is.na(as.Date(startDate, "%Y-%m-%d")) || is.na(as.Date(endDate, "%Y-%m-%d"))){
     stop("Incorrect date format, should be YYYY-MM-DD")
     }

is before this:

 if (!is.character(startDate)) {
     stop("'startDate' should be character.")
     }

It tries to convert the date before checking if it is a character or not. So maybe the order should be reverted.

y248guo commented 2 years ago

Package Review

Documentation

The package includes all the following forms of documentation:

Functionality

Estimated hours spent reviewing: 2h


Review Comments

This is a very interesting package on trending topics, which can definitely be useful at certain levels. Most of the issues and comments have been addressed by fellow reviewers, as I would try to not repeat what others have mentioned, my apologies if there is any overlapping. Here are some of my comments regarding this package:

Overall it is a very awesome package, and great work Group 25!