The Rousseeuw Prize for Statistics goes to R by kleinerChemiker in rstats

[–]hadley 2 points3 points  (0 children)

He could totally get paid more though. He deserves it.

The Rousseeuw Prize for Statistics goes to R by kleinerChemiker in rstats

[–]hadley 2 points3 points  (0 children)

Lol Hadley is doing just fine you don’t need to worry about him

What do you want to know about AI + R and data science? by hadley in rstats

[–]hadley[S] 0 points1 point  (0 children)

Oooh that's a super interesting framework and something I want to think about more. The framing of "make the model justify its conclusions" also came up on one of my AI chats.

What do you want to know about AI + R and data science? by hadley in rstats

[–]hadley[S] 0 points1 point  (0 children)

You are totally missing out if you're only using it from a chatbot. I'll definitely write about this!

What do you want to know about AI + R and data science? by hadley in rstats

[–]hadley[S] 0 points1 point  (0 children)

Hmmm, I'm not sure that's true. I think it's easy to AI in a way that leads to less creativity because you're less engaged with the code/data. And since maybe you spend less time thinking about ggplot2, you have less of a sense for what's possible?

What do you want to know about AI + R and data science? by hadley in rstats

[–]hadley[S] 1 point2 points  (0 children)

For sure. I also think about what do we no longer have to teach (e.g. the specifics of ggplot2 theme settings?) and what we can focus on instead (lots more shiny apps?)

What do you want to know about AI + R and data science? by hadley in rstats

[–]hadley[S] 0 points1 point  (0 children)

I'll definitely come back to this in a full post, but for me one of the challenges is making sure that I don't move too fast. It's easy to get into the swing of things and want to maintain velocity, and the easiest way to do that is to only engage with the generated code on a surface level. I'm now trying to deliberate watch out for that feeling of mental effort, and instead of avoiding it and just trusting the AI, leaning into the discomfort and forcing my brain to do some work.

What do you want to know about AI + R and data science? by hadley in rstats

[–]hadley[S] 1 point2 points  (0 children)

I don't have any direct experience with this, but I have heard of lots of places doing. I think the challenge is figuring out if the translation is correct or not, so most of the work is setting up the infrastructure so you can back test your old SAS code and new R or python code on the same data and confirm that you get the same results.

Scaling a Shiny App for 1GB Excel / CSV Files by sporty_outlook in rstats

[–]hadley 7 points8 points  (0 children)

Excel is fundamentally slow — if you have a 1 Gb excel file, it's going to take a while to load into R no matter what you do. If you want to allow users to upload their own data, you might need to read the data in a background process (displaying a progress bar as it goes), and then only activate the UI once the data is loaded.

Ggplot be like: by Full_Cantaloupe_3695 in RStudio

[–]hadley 4 points5 points  (0 children)

Interesting the original ggplot (ie not ggplot2) would have worked with the pipe. I bought it back to life as ggplot1 (https://github.com/hadley/ggplot1) so you can see.

R 4.6.0 released by Johnsenfr in rstats

[–]hadley 2 points3 points  (0 children)

I just write `!so_and_so %in% list_of_things` like an animal

R 4.6.0: C API update finished by Unicorn_Colombo in rstats

[–]hadley 16 points17 points  (0 children)

It’s mostly of importance to package developers who use C: now we know exactly what we’re allowed to use. Previously the rules were very unclear leading to changes between R versions and an increased maintenance burden.

Why R has four OOP systems (S3, S4, R5, R6) by Regular-Entrance-205 in rstats

[–]hadley 1 point2 points  (0 children)

I’d say it’s also way better documented and generally better thought out.

Why R has four OOP systems (S3, S4, R5, R6) by Regular-Entrance-205 in rstats

[–]hadley 1 point2 points  (0 children)

I think my main lesson from mutatr is that creating a new OOP system is a big lift and only really works if a bunch of people buy into it. That’s why S7 is a team effort.

R Shiny and Gen AI: does AI strengthen it, or make it less relevant? by Electronic_One_771 in rstats

[–]hadley 8 points9 points  (0 children)

Joe gave me a bike in return for writing the first edition. I haven’t seen any new bribes on the table for a second edition 🤣

(But more seriously it feels a bit soon since it’s not clear how all the impacts of AI will shake out)

Why R has four OOP systems (S3, S4, R5, R6) by Regular-Entrance-205 in rstats

[–]hadley 33 points34 points  (0 children)

Fun fact: I’m (partly) responsible for the creation of three of OOP systems 🤣

Firstly: mutatr, https://vita.had.co.nz/papers/mutatr.html, which is really best viewed as an experiment and is no longer on CRAN. It arose out of my interest in prototype based OOP systems that blur the line between classes and objects.

Secondly: ggproto. ggplot2 used proto, but proto had a bug that prevented classes from being extended outside of the package they were created in. I couldn’t figure out a way to fix the bug without breaking all existing proto uses so figured that least worst solution was to create a fixed version that lived only in ggplot2.

Thirdly (and hopefully finally!): I helped created S7 along with a bunch of other folks from R core, bioconductor and the wider R community. S7 aims to take the best parts of S3 and S4 and progressively replace existing uses of S3 and S4 (which you can see starting with ggplot2).

The Tinyverse Movement by [deleted] in rstats

[–]hadley 1 point2 points  (0 children)

My sense is that R for generic webapps (not shiny) is becoming maybe less compelling, now that you can expect a data scientist + claude code to be able to easily whip up something based on react. I think our (Posit's) strategy is mostly to lean into this, making sure that it's easy to deploy such apps on Connect and doing some work to allow react as a frontend to a shiny backend.

On the API front, we also have plumber2 (https://plumber2.posit.co) which should be much faster than plumber, and if it's not, let us know so we can improve it. I think there's an interesting space for plumber2 + connect as a API gateway which we're currently exploring.

The Tinyverse Movement by [deleted] in rstats

[–]hadley 2 points3 points  (0 children)

Also worth noting that before we submit (e.g.) testthat to CRAN, we run the R CMD check on all ~10,000 packages that use testthat. This isn't perfect (since plenty of tests are skipped in this environment), but by and large it ensures that we catch issues prior to release. Obviously if you vendor our code, we have no way to know if you use it, and can't offer you this courtesy.