I'm looking for suggestions on how to go about building an application that uses R
for analytics, table generation, and plotting. What I have in mind is an application that:
Note that I am not talking about a general-purpose fron-end/GUI for exploring data with R
(like say Rattle
), but a specific application. Some questions I'd like to see addressed are:
Rattle
article in R
-Journal intrigues me:It is interesting to note that the first implementation of Rattle actually used Python for implementing the callbacks and R for the statistics, using
rpy
. The release ofRGtk2
allowed the interface el- ements ofRattle
to be written directly in R so thatRattle
is a fully R-based application
If it's better to use another language for the GUI part, which language is best suited for this? I'm looking for a language where it's relatively "painless" to build the GUI, and that also integrates very well with R
. From this StackOverflow question How should I do rapid GUI development for R and Octave methods (possibly with Python)? I see that Python
+ PyQt4
+ QtDesigner
+ RPy2
seems to be the best combo. Is that the consensus ?
Anyone have pointers to specific (open source) applications of the type I describe, as examples that I can learn from?
There are lots of ways to do this, including the python approach you mention. If you want to do it solely within R and if your aims are modest enough, the gWidgets package can be used. This exposes some of the features of either RGtk2, tcltk or qtbase (see the qtinterfaces project on r-forge) in a manner that is about as painless as can be. If you want more, look at using those packages directly. I'd recommend RGtk2 if you are going to share with others and if not, qtbase or tcltk.
Python + Qt4 + RPy = Much Win.
For example, see what Carson Farmer has done with Qgis and the ManageR plugin - its a full R interface to geographic data in the Qgis mapping package.
Depending on how much statistical functionality you need you might even get away without needing it at all, doing all the stats in Python, leveraging such goodies as the Numpy numeric package and the Qwt plotting canvas.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With