An opinionated view of the Tidyverse “dialect” of the R language
I teach and consult on R and data science. I had the privilege of learning R from one of R&#x27;s core developers. My students often ask why I don&#x27;t use the Tidyverse. The answer is because I don&#x27;t need to - I can do everything the Tidyverse does and so much more in base R.<p>This article only briefly touches on what I think is the biggest issue with the Tidyverse. The Tidyverse is incredibly limiting. The &quot;tidy&quot; workflow hides many details of the language, which leads many users to think all data has to be in a tidy &quot;data.frame&quot; (or now tibble) and organized just so. The functions the Tidyverse authors have chosen to implement are seen as the limits of R&#x27;s capabilities. Every data problem has to be forced into the Tidyverse box (or it is impossible). I cannot tell you how many Tidyverse scripts I have seen where 90% of the operations are munging the data into the correct format for the Tidyverse functions, when the original data can be handled with a single base R function (e.g. lapply). Most Tidyverse users accept this as just the way R is.<p>Most R users who only learn the Tidyverse never hit its limits, and for them the Tidyverse is perfectly OK. Those that do either resign themselves to the perceived limits of R, or (hopefully) start learning some base R. One friend who took the latter path once exclaimed to me &quot;Logical subsetting is amazing!?!&quot; - this is a foundation piece of the language. That she went 2+ years in the &quot;Tidyverse&quot; without even knowing it was an option was eye opening to me.<p>To its credit, the Tidyverse is empowering - with very little programming knowledge a beginner can do a lot of data science. However, the majority of these people get stuck as &quot;expert beginners&quot;. Some of these become fierce advocates of the Tidyverse without truly understanding base R. Meanwhile, none of the truly advanced R users I encounter use the Tidyverse.<p>ed.typo