I'm fairly familiar with Python, somewhat familiar with R, and fairly familiar with Stata. The scenarios where you're doing OLS analysis can generally be broken in to two categories:<p>1) Exploration of a given data set.<p>2) Automatic collection and analysis of data.<p>In most academic uses of data (1) is the case. Here, if the data is already rectangular, and in a nice format, I would actually prefer Stata. However, as soon as any sort of manipulation is required, or graphing something more difficult than a scatterplot is required I shift to R.<p>R really shines through when you need to do complicated analysis on a fixed data set. I've found that Hadely Wickham's `reshape` and `ggplot` packages are invaluable. They <i>easily</i> produce graphics that are more informative and better looking than any other graphics package I've seen. Additionally R has packages for essentially any statistical analysis that you could want to do.<p>While R is able to pull data from a database, or other places, as soon as you have more dynamic data, you enter into case (2). This is when it might make sense to start using python. But even then I've found python is mostly useful for curating the data so that it can be used by R.<p>[1] <a href="http://had.co.nz/ggplot/" rel="nofollow">http://had.co.nz/ggplot/</a>