5 ms·
Once I got serious about this stuff, I started using Emacs with Org Mode and ESS. It has most of the features listed here. It's just a text file, magit is inc
by cle 9y ago
Once I got serious about this stuff, I started using Emacs with Org Mode and ESS. It has most of the features listed here. It's just a text file, magit is incredible, you can export to HTML and there are lots other formats available as ox plugins (e.g. MediaWiki), excellent LaTeX support, Org Mode is incredible for organizing large analyses and managing todos, you can glue together anything from anywhere (R, Python, shell scripts, Spark clusters, SQL, remote processes, etc.), and so on. Considering I code in addition to doing data analysis, I can reuse all my coding stuff to do data analysis too. I can take notes in Org Mode during a meeting, and then afterwards do some analysis directly on those meeting notes, export to HTML/PDF, and send it to a colleague.
It is missing the quick backtick interpolation that you get with R-Markdown, and some of the nice UI stuff like inline Shiny graphs and clickable tables (but it is easy to output Org-format tables that can be piped into other languages).
- lottin 9y agoYes, ESS is fantastic. The only thing I envy about Rstudio is the GUI to save plots.
- noobhacker 9y agoESS is great, BUT its auto complete is non existent for the tidy verse, which is a deal breaker for those who work within it. It also takes setup to work with shiny and knitr, whereas Rstudio just works. On the other hand, I'm not sure ESS has anything that Rstudio doesn't offer.
- lottin 9y agoThe editing capabilities of Emacs are simply unmatched, for one thing. By comparison, writing code in Rstudio with its built-in editor feels like you're using some clunky, primitive tool :)
- confounded 9y agoThis will probably change (I hope!) with the adoption of the Language Server Protocol. I personally find Rstudio's suggestions to be a little odd (though I appreciate the fact that it actually works).
- lottin 9y agoESS already has symbol completion. Am I missing something?
- confounded 9y agoMy two main gripes with the current ESS AC implementation is that (if I've understood it) it relies on an active R process (e.g. it won't suggest the name of a function you've just written unless an active REPL has evaluated it), and that it doesn't work at all with pipes, which means it fails for ggplot2 and dplyr style coding (which is really all I write).
- lottin 9y agoI see what you mean. Yes, AC needs an active process. Personally, I use dabbrev-expand for things that don't autocomplete via the standard AC mechanism.
- hooloovoo_zoo 9y agoMy only complaint about org mode is that nobody seems to want to make caching work with noweb references even though it's an old issue.
- cat199 9y agoIMHO R notebooks, jupyter and their ilk are essentially emacs for the masses.. which is neither good nor bad, but is.
- confounded 9y agoYup. Lots of people who rave about the benefits of notebooks are describing the benefits of a REPL.
- pletnes 9y agoDisagree. A REPL does not make for a log of what you did - which is a big deal if you're revisiting/-running data analysis workflows you haven't touched in a long time.
- confounded 9y agoYou'd hope that in both cases, source code would.
- saurik 9y agoUsing a terminal is enough to do that for any REPL: run "script".
- confounded 9y agoThe disadvantage is collaboration; I don't know of anyone that uses a non-Emacs Org implementation, and adopting an editor/religion/lifestyle just to collaborate on a project is a huge ask. I find that in Emacs, ESS + polymode works great for rmarkdown files, providing many of the benefits, in a file that will also be interpretable in Rstudio. Reproducible research must be reproducible by the unenlightened, after all!