use r! in fifteen different ways: a survey of r front-ends...
TRANSCRIPT
-
Use R! in fifteen different ways:A survey of R front-ends in Quantian
Dirk Eddelbuettel
UseR! 2006 The R User Conference 2006Wirtschaftsuniversitt Wien, Austria, June 15-17 2006
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 1 / 40
[email protected]@debian.org
-
Outline
1 IntroductionWhat is Quantian?
2 FrontendsClassicWeb-basedGUIsProgrammatically
3 SummaryMain points
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 2 / 40
-
What is Quantian?A live-dvd for quantitative work
Quantian is a directly bootable and self-configuring Linux sytemthat runs from a compressed dvd image.
Quantian can run concurrently to your existing OS thanks to thefree-only-as-in-beer VMWare Player (or the free-but-slower Qemu)emulator, including virtual and networked disk access to persistentsession.
Quantian contains over 7.5gb of software, including an additional5gb of quantitative software with scientific, numerical, statistical,engineering, ... application.
Quantian also contains editors, programming languages, completelatex support, two office suites, networking tools and more.
http://dirk.eddelbuettel.com/quantian
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 3 / 40
http://dirk.eddelbuettel.com/quantian.htmlhttp://dirk.eddelbuettel.com/quantian.htmlhttp://www.vmware.comhttp://dirk.eddelbuettel.com/quantianhttp://dirk.eddelbuettel.com/quantianhttp://dirk.eddelbuettel.com/[email protected]
-
Quantian and RR, CRAN, BioConductor, and more
Quantian has always included R, and release 0.7.9.2 contains 877R packages providing a complete collection of R code: essentiallyall Unix-installable packages from CRAN, the completeBioConductor relase 1.7, as well as packages from Omegahat,from J. Lindsey and from T. Yee.
Suitable editors (ESS for Emacsen, Vim, Kate), LaTeX support,and more making Quantian possibly the single-best source of Rand related software.
Several related projects such as Ggobi, Mondrian, Weka orGRASS further complement Quantian for particular scientificcommunities.
This presentation focuses on R interfaces: direct, graphical, orprogrammed.
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 4 / 40
http://dirk.eddelbuettel.com/quantian.htmlhttp://r-project.orghttp://r-project.orghttp://r-project.orghttp://www.bionconductor.orghttp://www.omegahat.orghttp://dirk.eddelbuettel.com/quantian.htmlhttp://r-project.orghttp://www.ggobi.orghttp://www.rosuda.org/Mondrianhttp://www.cs.waikato.ac.nz/ml/weka/http://grass.itc.it/http://dirk.eddelbuettel.com/quantian.htmlhttp://[email protected]
-
Outline
1 IntroductionWhat is Quantian?
2 FrontendsClassicWeb-basedGUIsProgrammatically
3 SummaryMain points
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 5 / 40
-
Standard command-line
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 6 / 40
-
Standard command-lineDetails
Probably the only interface everybody is, or has been, using.
Fairly flexible, searchable, customizable, ... thanks to GNUreadline.
Direct access to excellent help facilities, package administration,and more.
Useable for scripting and piping, but still no direct script support.
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 7 / 40
-
Portable simple GUI
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 8 / 40
-
Portable simple GUIDetails
Implemented using Rs core tcltk package, it provides the onlytruly portable UI.
This UI is more an illustration, but other projects have builtsuccessfully on tcltk: Rcmdr (more below) and Sciviews areexamples.
Tcl/Tk is mature, well known and ... somewhat ugly.
Documentation is provided by P. Dalgaard in two R News articles(1(3), 2(3)), via J. Wettenhalls examples site and via postings onthe r-help and r-sig-gui lists.
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 9 / 40
http://cran.r-project.org/doc/Rnews/Rnews_2001-3.pdfhttp://cran.r-project.org/doc/Rnews/Rnews_2002-3.pdfhttp://bioinf.wehi.edu.au/~wettenhall/RTclTkExamples/https://stat.ethz.ch/pipermail/r-help/https://stat.ethz.ch/pipermail/r-sig-gui/[email protected]
-
Gtk/Gnome GUI
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 10 / 40
-
Gtk/Gnome GUIDetails
Status is dormant at best. Unsure about port to Gnome2.
Only (?) available on Unix, though Gtk/Gnome has been ported toWindows
RGtk2 provides an updated port of Gtk2 toolkit to R this is usede.g. for J. Verzanis PMG.
Now on CRAN as package gnomeGUI.
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 11 / 40
http://www.ggobi.org/RGtk2http://r-project.orghttp://www.math.csi.cuny.edu/[email protected]
-
R via ESS
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 12 / 40
-
R via ESSDetails
Probably the power users interface
R FAQ 6.2: Should I run R from within Emacs? Yes, definitely.
Lots of power, lots of documentation, and even an UseR 2006tutorial session.
Dont leave home without it.
http://ess.r-project.org/
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 13 / 40
http://ess.r-project.org/http://ess.r-project.org/http://ess.r-project.org/[email protected]
-
Rcmdr
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 14 / 40
-
RcmdrDetails
Very impressive tcltk-based UI by John Fox.
Aimed a R beginners, allowing them gradually morph from clickingmenus to entering commands.
Provides plugin mechanism used by urca; has been extended tooby QCAGUI.
Described in an JSS article.
http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 15 / 40
http://www.jstatsoft.org/counter.php?id=134&url=v14/i09/v14i09.pdf&ct=1http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/http://socserv.mcmaster.ca/jfox/Misc/Rcmdr/[email protected]
-
Outline
1 IntroductionWhat is Quantian?
2 FrontendsClassicWeb-basedGUIsProgrammatically
3 SummaryMain points
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 16 / 40
-
Rpad
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 17 / 40
-
RpadDetails
Rpad integrates R with the Apache webserver
Rpad also uses some Mozilla webbrowser customisation usingthe textile menu bar extension.
Together, they provide R using the browser as an operatingsystem paradigm; this can be useful when little or no software canbe installed on the client side, or when pre-programmed solutionsneed to be distributed.
Alternatively, Quantian also provides Rcgi as a second web-basedinterface.
http://www.rpad.org/Rpad
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 18 / 40
http://www.rpad.org/Rpadhttp://r-project.orghttp://www.rpad.org/Rpadhttp://www.rpad.org/Rpadhttp://www.rpad.org/[email protected]
-
Outline
1 IntroductionWhat is Quantian?
2 FrontendsClassicWeb-basedGUIsProgrammatically
3 SummaryMain points
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 19 / 40
-
JGR
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 20 / 40
-
JGRDetails
Cross-platform Java GUI for R that is the winner of the 2005Chambers Award.
Very nice integration of developer IDE (including syntaxhighlighting, autocompletion and context-sensitive help pop-ups),multi-tab help system, object browser, dynamic graphs, packagemanager, and more. Very slick.
http://www.rosuda.org/JGR/
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 21 / 40
http://www.rosuda.org/JGR/http://www.rosuda.org/JGR/http://www.rosuda.org/JGR/[email protected]
-
TeXmacs
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 22 / 40
-
TeXmacsDetails
GNU TeXmacs calls itself a wysiwyw (what you see is what youwant) editing platform.
Aims to provide a unified framework for editing structureddocuments with different types of content (text, graphics,mathematics, interactive content, etc.).
Rendering engine uses high-quality typesetting algorithms toproduce professionally looking documents.
Includes a text editor with support for mathematical formulas, asmall technical picture editor and a tool for making presentationsfrom a laptop.
TeXmacs can be used as an interface to numerous externalprograms for computer algebra, numerical analysis, statistics,shells, etc.
http://www.texmacs.org/
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 23 / 40
http://www.texmacs.org/http://www.texmacs.org/http://www.texmacs.org/[email protected]
-
Rkward
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 24 / 40
-
RkwardDetails
Rkward aims to becomes a modern GUI for R.
Uses the KDE / Qt libraries and toolkits providing nice desktopintegration.
Currently in alpha status.
http://rkward.sourceforge.net/
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 25 / 40
http://rkward.sourceforge.nethttp://rkward.sourceforge.net/http://[email protected]
-
Outline
1 IntroductionWhat is Quantian?
2 FrontendsClassicWeb-basedGUIsProgrammatically
3 SummaryMain points
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 26 / 40
-
Rserve
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 27 / 40
-
RserveDetails
Rserve provides a headless R server accessibleprogrammatically via TCP/IP from various languages over thenetwork.
Initially only provided with Java clients, it now also containsprovides C++ client examples (which are currently not installed inQuantian).
Every connection gets a separate workspace and workingdirectory.
Supports remote connection, authentication and file transfer.
http://www.rosuda.org/Rserve/
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 28 / 40
http://www.rosuda.org/Rserve/http://www.rosuda.org/Rserve/http://www.rosuda.org/Rserve/[email protected]
-
RPy
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 29 / 40
-
RPyDetails
RPy provides a simple yet robust interface to R from Python.
An option for those familiar with Python but not (yet) with R.
Related to, but simpler than, Omegahats RSPython
RPy can manage all kinds of R objects and can execute arbitraryR functions (including the graphic functions).
Errors from the R language are converted to Python exceptions.
Any module installed for the R system can be used from withinPython.
The examples and documentation are not currently installed inQuantian.
RPy is a part of G. Warnes OpenStatServer / RStatServer /Chaco projects.
http://rpy.sourceforge.net
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 30 / 40
http://rpy.sourceforge.nethttp://rpy.sourceforge.nethttp://[email protected]
-
RSPerl
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 31 / 40
-
RSPerlDetails
Bi-directional interface between Perl and R.
Embeds one interpreter (e.g. R) within the process of the otherinterpreter (e.g. Perl).
Permits to call routines and functions in the other language as ifthey were part of the local environment avoids having toprogram in a different language while making the functionality inthe other system transparently available with no additional coding.
This makes Perl more interactive, also allows the R/Splusprogrammer to use convenient and familiar syntax to mixcomputations in the two different sytems, and provide statisticalfunctionality to Perl applications.
Some environment variables are needed as seen on thescreenshot.
http://www.omegahat.org/RSPerl
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 32 / 40
http://www.omegahat.org/RSPerlhttp://www.omegahat.org/RSPerlhttp://www.omegahat.org/[email protected]
-
Embedded: Pl/R
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 33 / 40
-
Embedded: Pl/RDetails
Probably the earliest production-quality examply of embedding Rinto another application.
In this case, R is embedded into the PostgreSQL RDBM as justanother embedded language.
Obvious appeal: Programming with data goes directly to wherethe data resides.
Pl/R is shipped with the PostgreSQL sources.
http://www.joeconway.com/plr/
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 34 / 40
http://r-project.orghttp://r-project.orghttp://www.postgresql.orghttp://www.joeconway.com/plr/http://www.joeconway.com/plr/http://www.joeconway.com/plr/[email protected]
-
rJava
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 35 / 40
-
rJavaDetails
rJava is a simple R-to-Java interface. It is comparable to the.C/.Call C interface.
rJava provides a low-level bridge between R and Java (via JNI). Itallows to create objects, call methods and access fields of Javaobjects from R.
rJava is used e.g. by the recent RWeka package (also inQuantian).
Eclipse should be in the next Quantian revision.
http://www.rosuda.org/rJava
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 36 / 40
http://www.rosuda.org/rJavahttp://www.rosuda.org/rJavahttp://www.rosuda.org/[email protected]
-
SNOW
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 37 / 40
-
SNOWDetails
SNOW provides the Simple Network of Workstations, a simplewrapper around MPI, PVM and sockets to permit computation ona (possibly heterogenous) cluster of machines.
Beowulf-style distributed statistical computing with an easy Rfrontend.
Works out of the box in Quantian, with or without an underlyingopenMosix cluster.
We explored distributed statistical computing with Quantian inprevious presentations (Usenix 2004; DSC 2005).
http://www.stat.uiowa.edu/~luke/R/cluster/cluster.html
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 38 / 40
http:/dirk.eddelbuettel.com/papers/quantian_usenix2004_slides.pdfhttp:/dirk.eddelbuettel.com/papers/quantian_dsc2005.pdfhttp://www.stat.uiowa.edu/~luke/R/cluster/cluster.htmlhttp://www.stat.uiowa.edu/~luke/R/cluster/cluster.htmlhttp://www.stat.uiowa.edu/~luke/R/cluster/[email protected]
-
Outline
1 IntroductionWhat is Quantian?
2 FrontendsClassicWeb-basedGUIsProgrammatically
3 SummaryMain points
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 39 / 40
-
Summary
Quantian provides unparalled support for various ways to Use R ready-to-run directly out-of-the box.
Quantian can be used directly, via various graphical interfaces,different programming interfaces, embedded, as part of distributedcomputing, ...
Thanks to virtualization, users can also access Quantian withoutreboots.
Easy to try Quantian: just download and write to DVD, or order aninexpensive pre-made DVD.
http://dirk.eddelbuettel.com/quantian
Dirk Eddelbuettel ( [email protected] ) R front-ends in Quantian UseR 2006 40 / 40
http://dirk.eddelbuettel.com/quantianhttp://dirk.eddelbuettel.com/quantianhttp://dirk.eddelbuettel.com/[email protected]
IntroductionWhat is Quantian?
FrontendsClassicWeb-basedGUIsProgrammatically
SummaryMain points