7 ms·
Frankly the bigger problem is an over reliance among R instructors on the tidyverse, an ever-expanding ecosystem of redundant functions and anti-patterns. They’
by Mairoce 3mo ago
Frankly the bigger problem is an over reliance among R instructors on the tidyverse, an ever-expanding ecosystem of redundant functions and anti-patterns. They’re teaching new R users that everything can be solved with yet another package import and skipping over teaching them how to use the already powerful and intuitive base packages.
- mjhay 3mo agoI’m not saying it doesn’t have flaws, but the tidyverse is still the most coherent and functional ML/stat computing ecosystem I’ve ever used. R packages outside of the tidyverse can get pretty gnarly. Even the R stdlib is usually considered to be inconsistent and riddled with legacy cruft.
- 331c8c71 3mo agoIt's certainly quite pleasant to work with...but I would rather use sql for etl, the backend be whatever it needs to be... The real world data transformations can get gnarly very quickly and sql is the perfect common debiminator compared to dplyr which is still niche... How do you feel about polars?
- mjhay 3mo agoI’m a big fan of Polars. It’s really fast and memory efficient. With the lazy streaming functionality, I’ve been able to easily process 1 Tb+ data on a single machine (you do have to be careful to not do any operation that would cause the whole DF to materialize in that case). It’s certainly miles better than Pandas, which has a terrible API in addition to being comically inefficient. In my group, we generally use it for any new work, and have also swapped out pandas for polars in critical spots of our existing code - the latter giving a huge benefit relative to the amount of work it took. I largely agree with you on SQL being the common denominator, but there are some things that are just awkward in SQL, and much easier to do in Python or other general purpose language.
- pks016 3mo agoI would be in minority. But, I don't like tidyverse ecosystem. I prefer data.table for most of my uses.
- donkeyboy 3mo agoData.table is just so much faster, and the sql-like stntax is easier tonunderstand
- chocochunks 3mo agoI can never remember the data.table syntax, every time I use it I have to re-learn it. It doesn't feel very SQL to me either. There is an interface to use tidy syntax on data.tables and get's you 90% of the speed.
- pks016 3mo agoI can relate. I remember my most used syntax, but I have to search once in a while.
- Mairoce 3mo agoThe core of the problem is that the tidyverse is trying to turn R into a user-friendly real-time calculator, rather than a tool for stable, deterministic, and literate data analysis.
- levocardia 3mo ago"The real problem with this package is that it makes things easy, instead of hard"
- Mairoce 3mo agoThat’s a rather glib interpretation of what I said. I’m being rather charitable when I call the tidyverse “user-friendly”. That might be the goal of tidyverse devs, but it hasn’t been the reality since inception. The point is even if we assume it is or will eventually become user-friendly, are we willing to accept the trade-offs that come with that?
- dash2 3mo agoI think the users have clearly delivered the verdict that it is friendlier than base R. Admittedly a low bar. Non R users, which do you prefer: foo[foo$bar == “baz”,] foo |> filter(bar == “baz”) ?
- nswizzle31 3mo agoI couldn’t disagree more. The base packages are a complete mess. If R was subset to only the tidyverse 5 years ago then it wouldn’t have lost so much ground to Python in nearly all fields. Posit is obviously the only organization with the pull to do that, and I feel like they got pulled in 10 directions during the move to AI and trying to also support Python. R Shiny is dead too which sucks because reflex.dev just copied them and ate their lunch in 3 months.
- PaulHoule 3mo agoPython is just such a good Swiss army knife and it's never a waste to learn: you can do data science and you can do almost anything else. It's the BASIC of the 21st century.
- asdff 3mo agoSwiss army knife with nothing actually attached to it, just the empty frame of the knife. You need to import so many aspects. I mean one example is people routinely reaching for pandas. Pandas is basically just replicating base R data wrangling syntax.
- Mairoce 3mo agoThe proof is in the pudding. Every single grad student of mine that was brought up on the tidyverse produces gigantic R markdown files with 20 imports to accomplish something that would be shorter and much much easier to understand (and review!) with a base package or with one of a small number of packages (box, data.table) designed by people who understand programming. Not to mention the ridiculous styling/formatting of most tidyverse users, which Wickham and others seem to promote. One of the reasons R has lost ground to other languages recently is that most R code these days is ugly
- zippyman55 3mo agoThat was always my struggle w tidyverse vs base mastery. From the looney tunes cartoon of the road runner vs the coyote, the coyote used tidyverse and the road runner used base R.
- asdff 3mo agoI agree. There has never been anything in tidyverse I couldn't do in base R. Usually a lot cleaner in base R. People complain about plotting in base R, really? It is just a function call with supplied arguments. It is super straight forward. Follow the vignette. People also saying python is better don't realize that R is basically like having pandas in the standard library. I don't think there is a better language for wrangling tabular data to be honest.