What are the pros and cons between Sage and Python versus R if I would like to do statistics on Linux? I know that I can use R inside Sage but in what order should I study those programs?
-
2$\begingroup$ It doesn't matter, they are both tools, neither is useful in and of itself for study. An analogy would be 'should I buy a hammer or a screw driver to learn to be a carpenter'. $\endgroup$– Andy WCommented Aug 10, 2013 at 22:08
-
1$\begingroup$ I'd say 'it really depends on what you want to do and the ways in which you want to do it'. To my mind, speaking only statistically R would be the first step, but you should keep in mind that you will probably learn new programs/packages every few years. I just did a quick count; I learned at least ten specifically statistics packages/languages in the last 30 years, and almost the same number of programming languages -- with, as far as I see, no prospect of ever stopping. In that sense it doesn't matter too much but on the other hand, R takes some effort to learn so I suggest you get started $\endgroup$– Glen_bCommented Aug 10, 2013 at 23:11
-
$\begingroup$ @Glen_b: Side Note (never mind): Strange, you learned at least ten specifically statistics packages/languages in the last 30 years when you are only 13 years old (See here). $\endgroup$– MYaseen208Commented Aug 11, 2013 at 2:01
1 Answer
Both. R is great for learning Statistics and you can use it in real world applications all the time. Since R is common in academia new algorithms or techniques are usually packaged as R libraries first. I have never used Sage but I have used Python for data analysis (pandas, sci-kit-learn, stats-models) and it has certain advantages over R: first, as a general scripting language you can incorporate the data analysis into a larger program. This also makes it easy to work with non-Analysts (say when handing off code to an engineering team). Lastly, the Python data analysis community is very large (still growing too) and a lot of work is being put into the PyData eco-system, which means R is rarely ahead of Python for long (in the case of Machine learning algorithms Python is ahead).
(Sidenote: for data analysis I use the Anaconda python distribution. I do interactive computing I use iPython, and write scripts in NotePad++ and emacs)
Just remember: these are tools. You should know how to use multiple tools if you want to build anything interesting.
-
$\begingroup$ "You should know how to use multiple tools if you want to build anything interesting." Not necessary if one tool is Turing complete. But I have seen that different programming languages are useful for different problems. $\endgroup$– noviceCommented Aug 11, 2013 at 8:54