ᴅʀ. ᴍᴏᴡɪɴᴄᴋᴇʟ'ꜱ
banner
drmowinckels.io
ᴅʀ. ᴍᴏᴡɪɴᴄᴋᴇʟ'ꜱ
@drmowinckels.io
Staff scientists / RSE @LCBC_UiO & @LifebrainEU. She/Her.

PhD Cognitive Neurosciences 🧠

@rladies.org Global Team.

#Rstats #Nerd 🌈🏳️‍🌈

https://Drmowinckels.io
Pinned
One thing I am proud of creating is the #ggseg-universe.
A suite of #rstats packages to plot #brain atlas data.

Its mainly made for inflated cortical surfaces, and contains three main packages:
- ggseg, ggseg3d, ggsegExtra
+ 23 different atlases

ggseg.r-universe.dev/packages
We Made It! 🎉

25 days. Complete modern R package development workflow. From usethis automation to CRAN submission. You have everything you need!

#rstats #CRAN #RPackageAdvent2025 #ThatsAWrap
December 26, 2025 at 11:01 AM
Day 25: CRAN Submission Checklist and cran-comments.md

Final steps for successful CRAN submission.

Pro Tip: Be proactive about communicating any unusual aspects of your package to CRAN reviewers.

#rstats #RPackageAdvent2025
December 25, 2025 at 11:01 AM
Happy Christmas to all who celebrate, and to those who don't I hope you get to enjoy the end of the year.

We celebrated just the three of us, with a quiet and lovely celebration. After two Christmases that have been quite difficult, it was nice to have a semblance of normality.
December 24, 2025 at 8:25 PM
Day 24: rlang - Tidy Evaluation in Packages

Handle user expressions safely in package functions.

Pro Tip: Use {{ }} (embrace) for single arguments, ... for multiple arguments.
Resources: rlang.r-lib.org

#rstats #RPackageAdvent2025
December 24, 2025 at 11:02 AM
Day 23: cli - Beautiful Command Line Interfaces

Create user-friendly messages and progress indicators.

Pro Tip: Use semantic markup like {.fn function_name} and {.val value} for consistent formatting.
Resources: cli.r-lib.org

#RpackageAdvent2025 #rstats
December 23, 2025 at 11:01 AM
This was such a struggle, but it's finally there! After struggling with graphql for a good while, not only is meetupr now ported to httr2, has a comprehensive test suite and proper OAuth handling, it's finally on CRAN!

rladies.org/meetupr/

#rstats #rladies
December 22, 2025 at 8:46 PM
Day 22: S3, S4, and S7 Object Systems

Create robust object-oriented interfaces with R's object systems.

Pro Tip: Use S3 for simple classes, S4 for complex validation, S7 for modern OOP.
Resources: rconsortium.github.io/S7

#rstats #RPackageAdvent2025
December 22, 2025 at 11:01 AM
Day 21: rhub - Multi-Platform Testing (Thread)

Test your package on multiple platforms before CRAN submission.

Resources: r-hub.github.io/rhub/

#rstats #RPackageAdvent2025
December 21, 2025 at 11:01 AM
Day 20: Performance Testing with bench

Profile and benchmark your package functions.

Pro Tip: Include benchmarks in your test suite to catch performance regressions.
Resources: bench.r-lib.org

#rstats #RPackageAdvent2025
December 20, 2025 at 11:00 AM
Day 19: goodpractice - Package Health Checks

Get comprehensive feedback on package quality

goodpractice::gp()

Checks include:
⬩ Function length and complexity
⬩ Namespace usage
⬩ DESCRIPTION completeness
⬩ Code coverage

Resources: github.com/mangothecat/goodpractice

#rstats #RPackageAdvent2025
GitHub - ropensci-review-tools/goodpractice: Advice on R Package Building
Advice on R Package Building. Contribute to ropensci-review-tools/goodpractice development by creating an account on GitHub.
github.com
December 19, 2025 at 11:01 AM
Reposted by ᴅʀ. ᴍᴏᴡɪɴᴄᴋᴇʟ'ꜱ
For months I've had a pesky message that shows up in my #RStats test logs and today I realized I can figure out exactly where it's coming from with testthat's location reporter

Rscript -e 'devtools::test(reporter = "location")' 2>&1 | tee test.log
December 18, 2025 at 3:44 PM
Day 18: Use linters!

Maintain consistent, readable code style automatically.

Usage:
lintr::lint_package()
styler::style_pkg()

Pro Tip: Add both to pre-commit hooks for automatic code formatting.
Resources: lintr.r-lib.org

#rstats #RPackageAdvent2025
December 18, 2025 at 11:01 AM
Day 17: vcr - Recording API Calls for Tests

Record real API responses for reliable, fast tests without hitting live APIs.

Pro Tip: Commit cassette files to git for reproducible tests across environments.
Resources: docs.ropensci.org/vcr

#rstats #RPackageAdvent2025
December 17, 2025 at 11:02 AM
Day 16: Testing with Mocks using testthat
Test functions that depend on external resources using testthat's built-in mocking.

Pro Tip: Use local_mocked_bindings() to mock functions within the test scope only.
Resources: testthat.r-lib.org

#rstats #RPackageAdvent2025
December 16, 2025 at 11:01 AM
Day 15: Snapshot Testing with testthat

Test complex outputs that are hard to specify exactly.

Pro Tip: Review snapshot changes carefully - they capture everything, including whitespace and formatting.

#rstats #RPackageAdvent2025
December 15, 2025 at 11:01 AM
Reposted by ᴅʀ. ᴍᴏᴡɪɴᴄᴋᴇʟ'ꜱ
GM

Old friend (R code)

Revisiting WORLDS (2021) on its 4th anniversary

Deeply grateful to the supporters who made it possible and continue to encourage creative, systems-driven art

#codeart #genartclub #genart #rstats
December 13, 2025 at 9:11 PM
Reposted by ᴅʀ. ᴍᴏᴡɪɴᴄᴋᴇʟ'ꜱ
I don't think Melissa Van Bussel has an account on here but her content on youtube is really strong!

learning alot about #rstats API's and @quarto.org with her spotify example

www.youtube.com/watch?v=y7Zd...
How to embed media in Quarto projects using iframes - YouTube videos, Spotify songs, and Shiny apps!
YouTube video by Melissa Van Bussel (ggnot2)
www.youtube.com
December 14, 2025 at 4:36 PM
Day 14: testthat 3rd Edition Features
Modern testing with the latest testthat features.

Setup:
usethis::use_testthat(3)

Pro Tip: Use test_that() with descriptive names that explain what should happen.
Resources: testthat.r-lib.org

#rstats #RPackageAdvent2025
December 14, 2025 at 11:01 AM
Day 13: covr - Test Coverage Reporting

Track how much of your code is tested.

use #nocov for code you don't want to cover (like basic R functions etc)

Pro Tip: Focus on testing critical functions thoroughly rather than chasing 100%.
Resources: covr.r-lib.org

#rstats #RPackageAdvent2025
December 13, 2025 at 11:01 AM
Reposted by ᴅʀ. ᴍᴏᴡɪɴᴄᴋᴇʟ'ꜱ
This is a thread about Forwards, the R Foundation task-force on women and other under-represented groups.

We work on accessibility, community, conferences, on-ramps, social media, surveys, and teaching.

forwards.github.io
Forwards
R Foundation taskforce on women and other under-represented groups
forwards.github.io
December 12, 2025 at 4:54 PM
Reposted by ᴅʀ. ᴍᴏᴡɪɴᴄᴋᴇʟ'ꜱ
What luck that this announcement relating to R contribution landed the week that I'm RoCur!

I am unbelievably excited to be part of this team, working with many wonderful people on the sustainability of the language and community we love ❤️
🎉 Big news for the future of #RStats. The project

"Enabling the next generation of R contributors"

has received £500k over 2 years.

- mentoring expert contributors
- modernising infrastructure
- improving governance
- strengthen communication and outreach

www.software.ac.uk/rsmf-round-1...
RSMF Round 1 Projects | Software Sustainability Institute
Round 1 of the Research Software Maintenance Fund awarded just under £3 million to 13 projects selected for their potential to deliver high impact, value for money, feasibility, and quality. The funde...
www.software.ac.uk
December 12, 2025 at 12:19 PM
Day 12: README.Rmd Automation

Create dynamic READMEs that stay up-to-date with your code.

Setup:
usethis::use_readme_rmd()

Include these sections:

󠁯•󠁏󠁏 Installation instructions
󠁯•󠁏󠁏 Basic usage example
󠁯•󠁏󠁏 Lifecycle badges
󠁯•󠁏󠁏 Build status badges

#rstats #RPackageAdvent2025
December 12, 2025 at 11:01 AM
Reposted by ᴅʀ. ᴍᴏᴡɪɴᴄᴋᴇʟ'ꜱ
Looking forward to useR! 2026 in Warsaw, Poland 6-8 July @user-conf.bsky.social @rladies.org @r-forwards.hachyderm.io.ap.brid.gy #rstats
December 11, 2025 at 9:48 PM
Day 11: NEWS.md and Semantic Versioning
Keep users informed about package changes.

Create NEWS.md:
usethis::use_news_md()

Pro Tip: Follow semantic versioning: MAJOR.MINOR.PATCH for breaking.feature.bugfix changes.

#rstats #RPackageAdvent2025
December 11, 2025 at 11:01 AM