7 ms·
Wow those reasons don't sound very compelling to me! (I'm a programmer but don't know R.)
by foreigner 5y ago
Wow those reasons don't sound very compelling to me! (I'm a programmer but don't know R.)
- verelo 5y agoHonestly i struggle with it. My partner recently wrote an R package (phd biology) and I’m a developer. I had done a bit of R but nothing substantial. By the end of the project i couldn’t think of a compelling reason not to use any other language. The R tooling is clumsy, the language isn’t great…the built in graphs are ok? It feels like the reason it’s popular is mostly just people not wanting to update skills because they’re in a tangential field where this is a solution so it’s not a priority to change.
- bonoboTP 5y agoThere are also a lot of niche libraries for various statistical tests and analyses that are used for scientific studies. Especially applied scientists who wouldn't necessarily be able to reimplement the math and are not very familiar with programming rely on it as a workhorse. Things like variants of anova, regressions etc. are often just a single line in R, specify the data, the interaction terms etc and you get a nicely formatted output with everything calculated for you, like goodness of fit, p-values etc. There's a long tail of functionality in there that's hard to match even with the scipy stack or other statistical packages in python. Plotting is also much less of a hassle than with matplotlib. R is more of a free and de-bloated SPSS than an alternative to scipy or excel.
- JimBlackwood 5y agoI use R for work a lot, maybe to give some reasons to use R: 1. The language itself isn’t great, but the tidyverse packages are amazing. There’s really not a reason to use R if you’re not going to use tidyverse. 2. It’s integration to make quick webapps, books, Markdown reports, blogs. Is amazing. In a team where we process a lot in Excel, it’s so convenient I can just make a quick webapp that does that task a lot quicker for everyone to use.
- vharuck 5y ago>There’s really not a reason to use R if you’re not going to use tidyverse. I feel the same way, except for the data.table package.
- QuesnayJr 5y agoI was a C++ developer, and I love R for data analysis. I wouldn't write a compiler in it, but it's just incredibly easy to do data analysis in it. So it's not a question of skills -- it's just well-designed for the task it was designed to do.
- phonebucket 5y agoI agree, the tooling can be clumsy. I'd wish for a language-wide standard to help with replicable R environments. Perhaps using conda makes sense here. But when you say the language isn't great, what exactly is the problem? IMO, R is a fascinating language from a programming perspective. The combination of first class environments, lexical scoping, non-standard evaluation and metaprogramming allows for extremely performant and expressive domain specific languages, e.g. data.table, tidyverse and ggplot.
- papaf 5y agoThe R tooling is clumsy I really like the R tooling. What do you find clumsy about it? It feels like the reason it’s popular is mostly just people not wanting to update skills I have the opposite view. I find its the people who complain about R because its a bit different are the ones who are inflexible about learning new skills.
- verelo 5y agoPackage management is painful, replicating our two environments as i did a peer review always took way more effort than it would have in many other languages. I found my partner, Jess, to be using some fairly niche packages for stats, which admittedly would be harder to replicate in other languages. I personally think it’s fine to use, there’s no harm, but as someone comfortable with many languages, most the people i found debating the pros of R (since this project and it coming up in discussion) often are in non software fields and it’s their only language. I personally wouldn’t choose it over python and i might even consider something old school like Java for similar projects if i didn’t have an audience that only understood the work in R.
- ekianjo 5y agorenv is way less clumsy that whatever Python keeps trying to reinvent with pyenv, virtualenv and whatever new solution they come up with every single year.
- ekianjo 5y agoThe tooling is massively better than Python to say the least. You have a single environment (RStudio) that does most things really well, an excellent package manager, and integrated graphing capabilities and environment variables observation. In comparison Jupyter notebooks feel very limited and clumsy. And Base-R is way more tuned towards data analysis than base Python is, so you end up importing many libraries in Python to do the same thing. Finally, tidyverse has no equivalent in Python as this is a major selling point for R.
- verelo 5y agoThe tidyverse packages are pretty great that is true, in particular dplyr was useful. I don't want to sound like I'm just someone against R for the sake of it. There were things I liked, but I just walked away from the project uncertain what the benefit was in using R. There's a solid chance i'm wrong.
- lanstin 5y agoThe advantage is you get tables, numbers and plots based on solids maths instead of implementing your own understanding of useful analyses. Depending on your skill and interests in implementing your own designs for stats this might be a plus or a minus. For me, I don’t want to spend my time redoing the tricky and subtle stuff, but I can learn the odd syntax and weirdly functional nature of it pretty reliably. If someone does a Golang version of CRAN I wouldn’t think of using R again but for now R wins the stats battle. And much of the community advice and so on about how to do things, outside of the base R vs tidyverse flame rift, are from informed statisticians not autodidact Python folks that think everything is easy. But if you do understand he maths solidly behind what you want, then R might not be the best tool for your use.
- hulahoof 5y agoSome years back before the prevalence of notebooks, Rmarkdown was great. More recently I have worked as a data engineer alongside some brilliant datascientists, and my understanding is there is simply some models / algorithms that are not yet implemented in common python libraries - with the draw back that on sufficiently sized data sets the R machine required to be absolutely massive as most packages did not support distributed processing. In the end we supported an R environment and left its usage up to DS team including any ongoing reports or models and inferences they needed to perform, and encouraged a move to python for any code base that would get thrown back over the fence to us for official support.
- edent 5y agoFor "R" substitute any modern programming language. Python with numpy, for example.
- Closi 5y agoWhat about M? Excel’s language for data processing.
- machinehermiter 5y agoThe reason to use R is because someone else has already made an amazing library(usually some kind of academic research) for it that doesn't quite exist for python yet. There is also an aspect that if you are using a technique you don't really understand you can do the same thing in python and R and compare if the results are the same.