John Sakaluk
johnsakaluk.bsky.social
John Sakaluk
@johnsakaluk.bsky.social
He/him/his. Associate Professor at Western University.
Work: #rstats, #psychometrics, #dyadic data, #MetaAnalysis, #closerelationships, Sexuality
Fun: All things cured, fermented, roasted, seared, smoked, shaken, stirred, and swizzled.
Pinned
Pleased to share for those using #rstats for analyzing #dyadic data, that we released a major update of dySEM on CRAN (now ver. 1.4.1) *just* before the winter break.

New functionality for scripting/outputting dyadic SEMs, along with (much) more test coverage! 🧵

cran.r-project.org/web/packages...
Reposted by John Sakaluk
This approach is especially useful for #sexuality and #gender questions that use choose-all-that-apply options to better reflect people’s lived experiences (particularly in #trans research). I walk through the data-wrangling process with these examples variables!

📦: knickodem.github.io/CATAcode/
Explore and Code Responses to Check-All-that-Apply Survey Items
Analyzing responses to check-all-that-apply survey items often requires data transformations and subjective decisions for combining categories. CATAcode contains tools for exploring response patterns,...
knickodem.github.io
February 5, 2026 at 9:05 PM
Reposted by John Sakaluk
Started a blog! One of my first posts walks through how to prep your data to use the CATAcode #rpackage (with code + diagrams). With CATAcode, you can easily summarize and visualize responses from choose-all-that-apply questions:

catchingsplinters.wordpress.com/2026/01/27/u...

🧵 1/2
Using CATAcode for Choose-All-That-Apply Sexual Orientation and Gender Questions
In mid-2025, I collected data from trans participants, and some of my survey questions were choose-all-that-apply. Since that time, Merrin and Nickodem (2025) released an R package, CATAcode, to he…
catchingsplinters.wordpress.com
February 5, 2026 at 8:58 PM
Reposted by John Sakaluk
I’ve been thinking about how to find R packages by functionality when you don’t already know the package name.

So over the holidays, Claude Code and I built The Warehouse: a functionality-first R package directory that helps you find packages by what they do.
rwarehouse.netlify.app

#rstats
The Warehouse
rwarehouse.netlify.app
January 27, 2026 at 3:12 PM
Reposted by John Sakaluk
January 26, 2026 at 9:27 PM
Reposted by John Sakaluk
So all colleges and universities will bring back the DEI stuff they cut when obeying in advance right...............................................................................................................................................right?
Re the February Dear Colleagues letter that threatened funding for schools & universities over DEI-related efforts:

‘[Ed Dept]…moved to dismiss its appeal. It leaves in place a federal judge’s August decision finding that the anti-DEI effort violated the First Amendment & federal procedural rules.’
Trump administration drops legal appeal over anti-DEI funding threat to schools and colleges
The Trump administration is dropping its appeal of a federal court ruling that blocked a campaign against diversity, equity, and inclusion threatening federal funding to the nation’s schools and colle...
apnews.com
January 21, 2026 at 7:42 PM
Noah's first foray into trans*-forward psychometrics is a banger! After a certain point, if your construct doesn't behave like you think it ought to, you start to reconsider foundational assumptions about the construct...
Excited about my fun, measurement-y pre-print with the lovely @johnsakaluk.bsky.social
Revising Gender Minority Stress Theory: A Network Psychometrics Perspective: https://osf.io/9j8b5
January 23, 2026 at 2:09 PM
Speaking of #rstats, my buddy Joey Merrin and his colleagues recently published a paper in AMPPS/had an R package "CATAcode" accepted to CRAN.

Looks like a banger set of resources to navigate those finicky "choose-all-that-apply" (CATA) survey questions! Check it out!
January 8, 2026 at 2:03 PM
Reposted by John Sakaluk
After 5 years of data collection, our WARN-D machine learning competition to forecast depression onset is now LIVE! We hope many of you will participate—we have incredibly rich data.

If you share a single thing of my lab this year, please make it this competition.

eiko-fried.com/warn-d-machi...
WARN-D machine learning competition is live » Eiko Fried
If you share one single thing of our team in 2026—on social media or per email with your colleagues—please let it be this machine learning competition. It was half a decade of work to get here, especi...
eiko-fried.com
January 7, 2026 at 7:39 PM
Pleased to share for those using #rstats for analyzing #dyadic data, that we released a major update of dySEM on CRAN (now ver. 1.4.1) *just* before the winter break.

New functionality for scripting/outputting dyadic SEMs, along with (much) more test coverage! 🧵

cran.r-project.org/web/packages...
January 7, 2026 at 4:49 PM
Any exemplars of websites for graduate programs that you feel are especially good at featuring the contents needed, in a sufficiently modern and clear way?

We've started kicking the tires on revamping parts of ours, and I'm curious what inspo is out there
January 5, 2026 at 6:49 PM
Any colleagues working outside of 🇨🇦, and wanting to come to Canada? @westernu.ca/@westernuresearch.bsky.social is also in on the recruitment of Canada Impact+ Research Chairs (www.uwo.ca/research/can...).

Social Psych is one of the areas of research alignment (Democratic and Community Resilience)>
Canada-Impact-Plus - Research - Western University
www.uwo.ca
December 24, 2025 at 3:07 PM
Reposted by John Sakaluk
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
Reposted by John Sakaluk
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 John Sakaluk
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
Reposted by John Sakaluk
3/ Themes for Instant Style:
template:
params:
bootswatch: flatly # or: darkly, cosmo, journal, etc.

20+ professional themes, one line. Try them, pick one that fits your package's personality.
December 8, 2025 at 11:01 AM
Reposted by John Sakaluk
2/ The Bootstrap 5 Upgrade:
# _pkgdown.yml
template:
bootstrap: 5

Modern, responsive, accessible. Bootstrap 5 makes your site look like it's from 2025, not 2015. First impressions matter.
December 8, 2025 at 11:01 AM
TIL I need to up my roxygen2 game
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 23, 2025 at 2:49 PM
Reposted by John Sakaluk
Here's the full writeup, with #rstats examples of both: datavizf25.classes.andrewheiss.com/news/2025-12...
December 9, 2025 at 5:43 AM
Reposted by John Sakaluk
We are absolutely thrilled to welcome Daphna Harel, @daphna.bsky.social, PI of the NYU Queer Data Lab, as a keynote speaker for the rainbowR conference!

For more about the conference, including how to submit a proposal, and to sign-up for updates, see conference.rainbowr.org

#RStats #QueerData
December 3, 2025 at 2:11 PM
Protesting my attending a Dept. meeting while on sabbatical by sharing a few photos from our trip to Ireland, which is an absurdly beautiful place.

We drove all around the Island (both the Republic and Northern) and the (mostly coastal) views were some of the best I've experienced in my life.
December 3, 2025 at 7:31 PM
Reposted by John Sakaluk
Looking forward to this talk! Come join me for a discussion on queer data!
We are absolutely thrilled to welcome Daphna Harel, @daphna.bsky.social, PI of the NYU Queer Data Lab, as a keynote speaker for the rainbowR conference!

For more about the conference, including how to submit a proposal, and to sign-up for updates, see conference.rainbowr.org

#RStats #QueerData
December 3, 2025 at 4:28 PM
Reposted by John Sakaluk
geomtextpath can really help make a plot easier to interpret. Nice to avoid using a legend. #rstats #dataviz
December 2, 2025 at 1:09 PM
Reposted by John Sakaluk
Day 2: devtools - Essential Development Workflow 🔧

The devtools package streamlines your package development workflow with key functions! ⚡

💡 Pro Tip: Use Ctrl/Cmd + Shift + L in RStudio to quickly run load_all().

📚 Resources: devtools.r-lib.org

#RPackageDev #RStats #devtools #RPackageAdvent2025
Tools to Make Developing R Packages Easier
Collection of package development tools.
devtools.r-lib.org
December 3, 2025 at 11:01 AM
Reposted by John Sakaluk
Day 1: usethis - Project Setup Automation 🎯

The usethis package is your best friend for automating repetitive package development tasks! 🤖

💡 Pro Tip: Set up your global options once with usethis::edit_r_profile() to add your name, email, and preferred license.
December 1, 2025 at 11:01 AM
Reposted by John Sakaluk
Would you like to present at the inaugural rainbowR conference?

If you're LGBTQ+, we'd love you to tell us

🦄💻 How you use R
🏳️‍🌈🏳️‍⚧️ How you work with LGBTQ+ data

Call for submissions extended to December 8th.

conference.rainbowr.org/abstracts

#RStats #QueerData
Abstracts – rainbowR conference
conference.rainbowr.org
December 1, 2025 at 10:57 AM