ᴅʀ. ᴍᴏᴡɪɴᴄᴋᴇʟ'ꜱ
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
My 2025 Year in Review is out! 📝 A year of deliberate work amidst post-COVID recovery. Highlights: deep dives into #RStats APIs w/ #httr2, the R Package Dev Advent Calendar, & `ggseg` improvements. Focus on sustainable, impactful work. Read more & share your 2025! 👇 https://drmo.site/8NNsxa
January 19, 2026 at 12:20 PM
Managing a Hugo site gets complex fast - builds, dev servers, and getting dependencies where Hugo expects them. Here's how npm scripts solved our R-Ladies website workflow 🧵

#Hugo #NPM #WebDev #BuildTools #OpenSource #Automation
January 16, 2026 at 11:01 AM
My #RPackageAdvent2025 recap is live! 📦✨ Get the complete guide to modern R package development: setup, docs, testing, CI/CD, and CRAN submission. All 25 days of tips, tools, and best practices in one place! Dive in! #RStats #RPackageDevelopment
Link: https://drmo.site/8ny3eU
December 28, 2025 at 10:48 PM
Excited to share my R Package Development Advent Calendar 2025 summary! 🎁 All 25 days of modern R pkg dev in one guide. Master `usethis`, GitHub Actions, `pkgdown`, `testthat`, & CRAN prep. Level up your R packages! 🚀 #RStats #RPackageAdvent2025 #Rpkg https://drmo.site/8ny3eU
December 28, 2025 at 10:37 PM
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
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
5/ The Bottom Line: goodpractice is your package health checkup. Catches issues before they become problems. Run regularly, maintain quality.
December 19, 2025 at 11:01 AM
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
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
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
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
Day 10: lifecycle - Managing Function Deprecation

Communicate changes to users gracefully with lifecycle badges.

Setup:
usethis::use_lifecycle()

Pro Tip: Use lifecycle stages: experimental → stable → superseded → deprecated.
Resources: lifecycle.r-lib.org

#rstats #RPackageAdvent2025
December 10, 2025 at 11:01 AM
Day 8: pkgdown Customization and Deployment

Transform your package documentation into a polished website.

Advanced customization:

Auto-deployment:
usethis::use_github_action("pkgdown")

Pro Tip: Group functions logically in the reference section for better navigation.

#rstats #RPackageAdvent2025
December 8, 2025 at 11:01 AM
Day 7: roxygen2 Advanced Tags and Cross-References 📝

Master documentation with advanced roxygen2 features, with markdown-style writing! 🎯

💡 Pro Tip: Use @inheritDotParams to inherit ... parameter documentation.
📚 Resources: roxygen2.r-lib.org

#rstats #roxygen2 #Documentation #RPackageAdvent2025
December 7, 2025 at 11:00 AM
Day 6/25: Adding dependencies to your #rstats package 🧵

#rstats #RPackageAdvent2025

The Manual DESCRIPTION Problem: You need to add dplyr to your package. Open DESCRIPTION, find Imports, type "dplyr," hope you didn't typo it, wonder if you need a version constraint, forget to sort alphabetically.
December 6, 2025 at 10:45 AM