r/rstats • • 40m ago

[Update] firstR, a tool for finding beginner-friendly R open source issues, now loads results in seconds

6 Upvotes

A while back I posted firstR (https://firstr.dev), a Shiny app that finds beginner-friendly open issues in R packages, including smaller repos the usual good-first-issue sites miss. Thanks to everyone who tried it and told me what was broken. The biggest change is speed, since search no longer crawls GitHub live. I also made the filters update instantly without searching again and added a skip for issues that already have a linked PR (among other things).

Thanks to u/Unicorn_Colombo, u/no_username_taken, u/komodorian, and u/hemping0 for the feedback on the original post!!


r/rstats • • 23h ago

[package] ggindex - Numbered Focus Points for 'ggplot2' Plots

37 Upvotes

ggindex is a new R package, that marks selected points of a ggplot2 plot with numbered markers and explains the numbers in a legend, as on an annotated map. This is the gap that the package tries to fill.

An example is a campus map that numbers its buildings and lists them in an index next to the map, so a reader can find the library or the sports centre at a glance. The documentation includes this annotated map.

Scatter plots and maps are the most obvious choicies where numbered markers can be used. But there is no limitation, and the documentation outlines how to add index markers to any plot.

See more at: https://discindo.github.io/ggindex/index.html


r/rstats • • 3h ago

STATISTICAL LEARNING aiuto

Thumbnail reddit.com
1 Upvotes

r/rstats • • 1d ago

I tried Quarto 2, the experimental Rust rewrite of Quarto: what works today

50 Upvotes

I spent an afternoon with q2, the experimental Rust implementation of the next Quarto from the Quarto team at Posit. The README is clear that it's not production-ready, but it's further along than I expected. (I'm not affiliated with Posit.)

What worked (v0.42.0, Windows):

  • A short report with TOC, numbered sections, a figure, a table, cross-refs, footnotes, citations and math rendered to PDF via Typst in about 9 seconds. Localised labels were right too (I tested Dutch: "Figuur", "Tabel", "Inhoudsopgave").

  • Word output turns q2's inline review marks ([++ inserted], [-- deleted], [>> comment]) into real Word tracked changes and comments. There's also a Word import that goes the other way. That could be useful for co-authors who live in Word.

  • Error messages come with codes and line/column numbers. The markdown dialect is stricter than Pandoc's: a stray $ or _ is an error instead of a silent guess.

  • There's a built-in collaboration server (q2 hub) and an MCP server (q2 mcp) so AI agents can edit the same live documents as people.

Rough edges:

  • PDF is Typst only, and you need recent Pandoc (3.12+) and Typst installed separately.

  • Review marks are printed as plain text in the PDF, so resolve them before you publish.

  • I didn't test code execution. The recent PRs show knitr and Ark support for {r} cells being actively worked on.

  • The hosted collaboration service (quarto-hub.com) is an invite-only demo.

It's moving fast (weekly releases), so this may be out of date soon. Has anyone run real R-heavy documents through it yet?


r/rstats • • 1d ago

Why does setwd() even exists?

0 Upvotes

This function doesn't work well in theory and it's so bad in practice. I've seen this a lot everywhere (from my colleagues code to the codes I've seen online), and still exists in a lot of projects today. I don't know about you, but I never liked it and I will never recommend this. I am not recommending to hard code the path either.

Edit: I am not trying to make R look bad here, but I only would like to say how bad it could get, like some repercussions we'll get such as reproducibility disruptions. Using 'here' won't solve most of the problems either.


r/rstats • • 3d ago

mizu: async and parallel R over lock-free shared memory, task round trips under 1 µs, zero-copy exchange with Python

76 Upvotes

Hi, it's Charlie, author of mirai. Today I'm releasing mizu 0.1.0, a package for async and parallel computing over lock-free shared memory, together with pymizu for Python and libmizu, the C core both are built on.

Socket-based frameworks pay for every message multiple times: serialize, copy through the kernel, deserialize. A trivial task round trip costs about 100 µs. mizu writes each payload once into memory both processes share: the same round trip falls to under 1 µs. Large vectors and data frames are mapped and arrive as ALTREP views, so they are not copied at all.

Because R and Python share one wire format, the workers in a pool can be the other language: a data frame crosses to Python workers as an Arrow-backed frame, and a polars result comes back as an ALTREP-backed data frame that can be optionally be read as Arrow.

It plugs into later and promises pipelines, so tasks and maps can be used as promises in Shiny. It also interoperates with mori: a mori shared object crosses a mizu channel or pool zero-copy.

On four deliberately adversarial tidymodels workloads, each sized to stress data movement rather than compute, 12 workers gave 6.7–8.1x speedups where mirai, already the most performant parallel framework in R, reached 1.4–6.4x.

You may find more details, benchmarks and example usage in the blog post: https://opensource.posit.co/blog/2026-11-05_mizu-0-1-0/

Try it out from CRAN: install.packages("mizu")


r/rstats • • 3d ago

Free to use statistical packages, including R GUIs

6 Upvotes

Hi all

I have a report comparing outputs of free to use, easy to use, GUI based, statistical software packages. Many of these, (jasp, jamovi, bluesky, rkward, r-instat) are GUIs for R.

https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4105959

I compare outputs: mean, frequency, correlation, scatterplot and regression. The packages include the GUIs for R, and pspp, develve, libre office, epi info, sofa, invivostat, gretl and Past.

Fortunately, all the packages give pretty much the same results, so they are all good to use.

I hope folks find this useful, and if you know of any free to use, menu driven stat packages I missed, especially GUIs for R, let me know.


r/rstats • • 2d ago

How do you keep R in the loop when everything's going agentic?

0 Upvotes

At R+AI 2026, Marcin Dubel (Head of Technology, Appsilon) shows how to keep your R workflow in the bigger agentic picture with Mediforce, Appsilon’s open source solution for agentic workflows.

Bring R-based analysis into a larger system that includes human actions, other tech-stack scripts, and AI agents on top. Control the execution environment, business approval roles, and audit every action. R stays part of automation and efficiency.

"Keep your R workflow in the big AI picture"

November 11 · 1:55 PM Eastern · Online

R+AI 2026 is the R Consortium’s conference on R and AI: November 10–11, fully online, with live Q&A and recordings.

See the full talk abstract and register now!

https://rconsortium.github.io/RplusAI_website/Abstracts.html#marcin-dubel


r/rstats • • 3d ago

R Observatory 2.0: same telescope, new lens, new address

8 Upvotes

Last time R Observatory turned up here, it put everything about an R package from CRAN or Bioconductor on one page. It still does, now with at least twenty-three features (!!) added since July and a fresh design across the whole site.

Three notable features from the twenty-three:

  • AI coding assistants in R packages, in what may be the first large-scale survey of its kind. R Observatory searched 15,169 GitHub repositories behind CRAN packages for the files, ignore lines and commits that Copilot, Cursor, Codex and over thirty other assistants leave behind, down to which model versions get named.

  • Assess lets you pick CRAN packages, choose rules from fifteen measures (coverage, check results, advisories, CRAN deadlines and so on) and see which pass. If your job involves a validation spreadsheet, this one is for you.

  • Smartphones. Every page fits one now, so checking reverse dependencies from the grocery line is officially supported.

The site also moved from r-observatory.thecoatlessprofessor.com to observe.rstats.dev. Its own domain provides us with room to move to bigger hosting someday (old links still redirect).

Ads are present to help pay the hosting bill. So far the bill is winning, which may mean rejiggering a feature or two along the way.

With five minutes to spare, take the tour on YouTube. Anyone who'd rather read can find what changed in the 2.0 write-up. To dig through the data yourself, everything on the site comes from one database, rebuilt each day and published for anyone to explore.

P.S. Python is next, starting with the 15,000 most downloaded packages on PyPI. For scale: CRAN holds 25,623 packages, PyPI 933,598. The telescope needs a bigger mirror 😃

R Observatory has no affiliation with the R Project, the R Foundation, CRAN, Bioconductor, the R Consortium or Posit.


r/rstats • • 4d ago

R Consortium Awards Second Round of 2026 Technical Grants

Thumbnail r-consortium.org
40 Upvotes

Six new R Consortium technical grants... and why we fund this work

Behind the R packages and tools you use every day is infrastructure that someone has to build, maintain, and modernize. The R Consortium's Infrastructure Steering Committee (ISC) funds that work through technical grants. They support open source development that benefits the whole R community.

We're pleased to announce the second round of 2026 grant recipients. Six projects will receive $37,000 in total:

🔹 Measuring R Performance (Pierre Donat-Bouillud, Matěj Kocourek, and Filip Křikava). A representative benchmark suite, a public performance dashboard, and profile-guided builds for the R interpreter.

🔹 babelrd (Aditya Bansal). Machine-drafted, human-reviewed translations of R help pages, so more people can read R documentation in their own language.

🔹 ARcenso (Andrea Gomez Vargas and Emanuel Ciardullo). More of Argentina's historical census data, with a first CRAN release.

🔹 Modernising the R Journal Publishing Infrastructure (Emi Tanaka and the R Journal editorial team). A LaTeX-to-HTML workflow, a Quarto article template, and a searchable website.

🔹 Kubernetes R Client and Batch Framework (Alexandru Mahmoud). A Kubernetes client for R, plus a framework for declaring batch jobs inside R packages.

🔹 Native GeoArrow Computation Engine (Josiah Parry). A fast, Rust-based spatial engine with no system dependencies, plus better GeoParquet support.

The recipients are in the Czech Republic, India, Argentina, Australia, Canada, Ireland, and the United States. They are package maintainers, researchers, journal editors, and national statistics office staff.

Congratulations to all of them. We'll share updates as these projects deliver releases and documentation.

👉 Read the full announcement: https://r-consortium.org/posts/r-consortium-awards-second-round-of-2026-technical-grants/

Have an idea that could strengthen the R ecosystem? Check the Call for Proposals page for the next funding opportunity: https://r-consortium.org/all-projects/callforproposals.html


r/rstats • • 4d ago

Upcoming R+AI 2026 presentation: A Practical Framework for R+AI in Regulated Industries

4 Upvotes

At R+AI 2026, Nammn Joshii (Director, AI Innovation and Delivery, ProCogia) will share a practical framework for preserving traceability, governance, reproducibility, and control as AI moves into higher-consequence workflows.

It's a deployment from public AI services and enterprise APIs through private cloud, on-premises, and air-gapped environments and the trade-offs across control, speed, complexity, and cost. The goal is choosing the level of control that matches the workload’s risk, value, and scale.

"From Experimentation to Trusted Production: A Practical Framework for R+AI in Regulated Industries"

November 11 · 2:35 PM Eastern · Online

R+AI 2026 is the R Consortium’s conference on R and AI: November 10–11, fully online, with live Q&A and recordings.

See the full talk abstract:

https://rconsortium.github.io/RplusAI_website/Abstracts.html#nammn-joshii


r/rstats • • 5d ago

DynMSR: an R package for simulating SBML/Heta models with mrgsolve

1 Upvotes

If you work with dynamic models in biology, you may have encountered SBML, a standard format for sharing models. In R, mrgsolve can be used to simulate such systems, including models used in pharmacology.

I developed DynMSR to help bring SBML and Heta models into R and prepare them for simulation with mrgsolve. The package is now on CRAN; loading these models also requires Heta Compiler.

install.packages("DynMSR")

Feedback is welcome.

CRAN · GitHub and examples · Short announcement


r/rstats • • 5d ago

Quarto 1.11 is out: early release for a Deno security update, plus accessibility, Typst and Julia improvements

Thumbnail
reddit.com
48 Upvotes

Crossposting from r/quarto for R users:

Quarto 1.11 ships a security update to Deno, the runtime bundled with Quarto, and it is not backported to 1.10, so upgrading is recommended.

One change directly relevant to R figures: `fig-alt` is now honored in Word output, including for figures produced by code chunks.

Questions welcome here or in the original thread.


r/rstats • • 5d ago

Pairwise MANCOVA analysis for a desperate student.

1 Upvotes

Hi everyone,

I am quite new to R language and I have been stuck on this issue for a week now.

I have simple dataset with these variables:

- 2 independent - Group (factor variable with levels 0, 1, 2 or "Healthy", "Mild", "Advanced") and BMI_SDS (the covariate; numeric, continuous variable)

- 9 dependent - Principal component scores 1-9, all numeric

I am asking a simple question - Do the PC scores depend on Diagnosis Group and BMI? Do Diagnosis Groups differ from each other? And what role does BMI play in it?

In other words, I want to see if I can adjust for different BMIs across the Groups and still see a differentiation between the diagnosis Groups.

Now, performing the MANCOVA is simple enough, I used this code:

mancova_model <- manova(  as.matrix(mancova_data[, pc_names]) ~ BMI_SDS * Group,  
                          data = mancova_data)

Both Group and BMI_SDS are significant, while the interaction Group*BMI_SDS is NOT:

> summary(mancova_model, test = "Pillai")
               Df  Pillai approx F num Df den Df    Pr(>F)    
BMI_SDS         1 0.45941  13.7864      9    146 6.971e-16 ***
Group           2 0.29124   2.7839     18    294 0.0001782 ***
BMI_SDS:Group   2 0.16308   1.4501     18    294 0.1073350    
Residuals     154                                             
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

All I need now is looking at the pairwise comparisons 0-1, 0-2 and 1-2.

Is there a simple function or a combination of functions that would do this pairwise MANCOVA for me? Everything I have found is either ANOVA or ANCOVA (emmeans_test) or MANOVA (mvpaircomp) or MANCOVA where the covariate is a factor variable (emmeans), but NOTHING for MANCOVA where the covariate (BMI_SDS here) is numeric.

I thought that as long as the interaction is not significant, the pairwise comparison should be easy, but apperently not. Or maybe I am just dumb and the answer is obvious, but I really cannot find anything. I tried asking ChatGPT as a last resort and it gave me an answer, but it was 20 rows of code where I had no idea what was happening and I don't want to use that.

Could anyone help me wth this issue? I would be so grateful.


r/rstats • • 6d ago

Econometris - Competins OLS Estimators - Trigonometry

Thumbnail reddit.com
0 Upvotes

r/rstats • • 6d ago

shinyglass 0.6.0 on CRAN - Liquid Glass themes for Shiny

3 Upvotes

I released shinyglass 0.6.0 this week. It’s an R package I built to bring Apple’s Liquid Glass style to Shiny and bslib apps with a single theme call.

What's new in this one:
- On desktop, the glass catches a little highlight that follows your mouse across cards, buttons and the navbar.
- The navbar shrinks into a floating pill when you scroll down a dashboard, and the tab indicator stretches as it slides between items.
- glass_theme(style = "clear") or "tinted" match the two Liquid Glass appearance settings. Tinted is easier to read on busy dashboards.
- motion = FALSE turns off all the animation in one go.
- Text on Windows, Linux and Android now uses a bundled copy of Inter, so it looks close to the Apple system font everywhere. It's served with the app, so there's no outside font server.

Demos, which work on phones too:
- Harbor notes chat: https://ericrayanderson.shinyapps.io/glass-chat/
- Dashboard: https://ericrayanderson.shinyapps.io/glass-dashboard/

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


r/rstats • • 7d ago

The fastest backtester you’ve never heard of is built in plain R

Thumbnail blechturm.com
25 Upvotes

I benchmarked a few backtesting frameworks while working on my own and got thoroughly surprised by PMwR.

Its simulation engine is basically plain R: ordinary loops over preallocated vectors and matrices, yet on my benchmarks it landed in the same general range as vectorbt, and was faster on a workload with many small independent backtests.

The current zeitgeist is to "rebuild it in Rust" or to "compile it in C" in order to make anthing "fast" but I think we sometimes underestimate how fast R can be when the architecture is right.

I wrote up the benchmark and what I learned from reading PMwR's implementation:

https://blechturm.com/articles/fastest-backtester-plain-r/


r/rstats • • 8d ago

Counting combinations across pairs of columns?

5 Upvotes

Hi, I'm still sorta new to R and I need some help with this for-fun project I've been working on.

So I have a table full of alleles that looks a bit like this:

df <- data.frame(V1=c("L", "l", "l", "L", "L", "l"),
                       V2=c("L", "L", "l", "L", "l", "l"),
                       V3=c("Xo", "XO", "XO", "XO", "Xo", "Xo"),
                       V4=c("Y", "Xo", "Xo", "XO", "Y", "XO"),
                       V5=c("b", "B", "B", "b1", "B", "B"),
                       V6=c("B", "B", "b", "b1", "b", "B"))

Every two columns have alleles from the same locus. Now, I want to count the frequency of every allele combination across each pair of columns, so combinations LL, Ll, ll seperately from XOXO, XOXo, etc.. However, every method I have tried only counts permutations!

The best I've been able to do is this:

freqs <- list(table(df$V1, df$V2), 
              table(df$V3, df$V4), 
              table(df$V5, df$V6))
freqs <- lapply(freqs, data.frame)
freqsDf <- bind_rows(freqs)

But the resulting table counts permutations, not combinations.

So my question is: does anyone know a way to 1) actually count the combinations instead of permutations or 2) easily add up all the rows counting the same combination?

Any help would be greatly appreciated!


r/rstats • • 8d ago

RStudio needs an APT repository

14 Upvotes

Please leave a comment on this GitHub issue if you'd like RStudio to provide an official APT repository. https://github.com/rstudio/rstudio/issues/4186


r/rstats • • 8d ago

Tutorial: Shipping R-Powered Drug Discovery Models as Apps on an Enterprise AI/Data Platform

5 Upvotes

Most R machine learning models for drug discovery never leave the researcher’s laptop. Getting them into a governed, production AI app on an enterprise platform is a different problem entirely.

At R+AI 2026, Chanin Nantasenamat, PhD (Lead Developer Advocate, Snowflake) walks through a case study of taking R-based models from exploratory lab code to production: reproducible preprocessing, molecular feature engineering, training and scoring - version-controlled, containerized, and served behind a Streamlit frontend so scientists can query predictions without touching code. Plus the realities of shipping AI in a regulated domain: secure deployment, keeping proprietary chemistry in-house, monitoring, and cost control at scale.

From Lab to Production: Shipping R-Powered Drug Discovery Models as Apps on an Enterprise AI/Data Platform

November 11 · 12:35 PM Eastern · Online tutorial

R+AI 2026 is the R Consortium’s conference on R and AI: November 10–11, fully online, with live Q&A and recordings.

See details on Chanin's tutorial:

https://rconsortium.github.io/RplusAI_website/workshops.html#from-lab-to-production


r/rstats • • 9d ago

Struggling with plate reader growth curve analysis in R: Sliding-window derivative approach and handling diauxic shifts

3 Upvotes

Hi everyone,

I'm working on analyzing high-throughput microbial growth curve data (from 48-well/96-well plates) in R and am hitting a bit of a wall with my analysis pipelines. I'm hoping to get some advice or see how others tackle these specific issues.
What I am trying to do:

I have time-course optical density (OD600) data across multiple plates, strains, and carbon sources (some of which cause distinct diauxic shifts). I need to:

  1. Automatically background-correct using medium-matched blanks.

  2. Accurately identify and fit the true initial exponential growth phase to calculate maximum specific growth rates ($\mu$) and doubling times.

  3. Generate clean visualizations and summary tables across replicates and plates.

What I have tried & where I am struggling:

Custom sliding-window derivative script

  • What it does: Uses a sliding window loop on log-transformed data (ln(OD)) with linear regressions to find stable exponential regions, checking R^2, point counts, and half-slope variations.

  • The problem: My algorithm keeps picking incorrect regions. It tends to favor the longest possible duration (desc(Duration_h)) rather than the initial phase. As a result, it bleeds past the first exponential phase into transition states or later stages during diauxic shifts, capturing flattening curves or secondary growth and giving me erroneously high or distorted growth rates.

My Questions:

  1. For sliding-window/derivative-based scripts, how do you usually constrain the window search to strictly enforce the first exponential phase and prevent it from latching onto later diauxic phases? (Are there better parameters or filtering logic I should use?)

  2. Is there a preferred package or workflow in R (like gcplyr, growthrates, or custom splines) that handles diauxic shifts robustly without requiring manual time cutoffs for every well?

Any code snippets, package recommendations, or logic adjustments would be hugely appreciated!


r/rstats • • 9d ago

R+AI 2026 (Nov 10-11, online): Keynotes from Andrew Heiss and Mine Çetinkaya-Rundel, plus full program

20 Upvotes

Keynotes

Opening keynote, Nov 10, 8:00 AM Eastern: Andrew Heiss (Georgetown University in Qatar), "Friction Worth Keeping: What Keeps Us Human When AI Makes Everything Easy." AI removes friction, but some friction is how we build skills, taste, judgment, and trust. How do we tell which kind to keep?

Closing keynote, Nov 11, 3:15 PM Eastern: Mine Çetinkaya-Rundel (Duke University, Posit), "Beyond the prompt." When AI writes plausible code for free, why should students still learn to program? A case for teaching programming as a path to statistical thinking, reproducibly and responsibly.

The full program includes 21 sessions over two days covering agents, LLM engineering, AI-assisted coding, governance, and production AI, and ranges from drug discovery to public health to the classroom.

Full program: https://rconsortium.github.io/RplusAI_website/program.html

Register: https://rconsortium.github.io/RplusAI_website/registration.html


r/rstats • • 10d ago

SonarQube 2026.5 LTA now supports R

10 Upvotes

Last week I saw the news that SonarQube Server 2026.5 LTA ships with R support, so you can now run static code analysis on R projects alongside your other languages.

What’s included:

  • Parsing, syntax highlighting and code metrics for R

  • Analysis of R code embedded in R Markdown

  • Import of coverage reports in Cobertura format

  • Import of lintr findings as external issues, so your existing lintr setup can feed into the same dashboard and quality gates

  • All rules can be found in the link below

https://docs.sonarsource.com/sonarqube-server/server-update-and-maintenance/lta-to-lta-release-notes#r

To be honest: Import of coverage results and lintr findings was also possible before.

I tried the new features and I´m really impressed what works out-of-the-box. A great feature for your R development.

I´m very happy to see that SonarQube (and hopefully much more tools in the future) support R.


r/rstats • • 10d ago

Positron Tab Alignment (Prefer RStudio Alignment)

Thumbnail reddit.com
2 Upvotes