+ - 0:00:00
Notes for current slide
Notes for next slide

Publishing and Promoting your R Package

Heather Turner

March 5, 2020

1 / 12

Not yet written a package?

Take a look at these resources!

2 / 12

Not yet written a package?

Take a look at these resources!

Update with Johannesburg satRday 2020 workshop materials soon!

2 / 12

Why publish on CRAN?

  • Sign of quality
    • Code is ready to be used (not a beta version)
    • Basic standards: documented code, running examples, etc
    • Works with current version of R and other packages
    • Commitment of maintainer
  • Discoverability
  • Ease of installation
  • Bioconductor, rOpenSci: even higher standards, code review
3 / 12

Preparing for CRAN release

4 / 12

Useful resources

5 / 12

Promoting your package

6 / 12

Talks

  • Meetups: RUGs, R-Ladies, satRdays
  • Conferences (https://jumpingrivers.github.io/meetingsR/events.html)
    • General: useR!, rstudio::conf, satRdays
    • Specific: Insurance Data Science Conference, BiocAsia 2020
    • Non R-specific: ???
  • Conferences provide greater exposure, particular to people working in relevant field(s).
  • Don't forget to share your slides! (Conference/personal website, LinkedIn, RPubs, Slideshare)
7 / 12

Paper

  • A paper not only promotes your package but benefits from peer review
    • Paper can also overlap with vignette
  • Traditional journals:
    • Open Source Software: The R Journal, Journal of Statistical Software
    • Computing: Computational Statistics and Data Analysis, Journal of Computational and Graphical Statistics, SoftwareX
    • Science: Bioinformatics, PLOS ONE, Method in Ecology and Evolution
  • Alternative journals:
    • F1000research Bioconductor/R package gateway: publish, then open review
    • Journal Open Source Software: open code review, short descriptive paper
8 / 12

Research compendium

  • A research compendium can showcase your work in a reproducible workflow
    • Could demonstrate a protocol/pipeline vs research study.
  • Advice on how to structure a research compendium is given by rOpenSci: https://github.com/ropensci/rrrpkg
  • The research compendium can be published on Zenodo, Figshare or Dryad
9 / 12

Interacting with users

  • Add a BugReports url to your DESCRIPTION
    • Using GitHub issues means that people can see if bug already reported and what action has been taken
  • Consider creating an RSS feed for relevant StackOverflow questions
  • Bug reports/help requests
    • Can show where documentation/tests need improving
    • Help you find out who's using your package and what for
    • Can give ideas for new features
    • Can lead to collaborations
10 / 12

Interacting with developers

  • Add a CONTRIBUTING.md to your GitHub repository
    • Do you have a style guide?
    • Reminders to run check/tests/add NEWS item to pull requests
  • Use tags to highlight issues: the following are promoted by GitHub
    • help wanted
    • good first issue
  • Add a code of conduct: make sure everyone knows ground rules for happy collaboration and a welcoming community
    • devtools::use_code_of_conduct adds Contributor Covenant
    • Be prepared to enforce!
11 / 12

Don't keep it to yourself!

12 / 12

Not yet written a package?

Take a look at these resources!

2 / 12
Paused

Help

Keyboard shortcuts

, , Pg Up, k Go to previous slide
, , Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
Esc Back to slideshow