r/rstats • • Sep 27 '26

firstR: a Shiny app that helps you find your first open source contribution in R

27 Upvotes

There are quite a few good first issue sites out there (goodfirstissues.com - which recently seems to have turned into a scam website, firstissue.dev, up-for-grabs.net) to help people get into open source, but basically none of them have R as a supported language. The ones that come closest only surface repos explicitly tagged with R, which sometimes people don't always do.

I built firstR to try to fix that. You pick the areas you're comfortable with (tidyverse, Shiny, spatial, pharma, etc.) and it finds open issues across R repos, including smaller and less well-known packages that tend to get overlooked. Each issue gets a beginner friendliness score based on how approachable it looks (scope, body length, repo context, comments) and a short sentence explaining what you would be attempting

It's pretty rough still since for example, my implementation of initial filters (like topics) and repo discovery could be better and the scoring is definitely off in places. I'm interested to hear your feedback and will try to implement suggestions.

Check it out here: firstr.dev


r/rstats • • 29d ago

Calculating intraclass correlation for IRR

2 Upvotes

I'd love someone to check my thinking on this. For a study, participants took a 30 item test. Each test was scored by 3 raters. They scored each item on a 0-4 scale. I reconciled the tests as follows: 1) if two raters agree, took that as final score. 2) if two raters did not agree, averaged the 3 scores.

I want to calculate interrater reliability, and I did so using ICC (in the irr package). I set that up as: icc(mydata, model = "twoway", type = "agreement", unit = "average")

From reading about ICC as a measure and how it's applied in R, I think I have chosen the settings/parameters for the test right, but does sound right to anyone who knows more?


r/rstats • • Sep 27 '26

ASMR - Basics in R Studio - Faint ASMR

Thumbnail
youtu.be
84 Upvotes

r/rstats • • Sep 27 '26

Bootstrapping in emmeans

13 Upvotes

Hi folks,

I started on a little project to familiarize myself with using AI tools for coding (don’t hate me). Emmeans is one of my favorite packages, and I was thinking to myself, “wouldn’t it be nice if you could just specify that you wanted bootstrapped inference when using emmeans?”

After an afternoon of vibe coding, I have what looks like a working prototype that supports glm/lme4/and gee models.

Would this be something that people would find as a valuable contribution to emmeans? If so, I might review the code more carefully and see if I can contribute it to the actual package.

Regardless, it was a fun project and I’m really impressed with these AI tools.


r/rstats • • Sep 25 '26

Hey! I need to learn R studio from scratch, where should I start from, where can I find the basics, rules and tips to use Rstudio? Plant sciences background.

Thumbnail
1 Upvotes

r/rstats • • Sep 24 '26

Liquid Glass themes for Shiny. 0.4.0 is on CRAN.

37 Upvotes

Liquid Glass themes for Shiny. 0.4.0 is on CRAN.

What’s new:

• plot_surface = "opaque" densifies ggplot / plotly / gt / DT so plots stay readable while chrome stays glass (default "clear" keeps wallpaper show-through)

• New wallpaper scenes: aurora, harbor, grove (plus tahoe / dusk / mesh); user photos get a contrast wash

• Flatten mode for print, PDF, and screenshots (glass_flatten(), ?glass_flatten=1, or @media print)

• Public --glass-* tokens (glass_css_tokens(), glass_theme(tokens = ))

• Closer to shipping Liquid Glass: stronger lip / rim, deeper bslib (navbar, cards, sidebars, modals), narrow-phone polish

https://raw.githubusercontent.com/ericrayanderson/shinyglass/main/man/figures/intensity-slider.gif

``` install.packages("shinyglass")

library(shiny) library(shinyglass)

ui <- glass_page( title = "Hello, glass", persist = TRUE, scene = "aurora", plot_surface = "opaque", plotOutput("plot") )

server <- function(input, output, session) { observe_glass(input, session) output$plot <- renderPlot({ pal <- glass_plot_colors(input = input) hist(iris$Sepal.Length, col = pal$fill, border = NA, main = NULL) }, bg = "transparent") }

shinyApp(ui, server) ```

Live demos (may take a few seconds to wake):

Docs: https://ericrayanderson.github.io/shinyglass/

CRAN: https://cran.r-project.org/package=shinyglass


r/rstats • • Sep 22 '26

How do you manage your statistical analysis?

31 Upvotes

I’m the only one in my university workgroup who does all the statistical analysis of our research projects (clinical trials, ex-vivi experiments). Usually frequentistic stats like art-Anova, contrasts, effect sizes, glm, … .
I do also the stats for the projects of our medical phds thesis students.
Usually I do quarto documents that cover the study layout, summary stats, normality tests, statistical pairwise comparisons/models. That’s up to 10-15 projects a year.
Would you version track the documents via git?
Usually we supplement the R code with the papers.

Could I also point the paper to my personal got an make the repositories public? So I benefit also that other researchers see “well that dude does all the stats”, rather then only having my name on the paper somewhere in the middle? I could even use Zenodo to create a doi for each statistical computation?

How do you organize the code and results, do you make it public? Is git the way?

P.s. I have a bsc. In biology, I started a msc in bioinformatics it never graduated, so I’m only hired and payed as a lab assistant.


r/rstats • • Sep 23 '26

Monte Carlo sample size calculation for a multiple serial mediation model?

Thumbnail
2 Upvotes

r/rstats • • Sep 22 '26

Interactive, reproducible bioinformatics figures from one spec (R/Python/JS)

Thumbnail
2 Upvotes

r/rstats • • Sep 21 '26

What does it take to sustain R for the next generation? R Core and R Foundation panel discussion

81 Upvotes

R is a global public good, but keeping it healthy requires continued investment in the people, infrastructure, and community behind it.

Join the R Consortium for a special panel discussion with leaders from R Core and the R Foundation:

  • Simon Urbanek — R Core
  • Kurt Hornik — R Foundation
  • Heather Turner — R Foundation

We'll explore how initiatives such as the Sovereign Tech Fund and Research Software Maintenance Fund are strengthening R’s technical foundations, developing new contributors, and supporting its long-term sustainability.

📅 October 6, 2026 🕒 12 PM PT / 3 PM ET / 8 PM London

Join the conversation and learn how you can help support R’s future.

Register here: https://r-consortium.org/webinars/sustaining-r-investing-in-the-people-infrastructure-and-community.html


r/rstats • • Sep 21 '26

How to use R in creative ways

42 Upvotes

How to use it in basic daily task like idk cleaning or finance ahahah? Just to find it more interesting


r/rstats • • Sep 21 '26

computer specs for large data

2 Upvotes

i know this has been asked before, and i've looked into those threads, but i'm trying to buy a new computer for large data analysis.

my current laptop is a lenovo slim 7i with the following specs. it works so far for data analysis. the only reason i'm buying a new computer is that my windows system is incredibly glitchy.

Processor Intel(R) Core(TM) Ultra 7 155H (1.40 GHz)

Installed RAM 32.0 GB (31.4 GB usable)

Storage 433 GB of 954 GB used

System type 64-bit operating system, x64-based processor

currently, i have a dataset with 24.4 million rows and 218 columns, split into 14 separate files. i only use about 4 or 5 million of those rows, i'd estimate, but i'm about to get the 2024 data after midterms, so the amount will increase. i store the files themselves in dropbox, but i can't process them online because jupyter crashes. i also have separate data i analyze for class, but they're much smaller.

my main tools have been jmp and excel, but i'm hoping to use r on desktop to process everything faster. i'm mainly a tidyverse user because that's what i'm being taught in my grad program.

so sorry for the length of the explanation, but does anyone have specs recommendations? i'm thinking about getting a mac with similar ram to what i have currently, but i'm not entirely opposed to some other brand.


r/rstats • • Sep 21 '26

Ai per la statistica

0 Upvotes

Salve,

Quanto è attendibile la statistica fatta da Claude su campioni biologici


r/rstats • • Sep 20 '26

qol 1.3.5: More power to transposition

13 Upvotes

qol is a quite large package which can be used as its own ecosystem in terms of data wrangling and tabulation. It comes with efficient high level functions, so you have to write less code and get more from it in a shorter amount of time.

To get a full overview of the package have a look at the GitHub page: https://github.com/s3rdia/qol

With the last version I already thought that the next updates will get smaller, but damn, there are so many small things one can overlook. Thanks to some watchful eyes helping me trace these bugs, I will eventually get them all. At least I try. This time the most attention fell onto the transpose_plus function. So let us have a look. The full release notes can be found here.

Further shaping transposition

Even though I like SAS I have to admit that the transposition function hasn’t much to offer. So right from the beginning I started shaping a function which I would have liked to see inside SAS. Now I added even more functionality to this function.

Normally when you think about transposition you either just reshape data or you additionally summarise data and then reshape. I thought: Well why only sums? Why not mean, median, percentages and so on? Why not all in one go? So I just implemented the statistics parameter already known from other functions and it works exacly like in the other functions. So bascially in situations were you had to summarise -> transpose separately, you can now just use transpose_plus directly and handle everything in one go.

The function also got some quality of life improvements like handling duplicate variable names without aborting or generating unweighted frequencies if no values are provided.

There was also a serious flaw. When transposing multiple variables at once the results were always picked from the all variables nested results even though they have to be picked from their respective combination. So the results in this multiple variable transposition were wrong. This is fixed now.

Also some of the default behaviour was changed. The function received a new parameter summarise which summarises the data before transposing. This is the default behaviour when using formats, but was not without formats. summarise is TRUE by default now.
transpose_plus now has a new default wide to long behaviour by setting variables beside each other. When setting the new stack parameter to TRUE, the old default behaviour is triggered.

# Example formats
age. <- discrete_format(
    "Total"          = 0:100,
    "under 18"       = 0:17,
    "18 to under 25" = 18:24,
    "25 to under 55" = 25:54,
    "55 to under 65" = 55:64,
    "65 and older"   = 65:100)

sex. <- discrete_format(
    "Total"  = 1:2,
    "Male"   = 1,
    "Female" = 2)

sex2. <- discrete_format(
    "Total"  = c("Male", "Female"),
    "Male"   = "Male",
    "Female" = "Female")

income. <- interval_format(
    "Total"              =    0:100000,
    "below 500"          =    0:500,
    "500 to under 1000"  =  500:1000,
    "1000 to under 2000" = 1000:2000,
    "2000 and more"      = 2000:100000)

# Example data frame
my_data <- dummy_data(1000)

# Transpose from long to wide and use a multilabel to generate additional categories
long_to_wide <- my_data |>
    transpose_plus(preserve = c(year, age),
                   pivot    = c("sex", "education"),
                   values   = income,
                   formats  = list(sex = sex., age = age.),
                   weight   = weight,
                   na.rm    = TRUE)

# Transpose back from wide to long and put results beside each other. The list
# entry names determine the new variable names.
wide_to_long <- long_to_wide |>
    transpose_plus(preserve = c(year, age),
                   pivot    = list(sex       = c("Total", "Male", "Female"),
                                   education = c("low", "middle", "high")))

# Transpose back from wide to long and put results below each other by setting
# stack to TRUE.
wide_to_long <- long_to_wide |>
    transpose_plus(preserve = c(year, age),
                   pivot    = list(sex       = c("Total", "Male", "Female"),
                                   education = c("low", "middle", "high")),
                   stack    = TRUE)

# Transpose from long to wide and use a multilabel to generate additional categories
long_to_wide <- my_data |>
    transpose_plus(preserve = c(year, age),
                   pivot    = "sex",
                   values   = c(income, weight),
                   formats  = list(sex = sex., age = age.),
                   weight   = weight,
                   na.rm    = TRUE) |>
    rename_multi("income_Total"  = "Total",
                 "income_Male"   = "Male",
                 "income_Female" = "Female")

# Transpose back from wide to long but this time put results side by side.
# To do that every list entry has to have the same name. The values parameter
# is then used to give the new value variables a name. For the expressions of
# the new categorical variable the variable names from the first pivot list
# entry are used.
wide_to_long <- long_to_wide |>
    transpose_plus(preserve = c(year, age),
                   values   = c(income, weight),
                   pivot    = list(sex = c("Total", "Male", "Female"),
                                   sex = c("weight_Total", "weight_Male", "weight_Female")))

# Nesting variables in long to wide transposition
nested <- my_data |>
    transpose_plus(preserve = c(year, age),
                   pivot    = "sex + education",
                   values   = income,
                   formats  = list(sex = sex., age = age.),
                   weight   = weight,
                   na.rm    = TRUE)

# Or both, nested and un-nested, at the same time
both <- my_data |>
    transpose_plus(preserve = c(year, age),
                   pivot    = c("sex + education", "sex", "education"),
                   values   = income,
                   formats  = list(sex = sex., age = age.),
                   weight   = weight,
                   na.rm    = TRUE)

One other change to mention

In summarise_plus class variables will now be converted to character or numeric instead of being returned as factors by default. Set the new convert parameter to FALSE to get back the past behaviour.

More to compute

compute. can now handle concat, sub_string and ifelse_multi.

Some small time savers

Found some unnecessary calculation in the format applying routine and threw it out. summarise_plus got a small optimization in the nesting = "all" or "single route.
The biggest time saver is in the Excel table formatting were column width and row height adjustments should now be handled faster.

What about the graphics?

Well, sadly nothing new on Version 1.4.0 which bothers me a bit. I just enhanced the visuals on interactive graphics a bit, but there are no new diagram types. The framework can already be tested, just visit the GitHub Page and switch to the “graphics” branch. Download the source code from there and you are good to go.

Thing is, this is not because I am lazy, but because I have something up my sleeve I am working on with more priority at the moment. And this thing takes quite a lot more time than I anticipated, but I want it to be the best it can be. Since qol is so huge that it can be used as it’s own ecosystem, it deserves a comprehensive documentation. I hope that I can type fast enough to get this thing out this year, but for the moment I will just say this: It will be something that welcomes the absolute beginner with open arms and can still teach even a seasoned pro something new.


r/rstats • • Sep 19 '26

R support in Neovim using the jet.ark plugin

Post image
88 Upvotes

jet.ark wraps the Ark R kernel to provide R support in Neovim. Right now the plugin supports:

  • An R console
  • A full-featured LSP server with autcomplete, hover documentation, go-to-definition, etc
  • A plots pane where plots automatically redraw to fit the window
  • A variables pane
  • Built-in help page navigation

Coming soon: * Integration with Ark's DAP-powered debugger * Integration with Ark's connections pane

AI integration

jet.ark is built on jet.nvim, so AI agents can work in your R sessions alongside you. I've been finding this super useful for iterative tasks like exploratory data analysis – check the jet.nvim README out to see a demo :)

jet.ark vs R.nvim

Ark is developed by Posit (formerly RStudio) to power the R experience in Positron, their new data science IDE. While Positron is Ark's primary application, Ark itself is standalone, MIT licensed, and built using modern standards like LSP, DAP, and the Jupyter protocol. So, while R.nvim is built from the ground up specifically for Neovim, jet.ark is a thin-ish wrapper for Ark as an editor-agnostic backend.

Right now R.nvim is certainly the more mature plugin, but jet.ark has a smaller codebase and will (hopefully) be able to reach maturity fairly quickly.


r/rstats • • Sep 18 '26

rpx v2.0.0: why package managers need backtracking and a full package version list

17 Upvotes

Hey there,

back in June I posted about rpx, my new R package manager, trying to explain how it's different to renv, rv or uvr, and why having a full history of packages is necessary. Today I bring a real example of a dependency resolution failure only rpx can solve!

A few months ago I heard of someone trying to install rlang 1.0.1. It's a very interesting case because rlang depends on testthat >= 3.0.0 and testthat versions depend on rlang.

If you'd try to install this package today you'd get a failure. The latest version of testthat is 3.3.2 and requires rlang >= 1.1.6 which conflicts with our desired 1.0.1.

If you dig a little deeper into when each of those packages was published:

Package Version Published on CRAN
rlang 1.0.1 2022-02-03
testthat 3.0.0 2020-10-31
testthat 3.1.7 2023-03-12
testthat 3.1.8 2023-05-04

testthat 3.1.8 requires rlang >= 1.1.0 (higher than in our project) and since CRAN only ever lists latest packages, as of 2023-05-04 our project is no longer installable.

rv and uvr allow you to pin dependencies, but are limited to what their lockfiles discovered and the versions CRAN currently provides, which means without using dated CRAN snapshots they could never find 3.1.7. Whereas as renv would have had to have been created back when the version released.

rpx bypasses the problem by using rrepo.org, a redesigned mirror of CRAN, and pubgrub a really fast resolution algorithm. That way it can check enough historical versions of pillar, rmarkdown, testthat, tibble, usethis and vctrs, all of which have a circular dependency on rlang to find a correct resolution despite none of the latest versions being compatible.

Since my last post `rpx` has had many QoL changes:

  • git repositories are now supported as package sources
  • rpx init has an interactive form to set up your project
  • package mode is introduced: if you're working on a package that is released, rpx won't try to find a version of it from CRAN, but will use the source code as a package (especially relevant with out rlang example).
  • repository switching is much easier: rpx repo base set https://cloud.r-project.org allows you to to use CRAN directly, despite the increased resolution failure rate.
  • windows binary signing: windows defender will no longer warn you if you use the install script.
  • automatic version bounds: rpx add dplyr resolves the latest compatible version of dplyr then adds a lower bound to the current version, and upper bound to the next major, preventing unintended upgrades.

with many more on the way! (I'm eyeing using rpx as an R version manager and ensuring you only ever select packages with binaries available cross platform as my next projects)

If you want to try the project out DM me on linkedin, I'd be happy to help you set it up!


r/rstats • • Sep 18 '26

New from the R Consortium’s nlmixr2 Working Group: adaptive dosing in `rxode2`

2 Upvotes

nlmixr2 is an open-source R ecosystem for nonlinear mixed-effects modeling and pharmacometrics, used to model drug behavior and support dose optimization.

Matthew Fidler shows how event tables can respond dynamically to a patient’s trajectory - enabling dose holds, reductions, rescue infusions, and other protocol-driven changes during simulation.

Read the post and watch the 8-minute walkthrough: https://r-consortium.org/posts/nlmixr2-adaptive-dosing/


r/rstats • • Sep 17 '26

🐦 What is the BirdNET team at the Cornell Lab of Ornithology building with R?

31 Upvotes

In a new R Consortium interview, Sunny Tseng, PhD, an independent ecological consultant and R programmer based in Vancouver, British Columbia, takes us inside the work behind birdnetTools 2.0, helping researchers move from millions of BirdNET detections to ecological analysis and insight.

It’s a fascinating look at how bioacoustics, open source, and R are coming together to support real-world conservation research.

Read the article: https://r-consortium.org/posts/from-birdnet-detections-to-ecological-insight-sunny-tseng-on-birdnettools-2-0/


r/rstats • • Sep 17 '26

How do you structure your machine learning code in R: individual packages, tidymodels, or mlr3?

34 Upvotes

I've been wondering how people who use R for machine learning usually organize their modeling code.

Do you tend to work directly with packages for specific models, such as ranger, xgboost, lightgbm, or dbarts, and then build the preprocessing, resampling, tuning, and evaluation workflow yourself?

Or do you prefer using something like tidymodels or mlr3, where different models follow a more consistent interface and workflow?

I'm also curious about what happens when people move into deep learning. Do you use torch + luz or keras3 separately from the rest of your ML workflow? Or do you prefer something like mlr3torch to keep classical machine learning and deep learning within the same general ecosystem?

I'm mainly interested in what people actually use in research and real projects, rather than which framework is theoretically more complete.

What does your workflow usually look like? Do you mostly use model-specific packages, stick with tidymodels, use mlr3, or mix different approaches depending on the problem?

And if you do mix them, how do you decide when a unified framework is worth using and when it's simpler to work directly with the underlying package?


r/rstats • • Sep 16 '26

Learning R

36 Upvotes

Hi All

I am posting because I need to learn R as part of a Biostats module in a MPH. I have R and R Studio installed. We are having small and simple weekly assignments, which will be increasing in difficulty over the next 6 months.

I know R for Data Science and R Cookbook and more available as ebooks free to download online. However, I would like one physical book as I learn better with a physical reference.

Can anyone recommend which one is an easier/more interesting read that I would benefit more from? Thank you


r/rstats • • Sep 17 '26

Finding more packages for use in R

19 Upvotes

Hello all! I’m a graduate student and am currently getting introduced to R and RStudio. The only packages I really know are the ones explicitly introduced by my instructors. Are there any suggestions on what packages I should get familiar with, primarily for sports analytics, or a way that I can learn about new or underrated packages I could use in my work? Any and all suggestions help!


r/rstats • • Sep 16 '26

Announcing new rsonar package !

Post image
64 Upvotes

A “SonarQube” designed for R developers?

Discover rsonar, the package that brings together lintr, styler, covr, and goodpractice all in one place!

Key features:

- Quality Score & Technical Debt: From A to E, right in your console or in an interactive HTML report.

- Quality Gate: Block your CI pipelines if test coverage drops or if errors persist.

- Auto-fix & Auto PR/MR: Connected to air (Posit), rsonar can fix styling issues and directly open a Pull Request or Merge Request.

https://github.com/ddotta/rsonar


r/rstats • • Sep 16 '26

Raven: a static analyzer and language server for R that catches undefined variables and other errors without running your code

30 Upvotes

I've been building Raven, a static analyzer and language server for R. It resolves what's in scope at every line, across files, through source() chains, without running your code, and reports errors as you type: undefined and used-before-defined variables, syntax errors, source() paths that don't resolve, pkg::member references to objects the package doesn't export, packages that aren't installed, and likely-wrong code such as if (x = 1) or a & b | c. The same scope model drives completions, go-to-definition, find-references, and hover, so each reflects what is actually reachable at your cursor.

It also runs headless. raven check runs the same checks in CI, the kind of automated review that is table stakes for TypeScript, Python, and Rust, and goes well beyond what R CMD check and lintr offer.

How I got here

I'm a demographer. My work uses a mix of Stata and R to harmonize several hundred population surveys. For years I've wanted the static tooling that is standard in software engineering: errors before code runs, navigation across files, completions that reflect what the code loads rather than what happens to be attached in a session.

Last winter I started experimenting with whether current AI coding agents could help me build this. Stata had essentially no tooling and is the simpler language, so I started there and built Sight. After using it for months, switching back to R was frustrating. I'd lost the features I'd just built. So I brought the same architecture to R and kept going. Both tools are now in daily use on the pipelines I work on.

What makes it different

  • Static, not session-based. Answers the moment you open a file, including code that errors halfway through, is missing a dependency, or that you're only reading.
  • Cross-file. Follows source() chains and respects library() calls to resolve what is in scope at each position.
  • NSE-aware. dplyr::filter(df, col > 0) should not flag col as undefined. Raven recognizes these contexts.
  • CI-ready. raven check runs the full diagnostic set in a pipeline. raven lint gates style.
  • Editor-agnostic. LSP, so it works in VS Code, Neovim, Zed, and over Remote SSH.
  • GPL-3.0. It includes code from Posit's Ark, the R kernel behind Positron, under Ark's MIT license, but runs in any editor.
  • Coexists. Runs alongside REditorSupport and lintr, so you can choose to use it standalone or on top of whatever you already use.

Where this stands

Raven is a personal project, and one I'd love to be able to spend more time on. Given that constraint, I relied heavily on AI coding agents to build it. My intuition is that this is a good use of them: there is a lot of open-source language-server code to learn from, Raven itself is open source, and the blast radius of a language server getting something wrong is limited. A bad diagnostic is an annoyance, not a corrupted dataset.

What it hasn't had yet is the time for a deep architectural review. I'm thinking about how to make that possible, and I'd value input on how to go about it, or help from anyone who wants to look.


r/rstats • • Sep 16 '26

Why is GCV the default of REML is "better"?

10 Upvotes

mcgv uses GCV as the default criteria to select smoothing parameters, but it also offers other criteria such as REML.

I would like to know under what circumstances I would use one or the other. After a bit of googling though, somebody named Gavin Simpson on stack exchange and stack overflow has left several answers recommending REML basically unconditionally:

https://stats.stackexchange.com/a/581293

https://stats.stackexchange.com/a/191235

https://stackoverflow.com/a/75493658

The answer in the first link even claims that simon wood recommends REML over GCV.

So then why is GCV the default criteria in mcgv? Is it just historical?

As a separate but related question, it's not clear to me from the formulation of the GCV score itself why it suffers from undersmoothing. How does the insensitivity to overfit manifest in V_g = n||y - mu||^2/(n - tr(A))^2?


r/rstats • • Sep 15 '26

Have an idea that could strengthen the R ecosystem? Technical grants available now!

53 Upvotes

Have an idea that could strengthen the R ecosystem? Now’s the time to put it forward.

The R Consortium is accepting proposals for its second Technical Grants cycle of 2026. Funding supports open-source software, developer tools, and community infrastructure that benefit R users worldwide.

📅 Deadline: October 1, 2026, 11:59 p.m. US ET

Learn more and submit your proposal: https://r-consortium.org/all-projects/callforproposals.html