Why has R, despite quirks, been so successful?(blog.revolutionanalytics.com)
blog.revolutionanalytics.com
Why has R, despite quirks, been so successful?
http://blog.revolutionanalytics.com/2015/06/why-has-r-been-so-successful.html
4 comments
Not to poke holes in this but is this actually that hard ?
This is not to say that R is a bad language, or that R does not have equally nice API's for this stuff; but I feel that in your case its a familiarity of language thing.
import pandas as pd
from sklearn.linear import SVC
df = pd.read_csv('/home/me/programming/data.csv')
y = df['label']
X = df.drop('label', axis=1)
clf = SVC()
clf.fit(X, y)
... Most of the things have a similar API, except for when I veer off into say deep-learning land.This is not to say that R is a bad language, or that R does not have equally nice API's for this stuff; but I feel that in your case its a familiarity of language thing.
You clearly haven't used pythons major data science packages.
Scikitlearn and statsmodels are known as being specifically easy to use with a uniform API that disparate R packages lack(though this is somewhat fixed with caret).
Further, for bayesian inference, Pymc 3 is more powerful and concise than training a model in stan.
Scikitlearn and statsmodels are known as being specifically easy to use with a uniform API that disparate R packages lack(though this is somewhat fixed with caret).
Further, for bayesian inference, Pymc 3 is more powerful and concise than training a model in stan.
I think the key is that R (and S before it) were designed from the start to provide a continuous path from being a user to being a programmer. Unlike real programming languages, you can get a lot of value out of R without really coding. Its a great statistical calculator and has good graphics. Then you can move relatively easily into scripting a few repetitive tasks, and then on into writing simple programs.
One consequence of that is that R has a lot of 'non-programmer programmers', statisticians and domain experts. Some of them write libraries that encode their domain knowledge. Then over time that adds up to having library support for more different types of analysis than any other language. I personally dislike R as a language, but I often end up using it because it has a library for some task that just doesn't exist in Python.
One consequence of that is that R has a lot of 'non-programmer programmers', statisticians and domain experts. Some of them write libraries that encode their domain knowledge. Then over time that adds up to having library support for more different types of analysis than any other language. I personally dislike R as a language, but I often end up using it because it has a library for some task that just doesn't exist in Python.
Just being an open source and free platform for performing statistical tests was probably enough to make R extremely successful when it first launched. At the time Python didn't have any widely used and extensible statistical libraries, and matlab/SASS cost a great deal of money and are difficult to deploy. R's growth since then is probably due to the fantastic packaging system.
Money Changed Hands.
That's why R, which is an awful, buggy, and weird language, is so pleasant to use for stats and ML.