tags:

views:

229

answers:

8

I apologize if this has already been asked a different way but I couldn't find anything getting at what I wanted.

I am really getting into R from other packages (SPSS). As I learn about what truly can be done, I realize that there are additional "tools" that I need. This gets me to my question.

What setup do you have for developing R code? I can't see myself actually developing r packages anywhere in the near future, but I do see myself wanting to manage my r projects effeciently, as well as create reports and presentations in LaTeX.

For context, I develop my R code in Eclipse for Windows, but I have had a real hard time successfully setting up Latex/Sweave and Github plugins.

Lastly, do you develop code using Windows or something else?

Many thanks in advance for any insight you can lend.

+4  A: 

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:

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

Dirk Eddelbuettel
Possibly the best part: if you want some functionality in Emacs that doesn't exist, it's always a few Emacs Lisp S-expressions away.
Vince
@Dirk : OK for you if I make this answer a wiki?
Joris Meys
+1 Thanks for that, I'm going to try it out!
Brandon Bertelsen
+1  A: 

I use windows... (don't say it).

I like Notepad++ and NPPtoR. Makes it pretty easy to send things back and forth.

Brandon Bertelsen
+2  A: 

I'll second the suggestion that Emacs compliments R nicely, but let me share what the "killer feature" is for me.

Using Org-mode with Org-babel, I can write whole reports with inline graphs produced from R in raster and vector format which compiles seamlessly into a PDF report via latex. I can also view the graphs while editing, similar to a WYSIWYG editor.

I just wrapped up a major report with over 70 inline graphs with little effort, no editing external files, no issues maintaining naming between figures in my report and external files, or forgetting to recompile the latest version of a figure. Org & Babel does it all.

Org-mode: http://orgmode.org/

Org-Babel: http://orgmode.org/worg/org-contrib/babel/index.php

Example of inline R with Babel and PDF output, see the first example in multiple formats: http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-R.php

Enjoy!

Demosthenex
+1  A: 

I just got home from our local R User meeting (find one near you here) and of the 20 or so people there, all of us used a different program or tool to write R code in. I think that goes to show the diversity of the tools used to write and edit R code is just as diverse as the R community itself.

Stedy
+1  A: 

I use Eclipse on Windows and Linux. I compile LaTeX code (with Sweave) on Linux and I haven't bothered yet to set up the whole process in Eclipse. I need to pdflatex and bibtex files several times anyway, so I just have a terminal window with the specific string of commands handy. I tried ESS and Eclipse and they're very similar in functionality (and in my opinion the best two editors out there).

Roman Luštrik
+1  A: 

I use Eclipse / StatEt on Windows, and it Rocks !. For LaTex/Sweave I use MikTex which works well for me. For help setting things up check out this document and this post.

Other Tools you may find useful include;

  • If you want to build R Packages on Windows, then get the RTools
  • For Creating Documents, you may want to check out odfWeave, LibreOffice (was OpenOffice) and the MSOffice ODF plugin
  • I have also dabbled with Git but also didn't get very far on Windows, but that was a while ago.
  • For Presentations in LaTex I recomend Beamer
PaulHurleyuk
+2  A: 

This is probably more relevant for package development, but it is also worth mentioning the roxygen R library that allows in-source documentation of your code. Note that even though you can't see yourself developing R packages anywhere in the near future, a package can be a very handy way of grouping related functions you develop and maintain, consistently documenting the code and keeping track of updates, even if you do not plan to distribute it.

Laurent
+1 for good coding practice
Joris Meys
+1  A: 

I use a mac, and my most important tools are:

  • the command line, for running R
  • git, for keeping track of changes
  • github for publishing my code, bug tracking and collaboration
  • textmate for writing R code
hadley