PhD Cognitive Neurosciences 🧠
@rladies.org Global Team.
#Rstats #Nerd 🌈🏳️🌈
https://Drmowinckels.io
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
25 days. Complete modern R package development workflow. From usethis automation to CRAN submission. You have everything you need!
#rstats #CRAN #RPackageAdvent2025 #ThatsAWrap
25 days. Complete modern R package development workflow. From usethis automation to CRAN submission. You have everything you need!
#rstats #CRAN #RPackageAdvent2025 #ThatsAWrap
Final steps for successful CRAN submission.
Pro Tip: Be proactive about communicating any unusual aspects of your package to CRAN reviewers.
#rstats #RPackageAdvent2025
Final steps for successful CRAN submission.
Pro Tip: Be proactive about communicating any unusual aspects of your package to CRAN reviewers.
#rstats #RPackageAdvent2025
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.
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.
Handle user expressions safely in package functions.
Pro Tip: Use {{ }} (embrace) for single arguments, ... for multiple arguments.
Resources: rlang.r-lib.org
#rstats #RPackageAdvent2025
Handle user expressions safely in package functions.
Pro Tip: Use {{ }} (embrace) for single arguments, ... for multiple arguments.
Resources: rlang.r-lib.org
#rstats #RPackageAdvent2025
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
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
rladies.org/meetupr/
#rstats #rladies
rladies.org/meetupr/
#rstats #rladies
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
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
Test your package on multiple platforms before CRAN submission.
Resources: r-hub.github.io/rhub/
#rstats #RPackageAdvent2025
Test your package on multiple platforms before CRAN submission.
Resources: r-hub.github.io/rhub/
#rstats #RPackageAdvent2025
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
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
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
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
Rscript -e 'devtools::test(reporter = "location")' 2>&1 | tee test.log
Rscript -e 'devtools::test(reporter = "location")' 2>&1 | tee test.log
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
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
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
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
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
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
Test complex outputs that are hard to specify exactly.
Pro Tip: Review snapshot changes carefully - they capture everything, including whitespace and formatting.
#rstats #RPackageAdvent2025
Test complex outputs that are hard to specify exactly.
Pro Tip: Review snapshot changes carefully - they capture everything, including whitespace and formatting.
#rstats #RPackageAdvent2025
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
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
learning alot about #rstats API's and @quarto.org with her spotify example
www.youtube.com/watch?v=y7Zd...
learning alot about #rstats API's and @quarto.org with her spotify example
www.youtube.com/watch?v=y7Zd...
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
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
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
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
We work on accessibility, community, conferences, on-ramps, social media, surveys, and teaching.
forwards.github.io
We work on accessibility, community, conferences, on-ramps, social media, surveys, and teaching.
forwards.github.io
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 ❤️
"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...
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 ❤️
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
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
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
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