I tweeted this out earlier, but people are really excited about RStudio, an integrated development environment (IDE) that has the potential to make R coding and development a whole lot easier.
If you use R at all, you know how messy your desktop can get. There’s a console, graphics devices, coding windows, etc. The R coding experience is very disjoint (although I have to admit I’ve kind of gotten used to it). For example, I have about five R-related windows scattered across my screen as I write this. I’m on a Mac so Exposé keeps it semi-manageable, but I imagine something awful on a Windows machine.
RStudio brings all of the R components into one place and keeps things nicely organized. Best of all, it’s free and open and is available for all major platforms.
I haven’t tried it yet, because you know, I fear change and stuff, so I’d love to hear experiences. First impressions? Experiences from the alpha users? Sound off in the comments.
[RStudio via @DataJunkie]
I haven’t tried it yet either, but I actually like having R-related windows strewn about my desktop.
Whenever I put R on new computer, the first thing I do is make sure I have the GUI set to SDI instead of the default MDI — all those windows crammed into one place makes things feel crowded.
I’d be curious to hear what you think of RStudio once you try it. I avoid MDI as well because all the child windows quickly overlap. RStudio doesn’t have that problem since everything is in split-panes (like most modern IDEs these days).
I’m generally not an “IDE person” (emacs + ESS is as close as I get, for R). However, I really like RStudio. Just very well designed and implemented, with good support and a very professional, informative website. The server version – exact same interface in your web browser, served across your network – opens up all sorts of possibilities: e.g. customizing the interface with libraries for users in your domain.
Another Emacs + ESS user here, whose been using the RStudio Windows desktop version all today. Very nicely implemented, especially the plotting part with new plots taking their own tab, which is a huge win over other clients I have used. The workspace and history tabs are also wonderful.
My major complaint (coming from Emacs) is that the text editor is rather feature sparse, but hopefully that will be rectified in updates.
Nothing will ever measure up to Emacs in terms of pure text manipulation capabilities, of course (apologies to all the vi dweebs). My main beef with any given IDE is that their text editing component invariably sucks. So very few allow you to plug your favourite editor in. Saddened to hear this is true for this one as well, because it sure looks promising otherwise.
@Francis: We’re quite aware of the sparseness of our editor in general–but it would be extra helpful if you could enumerate some of the specific things that are important to you. Thanks!
@Gerard: Do you literally mean plugging vim or emacs into the UI of an IDE? Are there *any* IDEs that do that? Or do you just mean launching an external editor based on $EDITOR?
The planning on RStudio seems to be very good and the developers seem to be very responsive. If you write or use many functions, it is useful to have those functions in the workspace tab, where they can be easily edited. Some of the more useful features that I’ve found so far are the “extract function”, the useful hints in the syntax autocomplete, and a searchable history.
That said, in its current state, it leaves a bit to be desired in terms of customization.
I think my favorite feature is the stack of plots. Each time you plot something, it doesn’t overwrite the previous so you can clearly see your changes from graphic to graphic. The export to png/pdf option is great as well.
I agree with everyone about the text editor, but I was happy to see that when I opened a .Rnw file, the syntax highlighting works for both LaTeX and R, and there’s a “Compile PDF” button.
I think the biggest annoyance that I haven’t heard mentioned yet is that the folder you choose in the Files browser does not immediately become the working directory for the console, and you even have to click the “More” drop-down to get the option to do so.
Overall, I think its great and will continue to use it. I also think that Matlab and Stata users will find it much easier to get started with R.
The working directory thing has taken us a little by surprise. We’re not statisticians ourselves, so we rely mostly on user feedback to guide our design decisions. Our understanding from talking to users was that quietly changing the working directory due to clicking around in the UI, would be a mis-feature and not in the spirit of reproducibility that pervades R culture.
It sounds like you (and many others) would disagree with that statement–if you have any suggestions as to how we could satisfy both camps, please drop us a line in our support/feedback forum (http://support.rstudio.org), we’d sure appreciate it! Thanks!
@joe – for some reason I thought you guys were stat people but I am not surprised you guys aren’t. Out of curiosity, what compelled you guys to develop Rstudio?
@Nathan – The blurb on our about page (http://www.rstudio.org/about/) really sums it up. We have a strong belief in using open-source software for scientific research–and we (think we) know how to create and ship usable productivity software. There’s really not a lot more to it than that.
@Joe – Very cool. Most stat-related tools, especially R-related, are by statisticians, which is great, but they always seem to lack polish. I hope you guys keep on developing. It’s obvious already that there are a lot of people who are appreciating the effort.
I agree that silently changing the working directory would be a mis-feature. Often I have my source code in a few directories and any output from R going to another directory.
I think the “More > Set as Working Directory” on the file pane is good but hard to find. It’s probably worth adding a main menu item with a file browser to select the working directory, and during that action to change the directory shown under “Files”.
I think you are correct that “quietly” changing the working directory is a Very Bad Idea because that has a lot of side effects.
One small improvement, however, would be to save the working directory as part of the “workspace” so that, when we reload, everything, including working directory, will be just as we left it. At present this does not appear to be the case.
Most of us are used to navigating to a particular project’s directory and starting R there so that R loads using that project’s .Rdata, etc. Since we will typically just start RStudio now, each workspace ought to know where it was “homed.”
I second Patrick”s suggestion of saving the current working directory as part of the “workspace”.
Patrick, Charlie, we’re thinking along similar lines and hope to have these improvements (or very similar) included in the upcoming release. Thanks for your input!
No collapsible code blocks in the text editor makes RStudio hard for me to transfer to, in addition to the general lack of ability to customize the text editor. I did ask their support team, and they said they are planning on implementing code blocks, but gave no timeframe.
Sorry but in general you’ll find that we do not give timeframes–that is a sure way to jinx a feature!
Our editor is built on Ace (https://github.com/ajaxorg/ace) so it’s quite possible someone else in that community will implement code folding before we ever get to it.
On a quick test drive last night, I liked it – especially the ease of loading packages and data, and exporting PDFs of graphics.
I don’t typically like IDE’s, but I really like RStudio. I particularly like the workspace viewer and the auto-completion when tabbing on arguments within a function.
My #1 request would be the ability to customize the layout of the tabs and the windows. For example, I’d like to have my source file be full-height, with the console in the upper-right group of tabs.
Overall, after using RStudio for about three days now, I think it will replace my old R workflow.
Installed it earlier this week and I love it. It’s very clean and well thought out. I will definitely be making the switch. I formerly used Terminal + Textmate for my R work.
Have to say I love this. Finally I can work in the same environment on my work machine (win7) and at home (ubuntu) and have something approaching a “flow” feeling. No longer do I have to go rooting for png files in the working directory. I can stack graphs and export the ones I want. I love that the history is saved and I can export the bits that worked into a script. I absolutely love Rstudio. It makes R more powerful, which was always going to be hard to do, and might have gone the other way. It is not too much IDE.
I’d love it if I can use vi keys…
If only it worked with self compiled (ala homebrew/ports) R… and not the official binary packaged releases…
@Jake I noticed a note about that on their support forum, and there seems to be a fairly simple fix (for OSX at least). http://support.rstudio.org/help/discussions/problems/112-rstudio-wont-start-under-mac-os-x
Nice! I’ve been monitoring the support area and had missed this!
My first brush with rstudio was not all that positive, sadly. I did try it in a laptop with a standard small screen and not having the equivalent of SDI mode make it feel very cramped. In the graphs he plot region was a tiny fraction of the real estate and the border regions dominated, but I guess that’s what happens. There were worst things to contend with, however. I could find no way to start R with a given working directory, so any local customisations with .Renviron and/or .Rprofile were not available. Worse, it took the “Documents” directory to be the home directory, so the global .Rprofile and .Renviron were missed as well. Since my R_LIBS_USER was unset, this means it could not find my packages, which is a bit of an obstable to put it mildly. I could find no way to change the font in the editor (or anywhere else) and the default font is one I usually avoid (like this one, here…). In choosing the CRAN mirror I was limited to the official ones and could not set the local one apart from manually using options(). The editor, as some other commentator here eloquently pointed out, sucks. As far as I could see there was not automatic indetaton facility, no parenthesis matching and the syntax dependent coloring was minimal and apparently fixed. These are not just pretty features – the contribute enormously to the effectiveness of R programming. Finally, the documentation was completely unsigned and anonymous. I find this disappointing, a sensation a bit like talking on the phone to a machine. This clearly has had a lot of work and thought put into it, but it seems to me if people really like using this kind of IDE for R, they must be using R itself in a rather limited and ineffective way.
Lots of patience and leniency is in order since RStudio is still not even at version 1.0 yet. I find it already better than the others I’ve tried and am starting to use it every day (which isn’t remotely the same as saying it’s perfect). The latest desktop version (0.92.44 on Ubuntu) appears to have corrected a few of the deficiencies you indicated (maybe the server version, too, but I have not used that).
Placing the cursor behind a parenthesis highlights the opposite close or open.
There’s a “Zoom” button above each plot to explode it into its own new full-screen window.
The editor is…adequate.
Developers: please take Bill Venables’ comments seriously as he is widely respected by R users and his eventual approval of RStudio would be significant. In particular, what he says about libraries and startup are important because I’d guess that every heavy R user will have edited .Rprofile and .Renviron and they may have versions of these files for each project.
Oh, and there is auto-indent.
Now that I have looked more closely at it I can see that some things are not as bad as I had feared. The editor does indeed have a (very subtle) bracket matching device and it does do some rudimentary auto-indenting. This is good, I happily concede. However there remains for me a major problem in that if it is possible for the user to start the R process with something other than ~/ as the initial working directory, it is certainly not obvious how to do it from any of the documentation I have seen. Changing the “start in” field of the link (in Windows) seems to have no effect.
It really is important to be able to do this. The initial working directory, for example, governs the initial loading of objects into the global environment from the .RData file, for example. It also determines if a .First function is to be run as part of startup and also if a local .Rprofile and/or a .Renviron file applies, also as part of the start-up process. Essentially the users loses control of the start-up process, including the inheriting of objects generated in previous sessions with a given working directory.
Hi Bill, thanks for all the great feedback. The working directory issue has been fixed (we think) and will be part of our next release, which will be out soon. If you’re interested in trying it, we’d love your feedback, especially whether all the working dir related functionality is being invoked correctly. Just let me know what platform you’re on and I’ll post a link to our daily build.
I have WindowsXP running on a several year old laptop. I have installed R ver 2.2.12 and it runs OK. I downloaded (twice) and installed RStudio (twice) with no errors. When I lauch RStudio I get a blank white window and the commands at the top do not work. I’ve tried launching RStudio when R was already running and with it not running. Is there some note on the RStudio website that says that it will not work running WindowsXP or requiring a minimum amount of memory or CPU?