Ryan McShane
ryanmcshane.bsky.social
Ryan McShane
@ryanmcshane.bsky.social
Statistics professor at The University of Chicago
* Researching intransitivity in paired comparisons, pedagogy in sports analytics courses.
* Data viz enthusiast.
* #RStats
* #GSG 🏀🇩🇪🇺🇸

ryanmcshane.com
`^` >> `**`
November 6, 2025 at 1:16 PM
R accepts exponentiation like a**b (equivalent to a^b), possibly to be nice to SAS users? I think a**b is pretty common.

stat-37815-au24.ryanmcshane.com/l03-baserfun...
3  Base R Fundamentals – STAT2/37815: Practical R Programming
stat-37815-au24.ryanmcshane.com
November 6, 2025 at 1:28 AM
Cool! Can't wait!

FWIW, I think I ran into the same issue Davis ran into in the issue you linked:

github.com/quarto-dev/q...
Reformating R cell in VSCODE with air does not correctly close chunk · Issue #745 · quarto-dev/quarto
Originally posted at posit-dev/air#374 (comment) But it seems Quarto: Format Cell is a feature from Quarto extension. Not sure where to post this finding, if this is Quarto VSCODE extension that in...
github.com
October 16, 2025 at 4:54 PM
I would share for testing but all of my source repos are on private! ~~Github Copilot~~

Is the goal to run this before using Air on QMDs?
October 16, 2025 at 3:25 PM
Nabbed it! (Thanks; also enjoyed the read)

I actually prefer the range bar to the box plot and have been scheming to write an M.E. Spear {ggplot2} extension since this exchange (I just haven't had the time), which probably benefited from your linked 2016 blog post:

github.com/tidyverse/gg...
`geom_boxplot` Whiskers never appear when IQR = 0 (`upper - lower = 0`) · Issue #5511 · tidyverse/ggplot2
I found a problem with ... geom_boxplot I expected ... Whiskers to appear. There's no convenient way to get whiskers to appear when IQR = 0 (upper - lower = 0) (that I am aware of*). Setting coef =...
github.com
October 12, 2025 at 11:12 PM
Ahhh! I've been looking for something like this for my blog!

(Wait... it's in Distill... is Distill still .Rmd-only?)
October 11, 2025 at 1:32 PM
Yeah, I got a swag bag from #PositConf2025 and the Posit-branded S-Gel pen is in heavy rotation at the moment. I have dozens of other S-Gel pens, but this one has a special place in my heart. Will disassemble others for a refill.

I still use a MIT Sloan Sports Analytics Conf water bottle from 2017!
October 5, 2025 at 6:51 PM
I wrote a wrapper around {knitr} kable and {kableExtra} kable_styling that I put at the top of every HW assignment I give to students (output is always PDF). I also have it in all of my Beamer slides 😬

It makes kable tables nice by default.

You can still call, e.g. knitr::kable, too!
September 24, 2025 at 9:06 PM
abba, abc, xyz, xx, yy, and temp are my most commonly used placeholders/temporary names

Are there even rules against this, though?
"Thou shalt not have draft code!"?
September 24, 2025 at 5:56 PM
I came here to make this comment. Beat me to it!

= forever
September 24, 2025 at 5:37 PM
CHI - United Center is ~2 mi away
MIL - 1.5 hr drive
MIN - staying in IA with s/o's bro (7hr drive)
DEN - staying in CO with s/o's other bro (flight)
CLE - 5.5 hr drive (hotel req)
IND - 3 hr drive

(All on days that work nicely with academic calendar)
September 21, 2025 at 1:01 AM
It's rough being away from home and a Spurs fan! NBA Team Pass has been helpful for the past decade, and I've been catching road games for the past couple of years, too! (This season: CHI, MIL, MIN, DEN, CLE, IND) #gsg
September 20, 2025 at 11:11 PM
I might need to do this to keep up with my collection.

I have space for maybe two more, but I could fit even more if I moved some around; I'm scared to death of doing that!

I know I've seen guides around the internet on how to convert these hex stickers to magnets, but I've lost track of them 🙈
September 20, 2025 at 6:56 PM
Did my neighbor and I immediately check to see if our coins stuck together like magnets? Yes.

But also, the backside is a relief rendering of the {tidyverse} hex logo, so it feels trying to put a magnet on would undo one of the sides 🙃🫠
September 20, 2025 at 6:41 PM
I also fixed the 2nd PR this morning.

Both of my PRs were about transitioning from the {magrittr} pipe to the Base R pipe — one to clean up {forcats} examples/vignette, and one to deprecate a {usethis} function that makes it easy to add %>% to a package.

github.com/r-lib/usethis/pull/2183
Deprecate `use_pipe()`. Fixes #2124 by math-mcshane · Pull Request #2183 · r-lib/usethis
Completed: Added a short deprecation message when using use_pipe(), Added a longer bit of advice in the package documentation for common substitutions, including the 2023 blog post on the base pip...
github.com
September 20, 2025 at 4:09 PM
A couple and the coin!
September 20, 2025 at 4:03 PM
In the "super rare" section at the bottom next to flair!
September 19, 2025 at 2:18 AM
Why not both? I use Quarto *and* modify the theme with a .sty file (for mathy courses with less code where Beamer makes a little more sense). And my regular reveal.js slides attempt to mimic that Beamer style with css/scss 😬
September 18, 2025 at 6:39 PM
Oh. My.
September 12, 2025 at 12:16 AM
@grrrck.xyz I finally implemented {ggcheck} in my early {ggplot2} assignment autograders (in past 2 weeks, even!)

Do you/a colleague know how this will impact {ggcheck}? Seems like there's some backwards compatibility currently built in, but Teun noted in post that will eventually be phased out.
September 12, 2025 at 12:14 AM