Revolution Analytics' blog on the R language, statistics, and data science, with news, tutorials, and examples.
HN commenters link it for R history, the origin of the 'plural of anecdote is data' quote, and book lists for learning R.
Every language has its warts but R is actually the least disliked language https://stackoverflow.blog/2017/10/31/disliked-programming-languages/ and http://blog.revolutionanalytics.com/2017/11/r-is-the-least-disliked-programming-language.html
I really enjoy R and the more I learn programming the more I enjoy it. Best thing I ever did was learn the language Racket and How to Design Programs and Hadley Wickham's tidyverse.
I moved from Python to R about six years ago. Before that I did most of my work in the command-line. R's rise in popularity has been caused by the libraries in the tidyverse and data.table. The millions of dollars invested into R by many companies and an amazing eco-system
> You can use '=' and '<-' to assign values to variables and both do the same, except in a few edge-cases where you now spend one week finding the error
Its just R's symantics. It is almost universaly spoken to just use <- for style consistency and edge cases. Use the RStudio shortcut `Alt` and `-`. The reason you spend a week is the reason why it is recommended for all users to just use <-.
> It confuses and mixes functional programming and oop not only per entity but also between the usage of them. Want to get a value of entity X? use x.getValue(). Want to get a value of entity Y? Use Y.getValue(y).
R comes from S the creators of R were also inspired by Scheme. Personally I learned the language Racket to be a better R programmer and I pretty much live in the Functional side of R.…
> R has nothing going for it except a rapidly dwindling number of packages that don't yet have a direct python equivalent.
This is not a true statement.
Here are the data that goes against this statement.
1. https://www.r-bloggers.com/on-the-growth-of-cran-packages/
2. https://blog.revolutionanalytics.com/2017/01/cran-10000.html
3. https://www.r-bloggers.com/rs-remarkable-growth/
From 2015 to 2016: ~6,200 to More than 8,000 in April, 2016
From 2016 to 2017: CRAN now has 10,000 R packages.
> Even then, the incoming generation of undergrads are increasingly proficient with programming and are shying away from R the same way that they shied away from Matlab after scipy matched it for 95% of their tasks.
This is a generalization.
So far you've made opinionated negative generalization with no data.
Python is great because it learn from Matlab and took many great ideas and inspirations from Matlab. But I'm not going to make sweeping negative statements about Matlab or pretend to know how it going when I don't have enough data or experiences in it.
> It is true that this system can be used to program arbitrary logic, it can however become a bit clunky when trying to code imperative logic that works with inplace references and mutable data structures. Nevertheless it is a very powerful domain tool for working in scientific computing and the number of functions related to technical domains that are surfaced in the language represents decades of meticulous expert domain expertise.
Can you explain this more? Why is (i.e.) the Wolfram Programming Language best thought of as a "domain" tool, and not a general purpose programming language? Why couldn't someone build an extraordinarily complex piece of software (say with millions of lines of code) under term-rewriting paradigm (like Wolfram) in a domain that has nothing to do with traditional mathematics/scientific computing?
BTW, my favorite Wolfram fact is that it is the most concise programming language on the Rosetta: https://blog.revolutionanalytics.com/2012/11/which-programming-language-is-the-most-concise.html
I started using R because I needed a better tool for formal statistical analysis. (Econometrics, didn't want to pay for STATA. Much better packages around variants of linear regressions + panel/time series data than python). Since, I've used it for some random scripts, data visualizations, and financial analysis (Josh Ulrich's packages + tidyquant).
R is a thoroughbred at doing data analysis from your laptop. It's bad at living on a server and operating any sort of app.
For your use case (NBA analytics) I think it is a great tool and would recommend R. In fact, here are a couple packages/tutorials specifically for doing that:
http://asbcllc.com/nbastatR/
https://blog.revolutionanalytics.com/2016/09/analyzing-nba-basketball-data-with-r.html
R (and its predecessor S) is so great, thank you for writing and sharing this!
In a way, R is very similar to APL and J in that many operations automatically scale from scalars to vectors, and you can therefore conveniently express applications of operations to many elements at once. In fact, even its assignment operator is chosen to syntactically resemble that of APL:
https://blog.revolutionanalytics.com/2008/12/use-equals-or-arrow-for-assignment.html
Regarding the quote:
"All statistical models and tests have underlying mathematical assumptions on the types of conditions upon we can generate reliable results (Hoekstra et al., 2012)."
Indeed! There is hence also a very close connection between statistics and logic.
Sorry for this nerd-interruption: The plural of anecdote is data, at least as said by that aphorism's inventor, Raymond Wolfinger:
http://blog.revolutionanalytics.com/2011/04/the-plural-of-anecdote-is-data-after-all.html
https://web.archive.org/web/20080523225000/http://listserv.linguistlist.org/cgi-bin/wa?A2=ind0407a&L=ads-l&P=8874
Both variations are insightful; I like using Wolfinger's because it is an accurate observation that all data start out as anecdotes, and are influenced/distorted by the collection and filtering process. Still, this also implies that one outlying anecdote is not enough evidence alone to dismiss the aggregate findings across all of the other anecdotes.