Ready for R Mailing List

Subscribe
Archives
July 15, 2025

Ready4R (2025-07-14): Summer Reading List

Welcome to the Weekly Ready for R mailing list! If you need Ready for R course info, it's here. Past newsletters are available here.

Sharing some summer data related reads for you all. If there's a great article you want to share, please add it to the comments!

A personal history of the tidyverse

I think this article by Hadley Wickham has not gotten enough hype. It is fascinating to me, especially hearing about his journey Hadley talks about where the tidyverse started, especially in deciding the verb approach for dplyr:

The design of dplyr was centred around verbs like filter(), mutate(), and summarise(), with names that evoked their desired purpose. Each verb did one thing well, and was designed to compose with other verbs in order to solve complex problems. While dplyr does require some big new ideas, I found that students learned them much more easily than functional programming.

As an educator, I find it really neat that student feedback was part of the development process for starting the tidyverse. I've heard this as well from David Gerbing about developing his lessR package, which he uses to teach his business and finance students. Maybe student-driven development should be a thing.

Polars for R

https://ddotta.github.io/cookbook-rpolars/

We are seeing the rise of language-agnostic data frameworks. The strength of this approach is that a multi-language team is able to work together. Querying the data is not tied to a particular language - data scientists can work in the language they are most comfortable with.

One of the up and comers is Polars, which the developers call "DataFrames for the new era". Polars is implemented in Rust, which is a low-level language that emphasizes speed and safety.

The Polars for R Cookbook by Damien Dotta is chock full of examples of working with Polars. A lot of the syntax is very Pandas-like, which might take some getting used to:

pl$DataFrame(iris)$filter(pl$col("Petal.Length") > 6 & pl$col("Petal.Width") < 2)

This is very different than most of us are used to. pl is known as the Polars Namespace, and all of the polars related methods are under this. For example, declaring a dataset as a datafame is done like this:

pl$DataFrame(iris)

Because all of the Polars methods are under the pl object in R. This is an example of an R6 object.

We can chain Polars methods by adding on another $, such as:

pl$DataFrame(iris)$filter(...)

Which is why I'm grateful there's a cookbook dedicated for this.

Against Brain Damage

Against "Brain Damage" - by Ethan Mollick

AI can help, or hurt, our thinking

Because we can't get away from AI, I thought this post from Ethan Mollick about how to use AI successfully while learning was very interesting. One of the findings:

When they were told to use ChatGPT without guidance or special prompting, they ended up taking a shortcut and getting answers. So even though students thought they learned a lot from ChatGPT's help, they actually learned less - scoring 17% worse on their final exam (compared to students who didn't use ChatGPT).

There are good ways, and bad ways to use LLMs while learning.

The AI is trained to be helpful and answer questions for you. Like the students, you may just want to get AI guidance on how to approach your homework, but it will often just give you the answer instead. As the MIT Media Lab study showed, this short-circuits the (sometimes unpleasant) mental effort that creates learning.

Not all of the news is bad:

While it is still early, we have increasing evidence that, when used with teacher guidance and good prompting based on sound pedagogical principles, AI can greatly improve learning outcomes.

Anyhow, it's a very thought provoking article and hope you find it interesting.

What's Your Summer Reading?

Any articles or books you're excited about? Post them in the comments!

Thanks for Reading!

Hope everyone's summer is going ok. If it isn't, please take care of yourself.

Best, Ted

Don't miss what's next. Subscribe to Ready for R Mailing List:
Start the conversation:
Powered by Buttondown, the easiest way to start and grow your newsletter.