What Ides Are Available for R in Linux

What IDEs are available for R in Linux?

A newcomer to the scene, which IMO looks very promising - and downright baller - relative to other existing IDEs like Rattle and JGR, is RStudio. It's free software, is cross-platform, looks very polished, and even has features like automatic refactoring.

Update 2012-04-12: I've been running it for a bit on our DB server, and I love that it's a web app that saves your sessions, resume-able from anywhere else. Plotting requires not only no X tunneling or png-writing but is easier to use than out-of-the-box R. Extremely easy to get up and running, and it comes with packages for Debian/Ubuntu (which I use).

The company/development is moving pretty fast, aiming to be the de facto standard IDE for all R users. If I'm gushing, it's probably because I was pleasantly surprised by the quality of the IDE after a long time of using sub-par IDEs, not just for R but for plenty of other languages. So this was a bit out of the blue. I still need more time to really dig into it but I like what I'm seeing so far.

Which modern IDE do you use with R

I just made the switch to Rkward, which I enjoy a lot more than what I was using earlier: notepad++ with NppToR. I hadn't heard of RStudio -- I'll have to check it out. Thanks!

Best IDE / TextEditor for R

I've been using Eclipse/StatET. However, there's a new FLOSS IDE that was released today that looks interesting called RStudio. It even supports Sweave, so once it becomes more polished I may switch. User input seemed a little sluggish when I played with it earlier today however.

RStudio Screenshot

Update

They have been actively updating RStudio every month or two. It's been months since I encountered even a minor bug. And the features added are really useful--seamless package development and native Git support being the two that come to mind.

Tools Commonly used to Program in R

Emacs has everything I commonly need:

  • ESS (for R),
  • AucTeX (for Latex),
  • similarly rich 'modes' for other languages I use (C++, make, shell, ...),
  • plus a lot of other modes you get quite used to as e.g. dired for directory/file browsing or org-mode as planner/to-do list,
  • the SVN integration is very good too
  • and there are probably a number of tools within Emacs I am now forgetting.

Works in text mode as well as graphical mode, and works essentially the same (incl ESS and AucTeX) on several operating systems (Linux mostly and Windows when I must). On Debian/Ubuntu all this is prepackaged and tends to work out of the box as well. For both Windows and OS X, Vincent Goulet has package very handy bundles, see here.

The 'daemon mode' is outstanding too -- I keep the same main Emacs session running and just connect and re-connect to it even when accessing the machine (via ssh or directly) from different computers.

Also see the EmacsWiki for more tips around Emacs.

Back to Emacs and R in particular. The R FAQ says it pretty well:

  • 6.1 Is there Emacs support for R?
  • 6.2 Should I run R from within Emacs?

and I like the affirmative and resounding answer to the second question: "Yes, definitely". I fully concur.

C++ IDE for Linux?


Initially: confusion

When originally writing this answer, I had recently made the switch from Visual Studio (with years of experience) to Linux and the first thing I did was try to find a reasonable IDE. At the time this was impossible: no good IDE existed.

Epiphany: UNIX is an IDE. All of it.1

And then I realised that the IDE in Linux is the command line with its tools:

  • First you set up your shell

    • Bash, in my case, but many people prefer
    • fish or
    • (Oh My) Zsh;
  • and your editor; pick your poison — both are state of the art:

    • Neovim2 or
    • Emacs.

Depending on your needs, you will then have to install and configure several plugins to make the editor work nicely (that’s the one annoying part). For example, most programmers on Vim will benefit from the YouCompleteMe plugin for smart autocompletion.

Once that’s done, the shell is your command interface to interact with the various tools — Debuggers (gdb), Profilers (gprof, valgrind), etc. You set up your project/build environment using Make, CMake, SnakeMake or any of the various alternatives. And you manage your code with a version control system (most people use Git). You also use tmux (previously also screen) to multiplex (= think multiple windows/tabs/panels) and persist your terminal session.

The point is that, thanks to the shell and a few tool writing conventions, these all integrate with each other. And that way the Linux shell is a truly integrated development environment, completely on par with other modern IDEs. (This doesn’t mean that individual IDEs don’t have features that the command line may be lacking, but the inverse is also true.)

To each their own

I cannot overstate how well the above workflow functions once you’ve gotten into the habit. But some people simply prefer graphical editors, and in the years since this answer was originally written, Linux has gained a suite of excellent graphical IDEs for several different programming languages (but not, as far as I’m aware, for C++). Do give them a try even if — like me — you end up not using them. Here’s just a small and biased selection:

  • For Python development, there’s PyCharm
  • For R, there’s RStudio
  • For JavaScript and TypeScript, there’s Visual Studio Code (which is also a good all-round editor)
  • And finally, many people love the Sublime Text editor for general code editing.

Keep in mind that this list is far from complete.


1 I stole that title from dsm’s comment.

2 I used to refer to Vim here. And while plain Vim is still more than capable, Neovim is a promising restart, and it’s modernised a few old warts.

R text editors for introductory statistics courses

Given that you don't have an major specific requirements (like an object browser), it's probably best to use what you're already using as much as possible. Something like Textpad is very simple and can do syntax highlighting.

Here are a few more pointers:

  • First of all, the R console that ships with Windows has it's own script editor. Just go File > New Script. It's very easy to use and you can execute code by highlighting it. If you just want something simple, I would stick with that.
  • I use Eclipse (with StatET) on Windows, and I have used it on a Mac too. It's great if you want an extensive IDE (syntax highlighting, integrated console, SVN, etc.) with a small learning curve.
  • JGR is also very good and platform independent.
  • Sciviews (which has Tinn-R) has several other options, including SciViews-K which is an R extension for Komodo.
  • Two others worth mentioning are Rattle and Rkward.
  • Emacs and VIM have a bigger learning curve, but they're also very powerful, especially if you're already using them for something else.

Ruby and linux, preferred setup?

I use Vim on both Windows and Linux for development in Rails (we have to use Windows in work, and I only use Linux at home). The environment is almost exactly the same for both platforms. Especially important for me is easy navigation between the various Rails components - from Controllers to views, partials and models, and quick navigation to test files.

Here are the plugins I use:

  • Vim Rails by Tim Pope. The :R, :A and gf commands are the ones I use mostly for navigation.
  • NERDTree for a project/explorer view.
  • NERDCommenter for easy multi-line commenting.
  • FuzzyFinder and "FuzzyFinder - Textmate" - allows you to quickly find files based on portins of a file name.
  • Ctags
  • Bufexplorer
  • dbext for executing SQL commands and getting the results in a Vim buffer.
  • Ack and the ack plugin for a better grepping experience from within Vim.
  • VividChalk colour scheme.


Related Topics



Leave a reply



Submit