Elektrine
Log in Register
Paige Chat Timeline Gallery Friends Email Drive DNS Private DNS Domains VPN Kairo Nerve
Remote

Ryan McShane, Ph.D.

@ryanmcshane@fosstodon.org
mastodon 4.7.3
  • Open on fosstodon.org

Assistant Instructional Professor at the University of Chicago.

Researching ♻️ intransitivity in paired comparisons :fediverse:, pedagogy in sports analytics courses 🏀👨‍🏫, and tracking data 🛰🐟〰️➰️.

More broadly, I'm here for #DataScience, #DataViz, data/generative art, #SportsAnalytics, #Statistics, #RStats, #R4DS, #TidyTuesday, and peer academic/professional updates.

#GSG 🇩🇪🇺🇸

https://www.ryanmcshane.com

138 Followers
102 Following
21 Posts
Joined November 06, 2022
Website:
https://ryanmcshane.com
GitHub:
https://github.com/math-mcshane
Twitter:
https://twitter.com/math_mcshane
LinkedIn:
https://linkedin.com/in/ryan-mcshane
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 3mo ago
Boosted by @GroupNebula563@mastodon.social
RE: https://mastodon.social/@GroupNebula563/116854524301748394 Amen
Open quoted post
Quoting
👻 Furbland's Very Spooky Account™ 👻
@GroupNebula563@mastodon.social
AI can pry the em dash—and the Oxford comma—from my cold, dead, and third adjective hands
Open quoted post
mastodon.social

Furbland's Very Error 503 Account™: "AI can pry the em dash—and the Oxford comma—from …" - Mastodon

1
0
2
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 12mo ago

OK #PositConf2025 -- I acquired most of the stickers I heard were available; here's my final score! (Thanks for the assists @ivelasq3@fosstodon.org ({dtplyr}!!!) @kellybodwin@fosstodon.org and @emilhvitfeldt@fosstodon.org ). I'll be re-distributing many of these to my students as leaderboard prizes 👩‍🎓👨‍🎓 #rstats

fosstodon.org
6
1
1
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 7mo ago

@djnavarro@hachyderm.io this is a legal way to draw disjoint sets; I will die on this hill

2
0
0
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 12mo ago

Just finished my first #rstats #TidyDevDay! It might have been a net negative on open issues, because I:

* opened an issue each in {pak}, {roxygen2}, and {gitcreds}
* submitted a PR to {forcats}
* submitted a PR to {usethis} (needs corrected test)

But at least I got this selfie with @hadleywickham@fosstodon.org 🫠😆

fosstodon.org

Fosstodon

4
0
0
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 24mo ago
Replying to
@coolbutuseless agree! I just learned about this from HoPR (somehow I missed this little call out box the last two times i read this book) https://rstudio-education.github.io/hopr/r-notation.html#fig:positive I wrote multiple functions for my dissertation that failed when a matrix became a vector in specific situations... I worked around with as.matrix() when the result was a vector. "drop = FALSE" would have saved so much time. Like, days.
6 R Notation | Hands-On Programming with R
rstudio-education.github.io

6 R Notation | Hands-On Programming with R

This book will teach you how to program in R, with hands-on examples. I wrote it for non-programmers to provide a friendly introduction to the R language. You’ll learn how to load data, assemble and disassemble data objects, navigate R’s environment system, write your own functions, and use all of R’s programming tools. Throughout the book, you’ll use your newfound skills to solve practical data science problems.

2
0
1
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 24mo ago

OK #rstats @rstats@a.gup.pe community, time for maybe a dumb question, but here it goes. We call = and <- "left-assign[ment] operator[s]" in this case:

x <- 5
y = 7

What do we call = inside of a function call when we set a parameter? :

foo(x = 3)

I read it as "call foo with x set to 3" and haven't really given the name of = too much thought.

fosstodon.org

Fosstodon

2
32
5
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 24mo ago
Replying to
@wardrup@babka.social @rstats@a.gup.pe since you asked... they are virtually identical. BUT there are differences discussed in this heavily viewed question on Stack Overflow from 14 years ago: https://stackoverflow.com/questions/1741820/what-are-the-differences-between-and-assignment-operators Style guides disagree on which to use -- the tidyverse style guide by @hadleywickham@fosstodon.org says <- while the ML3 style guide (https://github.com/mlr-org/ml3/wiki/Style-Guide ) says use = . I use = because it's easier to type and is more readable to "non-native R Speakers", but I allow my students to use either.
stackoverflow.com
2
5
2
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 18mo ago
Replying to
@jimjamslam@aus.social neat! I've tried a few hacky gradients over the years; these look much nicer!
1
0
0
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 24mo ago
Replying to
@gws@fosstodon.org @jonthegeek@fosstodon.org "Parameter assignment operator" seems like the safest way to describe "=" in foo(x = 3) Especially in light of this debate: https://stackoverflow.com/questions/156767/whats-the-difference-between-an-argument-and-a-parameter I do recall The Art of R Programming calling "formal parameter" and "formal argument" the same thing (x) in comparison to "actual argument" (3).
stackoverflow.com
1
0
0
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 24mo ago
Replying to
@klmr@mastodon.social oh hi! I remember reading your answer years ago. I thought the whole thread was fascinating and had fun in your fun repo!
1
0
0
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 24mo ago
Replying to
@defuneste@fosstodon.org check this out, too: df1 = data.frame(a = letters) df2 = data.frame(a <- letters) names(df1) [1] "a" names(df2) [1] "a....letters" names(df1) == names(df2) [1] FALSE
1
0
0
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 24mo ago
Replying to
@JorisMeys@mstdn.social @wardrup@babka.social @rstats@a.gup.pe I didn't realize there were {base} functions that use NSE! TBF, there are many {base} functions (~1000). I'm still wobbly on some of the nitty gritty details of NSE.
1
3
1
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 6mo ago
Replying to
@coatless (but only in console, editor is fine)
0
0
0
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 6mo ago
Replying to
@coatless tried it! Didn't work. Just sent in a bug report via your built-in tool.
0
2
0
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 24mo ago
Replying to
@mjskay@fediscience.org OK that is interesting from the R language guide. I think R4DS also uses the word "set" in the same way we might in mathematics. But "tagging" is such an interesting choice of words, and it has been distinguished from setting default values (which are not said to be tagged).
0
0
0
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 24mo ago
Replying to
@jonthegeek@fosstodon.org I, too, checked the bible of R programming to no avail 😅. R4DS uses "sets" and I think HoPR avoids names (?). Yes, I was hoping a CS languages type would chime in with a formal name for what = is doing in a function call
0
3
0
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 22mo ago
Replying to
@michaelchirico@fosstodon.org I use Norman Matloff's The Art of Programming in R to supplement my course notes; it was the only place I had seen the phrase "formal" argument... he would be so proud. Whether this symbol has a name has been a mystery to me for a while! Formal assignment operator? Also @yume@mi.yumechi.jp thanks for showing me this function; it's been very helpful for writing autograder tests (e.g. "did students use a for loop to answer this question with easy vectorization", etc).
0
5
0
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 22mo ago
Replying to
@michaelchirico@fosstodon.org I'll have to double back on that again, then. I tried my hand at rewriting the indentation linter but couldn't get anywhere! (I wanted to customize when indentation was allowed).
0
3
0
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 22mo ago
Replying to
@michaelchirico@fosstodon.org I wasn't opposed to working on linters in lintr earlier this summer and when I commented on that issue, I just underestimated the scope of the problem(s)! Feeling better about my metaprogramming (or meta-meta?) skills over time, but still learning about that level of abstraction and getting comfortable.
0
0
0
0
Open post
Ryan McShane, Ph.D. @ryanmcshane@fosstodon.org
· 24mo ago
Replying to
@yume@mi.yumechi.jp where does one see EQ_SUB and EQ_ASSIGN? Is it during compilation; and are there functions to inspect such names?
0
8
0
0
Back
313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

I2P eepsite

j6b6cyk6gjmepjih7jjadxgxvvf3lzzujljuu2v4biemzpg3naya.b32.i2p

Platform

  • Email
  • Chat
  • Timeline
  • VPN
  • DNS

Company

  • About
  • Contact
  • FAQ
  • Lite (no JS)

Legal

  • Terms of Service
  • Privacy Policy
  • Transparency Report
  • Report Abuse
  • Warrant Canary
  • VPN Policy

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 02:25:10 UTC