1) R benefits from an IDE – I accept that in some languages an IDE is unnecessary—Perl is the first example that comes to mind—and in some languages it’s near-essential (Java). A good case can be made that R is at the former end of the spectrum, but RStudio should be enough to convince you otherwise:
The usefulness of many of the visible panes can be seen from the outset (more obviously so than in Eclipse, in my experience). For beginners, the help pane will display the answers to your
?queries and the upper-right workspace pane lists the data, values and functions in your current workspace. The
import dataset button helps write your
read command for parsing csvs, or files with other delimiters and gives a handy preview of the resulting R object. But advanced users will also benefit from the source editor / console combination (admittedly a universal feature of IDEs), tabbed editing, execute from source and possibly also the…
2) Plot device – Often when you’re doing exploratory data analysis in R, you’ll churn out a pile of graphs, a minority of which will be of interest. Any plots in the Plot pane graphics device can be post-hoc exported to pdf/svg/postscript (as well as png, jpeg etc.) in any reasonable size you choose. A niggle with this has been the differences between plots in the Plot pane and those after export, but this is constantly being improved (v0.97 sets the default export size to that of the dimensions of the current pane) and it’s fair to say that when you transition from exploratory data analysis to producing high-quality graphics, you should probably be setting up your graphics device explicitly anyway.
3) It runs on your OS – (probably) and there’s a server version too.
4) It’s open source – I don’t just mean it’s free software (though it is), I mean you can grab a copy of its source code from GitHub and, C++ permitting, edit the src and even redistribute it under AGPL.
5) The devs are, well, awesome –
The above tweet references one specific issue but by browsing their support forum it’s easy to find other examples of fast and efficient bug fixes from devs who obviously care about the feedback they receive and improving the functionality of RStudio (for more examples see: , , ).
6) Features, features, features – RStudio supports version control and codebase organisation in the form of projects. Another cool feature which might be of use to some is the manipulate package for dynamically changing plot parameters; I can’t say I’ve ever used this package but I spotted it in the documentation and seems like a nice tool for last-minute data massage (“Hmm… that does look better without outliers”).
7) Code completion – always handy. Though I did feel the need to turn off the automatic matching quote marks.
8) Rpubs and R markdown – with the push for openness in science, sites like figshare are starting to gain traction as nice ways to share supporting material and preprints, but what better way to share figures and analysis done in R than directly from your RStudio IDE to a site like Rpubs. You can craft an R markdown document in the source editor in RStudio via the knitr package, and then by clicking Publish you can immediately share figures and code with collaborators, tweeps and the blogosphere. The site and corresponding RStudio functionality was added earlier this year and although I can’t honestly say I’ve written an R markdown document yet, I’m sure it’s only a matter of time before myself and other R users start to engage with this new method of sharing our analyses.
9) It’s actively under development yet stable – well most of the time. It is still v0 afterall…