Paul,

I may be a bit biased because I have been working with R/Java for quite some time, but I'll put in my two cents. 

One of the major questions that will inform your decision is whether your GUI will be embedded in R (i.e. your user is using R and calls the GUI), or if you have a stand alone program that embeds your program. Which one do you envision?


Working out of the box:
If you are creating a GUI to be called from R, you generally can't bundle your toolkit.

tcl/tk - This is probably the most reliable to use out of the box. It just works on most systems, though I believe that it requires a separate install on the Mac.

QT - Every 6 months or so I try to get the R-QT bindings working on my system. So far I have been unsuccessful despite trying to follow the many install steps closely. There is a lot of promise here, but as of now I'd label it as experimental.

GTK2 - Requires a separate install on most systems.

WXwidgets - I'm not aware of any major GUI project using this toolkit, though there seem to be bindings on omegahat.org.

Java - Works out of the box on most systems. Some machines may not have Java or their Java may be old, in which case it needs to be installed.


One thing you may consider is building upon one of the existing general purpose GUI projects. Deducer, R Commander and Rkward all allow for plug-ins. If you build of of these, then your work can fit easily into the user's data analysis work flow rather than having to find, download and install a separate stand alone program. If you go this route, the project you choose will inform your toolkit choice.


ian

On Jun 19, 2012, at 1:05 PM, Paul Johnson wrote:

> I'd like to have an R program that allows users to design regression
> equations by dragging variables around in a canvas, to interactively
> build path diagrams that lead to regressions. The diagrams would
> generate code that would run, and then results would somehow be linked
> to the drawings, perhaps showing coefficients on the edges or such.
> 
> I'd like this thing to facilitate multilevel modeling if possible, but
> I'd settle to just have a pallet of variable "nodes" that can be
> pulled out of a box on the side and re-positioned in the canvas, with
> arrows pointing in and out. If that could generate code to run glm,
> I'd be happy.
> 
> Then I'd like to generalize this so that the nodes could represent
> latent variables in a structural equation model.  Maybe I'd fiddle it
> up to write code for fitting with lavaan's estimators.
> 
> Has anybody tried to do such a thing?  Anybody know where to start?
> 
> If you were doing this, which of the graphical programming
> environments would you suggest?  I want this to work more-or-less well
> on all platforms. I've Googled enough to know it is not easy to decide
> which path to follow.  My first idea was to imitate the design of
> programs that draw mind maps, but they are mostly based on Java, which
> in my experience is hard to support for diverse platforms. Still, the
> JGR project seems to do well with it, so I'm not absolutely opposed.
> 
> I've been looking at GTK2, QT4, WXwidgets and tcltk. Judging from what
> I read in the email lists of various development projects, perhaps QT4
> is the least troublesome multi-platform gui library, but it is not
> entirely open/free.  QT, of course, is the underlying framework of the
> KDE desktop.  My favorite editor, LyX, is written with QT, so I am
> sure it works. The Gambit game theory project chose WX.  It appears to
> me that tcltk is constantly on the brink of extinction, and yet new
> versions pop out now and then.
> 
> In WinBUGS, there's a graphical model designer called Doodle that is
> quite pleasing to me, but it seems there must be something wrong with
> it because nobody boasts about it very much :(
> 
> pj
> -- 
> Paul E. Johnson
> Professor, Political Science    Assoc. Director
> 1541 Lilac Lane, Room 504     Center for Research Methods
> University of Kansas               University of Kansas
> http://pj.freefaculty.org            http://quant.ku.edu
> 
> _______________________________________________
> R-SIG-GUI mailing list
> R-SIG-GUI@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-gui
> 


	[[alternative HTML version deleted]]

