UBC-MDS / software-review-2021

1 stars 1 forks source link

Submission: NiceNumbERRR (R) #51

Open camharris22 opened 3 years ago

camharris22 commented 3 years ago

name: NiceNumbERRR about: This R package provides basic functions that make numbers display nicely.


Submitting Author: Cameron Harris (@camharris22)

Other Authors:

Repository: NiceNumbERRR Version submitted: v0.3.0 Editor: TBD Reviewers:

Archive: TBD Version accepted: TBD


Package: NiceNumbERRR
Title: What the Package Does (One Line, Title Case)
Version: 0.0.0.9000
Authors@R: 
    person(given = "Jayme",
           family = "Gordon",
           role = c("aut", "cre"),
           email = "jaymegordo@gmail.com")
    person(given = "Cameron",
           family = "Harris",
           role = c("aut", "cre"),
           email = "camharris22@gmail.com")
    person(given = "Guanshu",
           family = "Tao",
           role = c("aut", "cre"),
           email = "guanshu@ualberta.ca")
    person(given = "Zhiyong",
           family = "Wang",
           role = c("aut", "cre"),
           email = "william.calix.cn@gmail.com")
Description: This R package provides basic functions that make numbers display nicely. 
             In most real-world problems, the datasets are raw and we need to deal with 
             number formats to make them readable for humans or for computers. 
             Usually, a few or more lines of coding are needed while dealing with 
             number-display problems so we are thinking of compressing the time and 
             programming work on this issue. This package solves this kind of 
             problems in a way of transfer forward and backward from long digit 
             numbers to human-readable ones. There are functions doing single 
             number transactions, column transactions from a pandas data frame, 
             and displaying colors of input numbers.
License: MIT + file LICENSE
Encoding: UTF-8
LazyData: true
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.1.1
Suggests: 
    testthat (>= 3.0.0),
    covr,
    stringr,
    knitr,
    rmarkdown
Config/testthat/edition: 3
VignetteBuilder: knitr
Depends: 
    tidyverse

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

ttimbers commented 3 years ago

Assigning @Saule-Atymtayeva & @nichowu as reviewers.

nichowu commented 3 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:

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

Estimated hours spent reviewing: 2


Review Comments

Hi Guanshu, Cameron, Jayme and Zhiyong,

Congrats on completing the package. I like the idea of converting numbers into human or machine readable format. The functions in this package are easy to use and the documentation is clear for the most part. I was able to successfully run to_human, to_numeric and to_df. The output makes sense and I appreciate the toy data provided.

There are just a couple of suggestions on small details I wanted to bring to your attention:

Typos/Documentation

Code Suggestion

The output is:

"\033[32m1\033[0m\033[33m2\033[0m\033[34m3\033[0m\033[31m4\033[0m\033[32m5\033[0m\033[33m6\033[0m\033[34m7\033[0m"

Thanks,

Nick

Saule-Atymtayeva commented 3 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:

Please, read the comments below.

Please, read the comments below.

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

Please, read the comments below.

Estimated hours spent reviewing: 3.


Review Comments

Hi NiceNumbERRR team,

Congratulations! Your work is really interesting, and I like how the numbers look after applying your functions.

I have some suggestions that might be useful in improving your project:

  1. In the README and Vignette homepage documents, I would remove the part that says that the package can be installed from CRAN. I double-checked the availability of your package on CRAN in case there were any problems with the installation on my side, but I could not find the package.
  2. Running the example provided in the README and Vignette homepage documents for the to_human function (to_human(78950000, prec = 0, family = "numeric")) threw the error saying that Family not in suffixes. I changed family = "numeric" into family = "number" to match the function input arguments, and it worked. So, you need to update this example in both documents. Also, I should mention that in the example you used install.packages("NiceNumbERRR") instead of devtools::install_github("UBC-MDS/NiceNumbERRR").
  3. For the example output of the to_color function I would paste a screenshot so that users could see your expected "colored" results of applying the to_color function.
  4. I ran devtools::check() on my computer, and there were a couple of notes. I managed to resolve them as follows.
    • The solution for the Non-standard files/directories found at top level: ‘NiceNumbERRR_reviewform’ ‘docs’ note is here. The same solution will work for the NiceNumbERRR_reviewform file as well (I tried usethis::use_pkgdown(config_file = "_pkgdown.yml", destdir = "NiceNumbERRR_reviewform"), and it worked smoothly).
    • To get rid of the > checking for unstated dependencies in vignettes ... NOTE '::' or ':::' import not declared from: ‘tibble’ note you can add tibble in the Imports section of DESCRIPTION.
  5. The test coverage is 98.96%. There is one line that was not checked (return(n * base**(which(custom_suff == unit)))), so I would create one more test to cover 100% of the relevant code lines.

All the best, Saule

Saule-Atymtayeva commented 3 years ago

It seems like Nick and I have a couple of overlapping suggestions 🙂

wiwang commented 3 years ago

@nichowu some clarification about to_color() function:

  1. In R, 1234567 actually is a float/double type which I also feel surprised, 1234567L is integer type, and our function only support integer input to make it simple
  2. I originally want to display the colored number after using function to_colour() in readme instead of a couple of weird string, but unfortunately Github no longer support color font, so a good way is to make a gif to show the real result of this function. thank you
wiwang commented 3 years ago

@Saule-Atymtayeva thank you for the suggestion