StatET IDE for R

I personally do not use Integrated Development environments (IDEs) for R, or for that matter for any programming language. From my point of view, they take up too much precious real estate on the screen, and most important, they generally do not allow me to use my own text editor and my own abbreviations and macros. Since I want to have a uniform editing environment no matter whether I am programming, typing e-mail or whatever, IDEs are not for me. I just use Vim, with my own abbreviation collection.

So for example, I’ve never used RStudio (gasp!). I know many people who swear by it (and maybe a few who swear at it 🙂 ), but it’s just not for me. ESS (Emacs Speaks Statistics) is great for the hard core R people, and in fact I occasionally use it — I have an Emacs tutorial, by the way — but not too much.

If you do want to use an IDE for R, and want something different, I’ve always admired (from afar) StatET, for which there is a nice introduction in progress. It does take some configuration, and Eclipse requires some learning (I have a tutorial for it too), but StatET has always impressed me as very well-designed.

Disclaimer: I do not know whether the StatET article’s claims about RStudio are correct. My point is that the article is a nice introduction to StatET.

19 thoughts on “StatET IDE for R”

  1. If by “nice introduction” you mean filled with mis-truths about a competing IDE, sure. I also didn’t realize non-ESS users weren’t “hardcore R” folks.

    1. As I said, I am not an RStudio user, and thus am in no position to assess the article’s claims about it. To me, that isn’t the main import of the article.

      What I like about R and especially CRAN is that there is often more than one way to do something. Thus I like the fact that there are several IDEs for R. (More than three, if one counts systems that lack a debugger.)

      I think you need to go back and re-parse my comment about hardcore R users, possibly inserting the word “many” if you wish. 🙂 I consider myself a hardcore R user without using ESS and even an IDE at all. 🙂

  2. 1. Realistically, most of the non-RStudio true IDEs for R have withered away. I don’t think JGR or RKward have progressed much since RStudio came on the scene.

    2. I don’t see much action in the GUI wrappers for R (rattle and R Commander) either. They’re still around, but I don’t see bloggers using them the way I see them using IPython / Jupyter and RStudio.

    I think for a team / community project you have three realistic options:

    1. If your project is predominantly in R, RStudio is pretty much the only game in town. Sure, you *can* work with Vim / notepad++, ESS, R Commander, etc., but RStudio is so well integrated I don’t think I could go back. And I would expect all members of a team to use the same tooling without any bitching or whining.

    2. If your project is mixing R and Python (and maybe Julia or Ruby or Haskell or Node) you’re probably going to be more comfortable with Jupyter. But their documentation is pretty poor – an awful lot of the configuration, etc., involves understanding Python syntax and semantics.

    3. If your project has a mix of R and JVM languages, Eclipse is pretty much mandatory. An awful lot of popular machine learning tooling runs on the JVM and if you need to get under the hood with it, there’s a good reason to have an IDE that serves R and JVM languages equally well.

    1. As I said in reply to one of the other comments, from my personal point of view, if it doesn’t have a debugging tool, then it is not an IDE. That excludes a lot of the products you mention above.

      Funny you should mention uniformity among members of a team. There is one prominent developer at RStudio who told me that he himself doesn’t use RStudio. That was about a year ago, not sure about now.

      1. > Funny you should mention uniformity among members of a team.
        > There is one prominent developer at RStudio who told me that he
        > himself doesn’t use RStudio. That was about a year ago, not sure
        > about now.

        They’ve done a good job building to some tough use cases – you can write an eBook in the latest version with the “bookdown” package. That said, if I need to make a “reproducible research” PDF I usually don’t mess around with R Markdown; I go straight to LyX. 😉

        1. But I don’t even use LyX, a LaTeX IDE. 🙂 I can type much faster in Vim, with my abbreviations. For example, to get

          \widehat{\lambda}^{1/2}

          I type mhat then mlb then Esc followed by msp to get ^{ }. There is no way I could do click-and-select in LyX that fast. Of course, I don’t the visual effect I would in LyX, but I can set xpdf (or Skim on a Mac) to auto-update, though again I need to do a Make, which in Vim I do by simply hitting M.

  3. I appreciate nvim-r (vim plugin) by Jakson Alves de Aquino. Very useful from my point of view. I use it with tmux.

      1. It is great to know that you also prefer vim as an editor. Once you get used to its shortcuts and key bindings, and then start to personalize, it just becomes an extension of your body! You just collect your preferences in “.vimrc”. nvim-r and Tmux+vim+R+nvimcom bundle works perfect (sometimes the “\rf” command does not trigger R, when a swp file exists in the folder of the Rscript, the swp files has to be cleaned before vim is started). You can even automate the platform with a bash script line such as:
        tmux new-session -s R “vim $Rfile -c ‘call StartR(“\””R”\””)'”

        You need nothing else! Best thing is, one can even configure this command-line-only bundle on a headless server accessed through ssh.

        Wish only we could use GNU-Screen instead of Tmux as an integrated platform. GNU-Screen is not supported anymore with the plugin.

  4. It is great to know that you also prefer vim as an editor. Once you get used to its shortcuts and key bindings, and then start to personalize, it just becomes an extension of your body! You just collect your preferences in “.vimrc”. nvim-r and Tmux+vim+R+nvimcom bundle works perfect (sometimes the “\rf” command does not trigger R, when a swp file exists in the folder of the Rscript, the swp files has to be cleaned before vim is started). You can even automate the platform with a bash script line such as:
    tmux new-session -s R “vim $Rfile -c ‘call StartR(“\””R”\””)'”

    You need nothing else! Best thing is, one can even configure this command-line-only bundle on a headless server accessed through ssh.

    Wish only we could use GNU-Screen instead of Tmux as an integrated platform. GNU-Screen is not supported anymore with the plugin.

  5. RStudio replaced all the other R environments because it provides great features for ‘the masses’, it’s easy to install and easy on beginners. I’m one individual in the mass of biologists using R for data analysis and representation and appreciate RStudio to the point of configuring Spyder, a Python IDE, to look and behave as close as how things are done in RStudio.
    As for vi and Emacs, they require a long term memory for details about how to do the diverse tasks of text editing that is simply not obvious for the casual user. Not everyone has as his or her main activity being text editing.
    While I can tell my students that they can use RStudio for their R needs, it would be impossible to tell them that they need weeks or months of practice with a text editor they are not familiar with to be able to start using the power of R.
    In the end, different types of users will find one tool or another to be the best for them. My best tool for R is RStudio and for someone else will be vi, Emacs or Eclipse. As long as we can learn from each other, that’s fine.

    1. I have nothing against IDEs; I simply don’t use them myself. But for the record, my experience is that of all the problems students have, adapting to computer procedures is the least troublesome for them. Yes, even non-computer science students. And by the way, vim and emacs do have GUI versions, e.g. gvim for vim.

  6. It would be interesting to see how you daily work with R, and learn also how you work with documentation and trouble-shooting when stuck sometimes. Alternatively, the same from one of your students who happen to work using the same approach as you prefer. I use nvim-r as Rstudio became too clunky after being a wonderful starting IDE. But I have not come around to settling on code completion nor the use of snippets. Since I avoid the tidyverse (even ggplot2 which is a cousin of tidyverse), ever more tutorials and online learning is foreign for me. It would also be interesting what packages you like in your daily work; many seem to be unnecessary distractions from learning base R.

    1. One must do whatever makes one most productive, and that will vary from one person to another.

      I use vim because I want to use the same editor for all that I do, and because I suspect that emacs may give one arthritis in the fingers. 🙂

      So I have customized vim startup files for different kinds of applications, http://heather.cs.ucdavis.edu/Vimrcs/.

      I agree that R beginners should keep to a minimum the number of packages they use. I see that I have 459 packages in my R directory (!). There are few if any that I would categorize as “use in my daily work” in the general sense, but some are needed for my own packages. I strongly feel that the trend to overload one’s package with many others is counterproductive.

      I do say that ggplot2 is OK for beginners — as long as they don’t feel they need to know what its terms mean, e.g. an “aesthetic.” Even most experienced R people don’t know these things, but there are so many examples on the Web that one can always muddle along. Base R graphics actually would be easier for beginners, but ggplot2 is fine.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.