You CRAN do it

how-to
Recommendations for when you want to submit a package to CRAN.
Author

Isabella Velásquez

Published

February 25, 2020

Rosie the Riveter with a red spotted bandana and a blue shirt holding her arm

J. Howard Miller, We Can Do It!

As the @WeAreRLadies curator, I asked the Twitterverse for advice when submitting a package to the Comprehensive R Archive Network (CRAN) for the first time. Many people replied and offer their tips, experience, and well wishes. I have summarized everybody’s replies below. THANK YOU all for participating!

Here’s what to expect when succeeding to get your package on CRAN!

Read the official CRAN documentation

… which is Writing R Extensions! “Necessary and sufficient,” according to Avraham Adler.

You can get by with a little help from your friends

{usethis}, {devtools}, and {roxygen2}, although not necessary, are useful tools for creating CRAN-ready packages.

Documentation is key

  • Have tests and coverage via {covr}, and make sure they run without issues on all platforms
  • CRAN will ask that you add examples to your package, wrapped in \dontrun{} and \donttest{}.
  • Ask others read your stuff and provide feedback!

Let reviewers know why this should be on CRAN

A quick note letting the reviewers know why your package should be on CRAN goes a long way.

Be patient

The people at CRAN are busy! It might take a while for them to reply and accept your package. If you want to track the progress of your package, you can take a look at the CRAN Incoming Dashboard.

Emails will be terse

This is particularly difficult for me to hear, as someone who provides! ample! exclamation marks! in emails! in order to sound cheery and polite, but responses can be short and to-the-point. Breathe, and address everything mentioned. When you do reply, respond to the CRAN list.

Persist

The reviewers will let you know what you need to do for approval. Go through their list carefully and try again!

Many thanks to the R Community for their words of advice and encouragement ❤

Guides

Liked this article? I’d love for you to retweet!