Skip to main content
AI in Production 2026 is now open for talk proposals.
Share insights that help teams build, scale, and maintain stronger AI systems.
items
Menu
  • About
    • Overview 
    • Join Us  
    • Community 
    • Contact 
  • Training
    • Overview 
    • Course Catalogue 
    • Public Courses 
  • Posit
    • Overview 
    • License Resale 
    • Managed Services 
    • Health Check 
  • Data Science
    • Overview 
    • Visualisation & Dashboards 
    • Open-source Data Science 
    • Data Science as a Service 
    • Gallery 
  • Engineering
    • Overview 
    • Cloud Solutions 
    • Enterprise Applications 
  • Our Work
    • Blog 
    • Case Studies 
    • R Package Validation 
    • diffify  

R Package Quality: Documentation

Author: Colin Gillespie

Published: July 3, 2025

tags: r, litmus, validation, documentation, scoring

This is part three of a five part series of related posts on validating R packages. Other posts in the series are:

  • Validation Guidelines
  • Package Popularity
  • Package Documentation (this post)
  • Code Quality
  • Maintenance

In this post, we’ll take a closer look at package documentation and how it helps assess the “risky-ness” of a package The documentation score evaluates how complete and helpful a package’s documentation is. Package documentation comes in many guises. It could be a function examples, vignettes or even a website. While we don’t believe every package must have a website, vignettes, and examples. But the absence of all three usually points to weak documentation.

When validating R packages, documentation contributes around 15% to the total.

Score 1: Exported Objects Documentation

A score based on the proportion of exported objects that have documentation. For example, if we have ten functions, but only eight are documented, then the score would be 0.8. For all packages on CRAN, this is almost certainly 1, but for packages that are only available on GitHub, this may be less.

Score 2: Proportion of Help Pages with Examples

A score based on the proportion of help pages that have examples.

Score 3: NEWS file

A NEWS file is an indication of a development and release cycle. It helps users understand what has changed between versions. This detects the presence of a NEWS file. Of course, R packages make this interesting with NEWS, NEWS.md, inst/NEWS.md and/or Changelogs!

Score 4: Vignettes

Around 40% of CRAN packages have a single vignette, with only 10% having more than one vignette - we checked! For simplicity, this score is a simple binary metric, based on whether a package has any vignettes.

Score 5: Package Website

Does a package have an associated website? Ten or fifteen years ago, package websites were rare. Today, GitHub and GitLab make it easy for a package to host a website.

Score 6: NEWS updated to the Current version

The package’s NEWS file is outdated or missing, making it challenging to track recent changes, bug fixes, or updates. This lack of transparency may pose risks, as users are unable to verify whether critical updates have been implemented.

Need help with R package validation to unleash the power of open source? Check out the Litmusverse suite of risk assessment tools.

Summary

We can all agree that a package doesn’t need all of the components described above. It’s perfectly reasonable to have few examples, but very detailed vignettes. The important point is to investigate packages that have little documentation.

Examples

Using the packages from the previous blog post, and omitting scores where all packages scored 1, we have the following results

PackageNews CurrentVignettesExamples
drat1.001.000.43
microbenchmark0.000.000.20
shinyjs1.001.000.90
tibble1.001.000.61
tsibble0.001.000.82

All packages use source control, have a package website and provide documentation. The {microbenchmark} doesn’t have NEWS/Changelog. Similarly it’s missing vignettes. But recall it still has a high overall package score. The idea behind litmus, isn’t that a package must be perfect, but to take a pragmatic approach to scoring.

Oddly, the {tsibble} package does have a NEWS file, but it doesn’t mention the latest version, but I think this was an oversight.


Jumping Rivers Logo

Recent Posts

  • Should I Use Figma Design for Dashboard Prototyping? 
  • Announcing AI in Production 2026: A New Conference for AI and ML Practitioners 
  • Elevate Your Skills and Boost Your Career – Free Jumping Rivers Webinar on 20th November! 
  • Get Involved in the Data Science Community at our Free Meetups 
  • Polars and Pandas - Working with the Data-Frame 
  • Highlights from Shiny in Production (2025) 
  • Elevate Your Data Skills with Jumping Rivers Training 
  • Creating a Python Package with Poetry for Beginners Part2 
  • What's new for Python in 2025? 
  • Upcoming Free Webinar: Understanding Posit - Ecosystem and Use Cases 

Top Tags

  • R (235) 
  • Rbloggers (181) 
  • Pybloggers (88) 
  • Python (88) 
  • Shiny (63) 
  • Events (26) 
  • Training (22) 
  • Machine Learning (21) 
  • Conferences (20) 
  • Tidyverse (17) 
  • Packages (13) 
  • Statistics (13) 

Authors

  • Amieroh Abrahams 
  • Colin Gillespie 
  • Aida Gjoka 
  • Sebastian Mellor 
  • Myles Mitchell 
  • Keith Newman 
  • Gigi Kenneth 
  • Theo Roe 
  • Russ Hyde 
  • Liam Kalita 
  • Osheen MacOscar 
  • Tim Brock 
  • Shane Halloran 
  • Pedro Silva 

Keep Updated

Like data science? R? Python? Stan? Then you’ll love the Jumping Rivers newsletter. The perks of being part of the Jumping Rivers family are:

  • Be the first to know about our latest courses and conferences.
  • Get discounts on the latest courses.
  • Read news on the latest techniques with the Jumping Rivers blog.

We keep your data secure and will never share your details. By subscribing, you agree to our privacy policy.

Follow Us

  • GitHub
  • Bluesky
  • LinkedIn
  • YouTube
  • Eventbrite

Find Us

The Catalyst Newcastle Helix Newcastle, NE4 5TG
Get directions

Contact Us

  • hello@jumpingrivers.com
  • + 44(0) 191 432 4340

Newsletter

Sign up

Events

  • North East Data Scientists Meetup
  • Leeds Data Science Meetup
  • Shiny in Production
British Assessment Bureau, UKAS Certified logo for ISO 9001 - Quality management British Assessment Bureau, UKAS Certified logo for ISO 27001 - Information security management Cyber Essentials Certified Plus badge
  • Privacy Notice
  • |
  • Booking Terms

©2016 - present. Jumping Rivers Ltd