Skip to content

Questions and Roadmap for covidcast on CRAN #470

@taylor-arnold

Description

@taylor-arnold

Following discussion last week, I took a close look at the current R covidcast package. I tried to review it the way I would a submission for the RJournal, JOSS, ROpenSci or equivalent, with the caveat that I know it's still in the works. Overall it seems to run well, be well documented, and has the core functionality I would expect.

Here are some suggestions for how to streamline the package for getting it onto CRAN. I am sure some of these are bad ideas, but though I would err or the side of too many ideas rather than too few:

  1. Standardize all of the = assignments to <-.
  2. The dplyr/tidyr/purrr functions are used in a non-trival way, so I think they are fine even though they introduce a lot of dependencies. But, I recommend removing pipes. Great for interactive work but hard to debug, particularly deep within a package. This should not be a heavy lift.
  3. Clean up the format and number of global variables. Some all ALL_CAPS, others are not. Most seem like they are only used once and could just be defined within the scope of a function.
  4. Try to see if some of the Imports that we are only using one or two function from are really needed. A few seemed easily replacable.
  5. The metadata files are a bit too big and contain a lot of variables. Can we limit these to just a few for the package? Only a few are documented in the package anyway. I don't think they will pass CRAN with the current sizes.
  6. There should be a more complete README.md for the package with a simple worked out example.
  7. The vignettes are nice and very informative, but take far too long to build. Should we replicate them with static data, remove the time-consuming bits, or provide pre-built HTML files to CRAN?
  8. Is there any possibility of keeping the R package in its own repository? This one is huge (as you know) and one-repo-per-package is defintiely the norm. This isn't needed at all for CRAN, and might have other drawback, but just thought I would ask as it would certainly simplify some things, particularly as the project becomes more maintainence rather than active development.
  9. I think the biggest challenge is going to be supporting the plotting, particularly the spatial maps. What's the thought on the extent to which this code and data needs to be in the package? .... My usually preference is to have a package provide well-formated data and produce plots myself (full control and no need to learn a bunch of other plotting APIs), but I know that's not everyones preference. At any rate, the shape files are just too big for CRAN and we need some alternative.

That's all I have for now. Once I have a sense of how to address these, happy to take them on as soon as possible.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions