4 ms·
> Tidyverse in general, I believe, has saved R from irrelevance. It’s interesting that you say this. I’ve been using R daily for almost 3 years now, and I was
by bransonf 6y ago
> Tidyverse in general, I believe, has saved R from irrelevance.
It’s interesting that you say this. I’ve been using R daily for almost 3 years now, and I was originally taught the Tidyverse.
However, I also tutored in biostats and have collaborated with many different faculty and students.
On one hand the Tidyverse created an opening for R learners especially, but it has lead to some controversy as well.
Trust me when I say there are plenty of R users who have never heard of or used the Tidyverse.
It leads to some difficulty in teaching/collaborating because do I use grepl or str_detect? lapply or map? Do they know the magrittr syntax (%>%)?
Then there’s non-standard evaluation, which often forces some arbitrary meta-programming on novice programmers.
R is foremost the stats language, and tidyverse has attempted to make it more general purpose, for better or worse depending on who you ask.
- disgruntledphd2 6y agoTidyverse is much, much harder to write functions for, which is pretty bad for beginners. The API is lovely, but the non-standard evaluation causes real problems for people. True story: writing tidyverse functions is so hard that I once worked for a company with business critical code running in incredibly long R-scripts with almost no functions, and 100 line pipes. While that may be an extreme example, base-R is much, much easier to get started writing functions for (like I've been using R for a decade now, and the "idiomatic" way to use NSE with ggplot and dplyr has changed multiple times over that time). Meanwhile, base-R is fugly, but its solid and backwards-compatible to a fault.
- antipaul 6y agoAs a huge fan of tidyverse, I have to agree. Tidy eval is anything but. However, once they get that right, then tidyverse is close to perfection I think the newish “interpolation” syntax with double braces {{ }} is getting there.
- vharuck 6y agoThe biggest difficulty of NSE is not the syntax, but the requirement to hold parallel mental models while writing the code: symbolic expressions and value manipulation. Juggling will always be difficult.
- disgruntledphd2 6y agoSee, it's changed again! Damnit Hadley, why must you do this to me? (Really I'm bitter because I know that I'll end up maintaining a bunch of important code in version N-2 of Hadley's NSE adventures at some point in the future).
- antipaul 6y agoChanged, yes, and finally in the right direction I would say!
- antipaul 6y ago... and the following is what I mean. I think this is as close to clean and understandable as it can get, for most use cases (variables in functions, including creating new variables): https://www.tidyverse.org/blog/2020/02/glue-strings-and-tidy-eval/ https://www.tidyverse.org/blog/2020/02/glue-strings-and-tidy...