Grant McDermott's Avatar

Grant McDermott

@gmcd

Economics and data science | Former academic now working in the tech sector | Views my own | πŸ‡ΏπŸ‡¦ in πŸ‡ΊπŸ‡Έ | https://grantmcdermott.com/

5,097
Followers
165
Following
666
Posts
07.06.2023
Joined
Posts Following

Latest posts by Grant McDermott @gmcd

Very disrespectful to do that at HQ!

21.02.2026 16:18 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

My original poast didn't get much love (πŸ₯²), but co-opting the data.table print method for base #rstats data.frames is fairly straightforward. bsky.app/profile/gmcd...

(Ofc there are many other advantages to DT, but just sticking with the print method for now.)

20.02.2026 23:14 πŸ‘ 9 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0
A nicer print.data.frame method showing column types, as well as a subset of rows. Inspired by data.table's print method.

A nicer print.data.frame method showing column types, as well as a subset of rows. Inspired by data.table's print method.

I think the main issue is that many people, quite reasonably tbf, don't like the default base data.frame print method...

But this is easy to override! gist.github.com/grantmcdermo...

20.02.2026 21:07 πŸ‘ 19 πŸ” 5 πŸ’¬ 0 πŸ“Œ 1
A nicer print.data.frame method showing column types, as well as a subset of rows. Inspired by data.table's print method.

A nicer print.data.frame method showing column types, as well as a subset of rows. Inspired by data.table's print method.

I think the main issue is that many people, quite reasonably tbf, don't like the default base data.frame print method...

But this is easy to override! gist.github.com/grantmcdermo...

20.02.2026 21:07 πŸ‘ 19 πŸ” 5 πŸ’¬ 0 πŸ“Œ 1

Institutions FTW

14.02.2026 19:06 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Can't wait for that Grand Slam decider in Paris on March 14.

* touches earpiece

Hold on, I'm getting new information...

14.02.2026 18:53 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Not even that. Why take a lineout outside the 22, when you've got the opposition under the kosh and at probable risk of a card?

14.02.2026 18:35 πŸ‘ 3 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

Not to rub it in, but since we're on bad tactical decisions... you know that Rassie would have called for more scrums when the Scottish front row were giving aways penalties and on those warnings.

14.02.2026 18:30 πŸ‘ 4 πŸ” 2 πŸ’¬ 2 πŸ“Œ 0

Scottish boxkick for MOTM.

14.02.2026 18:23 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Check out the new paper! And please please please send us both gut reactions and harsh criticism.

11.02.2026 17:10 πŸ‘ 74 πŸ” 9 πŸ’¬ 4 πŸ“Œ 0

Okay, okay! I guess I have to actually try this out now @apoorvalal.com.

12.02.2026 01:13 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I made a Ghola

12.02.2026 00:44 πŸ‘ 10 πŸ” 1 πŸ’¬ 2 πŸ“Œ 1

Mainly the fact that I didn't think of it πŸ˜…

I thought it would be cool to try something lightweight via R's native C API. But if someone figures out a nice way to port Positron's ragg-based functionality then I'd fully support that. Mostly, I just think we need to move on from httpgd & co.

09.02.2026 02:16 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I spell out the motivation in the README. The _tl;dr_ version is that I'm trying to avoid some tiresome `httpgd` CRAN issues. `jgd` is intended as a lightweight (and hopefully robust) alternative that could be integrated into the main extension in the future. Help and testers welcome!

09.02.2026 00:47 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
GitHub - grantmcdermott/jgd: Lightweight R graphics device Lightweight R graphics device. Contribute to grantmcdermott/jgd development by creating an account on GitHub.

#rstats In very non-Superbowl news, here's an experimental πŸ“¦ for nice graphics display and UX in VS Code (and other potential front-ends).

github.com/grantmcdermo...

09.02.2026 00:47 πŸ‘ 12 πŸ” 8 πŸ’¬ 1 πŸ“Œ 0

<Andrew Baker voice> Upper hemicontinuity, please.

06.02.2026 05:17 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Cool idea, but you'd need at least 30 of each for the central limit theorem to lock in, which will blow through your tokens.

06.02.2026 05:07 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Why code like yourself when you can code like someone else?

In seriousness, there's obviously value in having good "community" templates. But I do think there's a lot of embedded skill in the structure of applied projects (not just the code, but the flow of the analysis).

06.02.2026 04:14 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

bsky.app/profile/gmcd...

06.02.2026 04:00 πŸ‘ 9 πŸ” 0 πŸ’¬ 3 πŸ“Œ 0

πŸ€” I don't think it would be the package source.

In the above code snippet, you need to load the languageserver package before running .vsc.attach(). But that should happen automatically if you execute any lines of code from VS Code (Cmd + Enter). Maybe worth raising an issue on the arf repo?

03.02.2026 16:19 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

This should work:

bsky.app/profile/gmcd...

03.02.2026 05:13 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Agree, it's very good and my default for personal use (alongside R.nvim).

But our primary compute/coding interface at work is a vscode.dev -alike deployment environment. So I still use VS Code a lot and rely on the "traditional" extension model.

01.02.2026 18:03 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

DuckDB is just the default. You can pass through any backend supported by DBI.

The other differences (I'm guessing?) are that we use a few acceleration tricks to speed up computation and calculate robust SEs. I'd need to compare the docs. No harm having multiple πŸ“¦ options, though ;-)

01.02.2026 01:02 πŸ‘ 3 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
tinyplot: convenient and customizable base R plots - Grant McDermott
tinyplot: convenient and customizable base R plots - Grant McDermott YouTube video by useR! Conference

+1 and the ggplot2 team have also tried to excise some of their heavier 3rd party dependencies recently.

But James, to your question, yes the focus on graphics was the deliberate gap we set out to fill. It's something I spoke about in my useR talk. youtu.be/MOB-QS-vMeY?...

31.01.2026 23:28 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

🀩🀩

Much appreciated, Kieran.

Looking forward to the 2nd edition!

31.01.2026 23:12 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

1. In your terminal: get the arf executable path with `which arf`.

2. In VS Code, open your settings and search for "r.rterm". Add the path that you got in step 1 to your OS variant.

P.S. Unlike radian, you don't need to check the "r.bracketedPaste" option.

31.01.2026 22:04 πŸ‘ 0 πŸ” 1 πŸ’¬ 0 πŸ“Œ 1

Thought of you when I was posting this. `sircon` gets a nice mention in the acknowledgements... but cross-platform is obvs an important feature.

31.01.2026 21:57 πŸ‘ 2 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0
Alberson Miranda :rstats: (@albersonomiranda@fosstodon.org) @eitsupi wow, it's so fast! I've just tried `rep(mtcars, 5000)` in radian and arf, and the difference was 10x 🀯 Great job!

P.S. Another positive comparison: fosstodon.org/@albersonomi...

31.01.2026 18:45 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I think so. Definitely more lightweight and portable (single installable binary vs Python dependency tree and associated venv/tool faffing).

Shima (eitsupi@) is a top-notch developer too, so I'm bullish about long-term prospects.

Give it a go and LMK your thoughts.

31.01.2026 18:29 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

β™₯️

31.01.2026 17:31 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0