Background

EPSRC RSE Fellowship (2021-2026)

Sustainability & EDI in the R Project


💻 Contributing to the R project through code, infrastructure & outreach
📦 Contributing to packages on CRAN
🚀 Capacity-building in R and data science at Warwick University
💪 Community-building in the R and RSE communities with a focus on EDI

R Project Sprint 2023

48 in person (not all pictured), 7 online.

Who came?




11 R Core
13 Invited
31 Selected

25/40 non core developers self-identified from underrepresented groups

Activities

  • Translation: translation platform admin, documentation, message translation
  • Documentation: triaging and working on bug reports
  • Bug fixes/new functionality:
    • Accessibility, e.g. logging base graphics
    • Low-level, e.g. rng overhead optimization
    • Packages, e.g. improving messages sent to CRAN maintainers
    • Statistics, e.g. enhancing sample.int for unequal probability sampling
    • Graphics, e.g. adding support for “#RGB” colours in R (in addition to “#RRGGBB”)

Translation

~2000 new/updated messages translations across 14 languages

Bugs

Great, when are we doing this again?

R Dev Days

  • 1-day versions of the R Project Sprint
  • 9 events as satellites to R conferences:
    • 2 x useR! (Austria, USA)
    • 2 x Shiny in Production (UK)
    • London satRdays (UK)
    • posit::conf(2024) (USA)
    • LatinR 2024 (online)
    • RencontresR 2025 (France)
    • RSECon25 (UK)

Diversity at R Dev Days



  • 47% identify as under-represented
  • R-Ladies out in force!

R-Ladies at R Dev Day @ RSECon25

Upcoming Events

What Happens at an R Dev Day

  • Tasks are prepared as issues on https://github.com/r-devel/r-dev-day
  • Prior to the event/during kick-off, people flag their interest
  • Break-out into small groups for the rest of the day



Remainder of talk: Examples of tasks, highlighting R-Ladies contributions!

R Contributors Infrastructure

R Contributor Assets

Also the R Dev Container (containerized development environment).

Contributor Infrastructure Tasks at R Dev Days

Translations

R Project Weblate Instance

https://translate.rx.studio: a user-friendly interface for contributing translations

Screenshot of the R Project for Statistical Computing project on weblate, with per package translation coverage summaries
  • Package R and C files: errors, messages and warnings
  • base (R GUI): text strings in the Windows GUI

Languages tab

Screenshot of the language tab for the R Project for Statistical Computing project, with per language translation coverage summaries


27 (written) languages, e.g., Simplified Chinese (73% translated), Indonesian (3% translated)

Translators

Screenshot of users page on the R Project weblate, showing the top 20 translators by number of translations (as of 12 Nov 2025)
  • Nichole Haines (1,612; DE, RU, ES, FR)
  • Gabriela de Lima Marin (1,121; PT_BR, ES)
  • Paola Corrales (501; ES)
  • Renata Hirota (499; PT_BR)

Translation Tasks at R Dev Days

Translations Dashboard

https://contributor.r-project.org/translations-dashboard/

Status of translations in R sources (R-devel)

Status of translations on Weblate

Plans for Improvement

Note

Will be opening related issues for R Dev Day @ Australia 2025!

R Manuals

Improving CSS: Before

Improving CSS: After

R code (docs and tests)

Bug 17835 - Removing master/slave terminology from tcltk (Code)

Team including Erin Hodgess, Ella Kaye

Bug 17835 - Removing master/slave terminology from tcltk (Doc)

Bug 7084 - text(x, y, labels) - recycling problems

Team including Ella Kaye

text() recycles coordinate pairs when there are more labels than points

par(mar = c(5, 4, 0, 0))
plot(1:7); text(1:2, 2:4, LETTERS[1:4])

Bug 7084 - text(x, y, labels) - recycling problems (Code)

if (is.language(labels)) {
    labels <- as.expression(labels)
}

if (length(labels) > (n <- length(x$x)) && n >= 1) {
  labels <- labels[1:n]
  warning("length(labels) > max(length(x), length(y)). labels truncated to length ", n, ".")
}

Bug 7084 - text(x, y, labels) - recycling problems (Doc)

Bug 18674 - tools::toTitleCase() incorrectly capitalizes conjunctions

Team including Shannon Pileggi, Reiko Okamoto

In the following example “and” should not be capitalized:

tools::toTitleCase("pre- and post estimation")
[1] "Pre- And Post Estimation"

Bug 18674 - tools::toTitleCase() incorrectly capitalizes conjunctions (Code)

Bug 18674 - tools::toTitleCase() incorrectly capitalizes conjunctions (Tests)

Bug 18787: Modify glyphFont() so it produces a single font description (Code)

Team including Sherry Zhang, Jayani Lakshika, Stephanie Zimmer

  • similar changes for index, family, weight, and style arguments

Bug 18787: Modify glyphFont() so it produces a single font description (Tests)

Bug 18787: Modify glyphFont() so it produces a single font description (TODO)

Open as issue #68 for R Dev Day @ Australia

CRAN

Summary

Get Involved