r语言计算 java gUI_R下的GUI方案

GUI方案

R本身是个统计计算平台,也不是用来做GUI的,所以其实都是在用R和其他语言或组件的接口来做这个事情。当初玩过的平台有三个:Tcl/Tk,GTK(借助Rgtk2,大名鼎鼎的Rattle也是用的这个方案)和Qt。

Tcl/Tk,使用tcltk

这个是R自带的一个接口,安装的时候只要没刻意去掉,就可以直接用的。最早发现它就是因为在R默认的几个package里,它似乎和统计没任何关系,后来发现,这玩意是用来写图形界面的。这里是个用tcltk写的计算器的小例子,运行效果如下,能看到图形一行一行地出来。

1.png

优点

Tk是一套在Unix-like,Mac,Windows下可移植的快速图形开发工具ToolKit的缩写。它有多种语言界面,如

C,Perl,Python等。而其中其中常见也最方便短小的界面语言是Tcl。Tcl/Tk在有X

window的unix-like系统下基本是缺省配置,在windows下的wrapper也不过几百k。相对于其他图形界面开发语言来说实在是短小精

悍。

缺点

Tcl语言是一种几乎没有数据类型的语言!这是短小、可移植带来的代价。它是一种几乎只用list作数据类型的语言,构造十分精巧,写起它的语法解释程序时很简单。反过来,在写应用程序时面对复杂的控制和计算有点麻烦,但是仍然能够解决。

GTK,使用RGtk2

这个算相对成熟一些的方案了,毕竟rattle这种杰作也是基于RGtk2的。想看RGtk2的例子,其实大家直接看rattle就OK了,不过这里还是贴一个最简单的例子,效果如下。

3.png

优点

跨平台,而且开发难度也相对不高。GTK的界面我个人也觉得挺不错了,这个当然也算优势。

缺点

通过RGtk2调用GTK接口的话,似乎效率有待提高,比较复杂的项目的时候会有卡顿,当然也可能是我这个06年的机器太老了(穷呀……哪个土豪赞助我一下下……)。

Qt

最早看到Qt里调用R,是Dirk的RInside里的一个例子。反正Rccp也是他老人家写的,搞搞Qt也在情理之中呀!RInside的例子效果如下。

2.png

优点

这个方案就是用Qt接受做图参数,用R做图再传回给Qt。在GUI设计上,Qt基本是无所不能的,Rstudio就是用Qt写的呀!我最看好的也是

个方案。把R包进一个Qt做的应用里,用ggplot2做图,再自动生成个报告什么的,几乎无敌了。而且这样可以直接发布可执行文件哟。

缺点

当初玩的时候是在Linux下一切正常,在windows下似乎一直有各种编译错误,不知道现在解决了没。(如果解决了,请一定在下面留言,我回广州会考虑请你吃饭。)

现有的package

估计多数正常人也没精力写这些东西,但还希望有兄弟可以在这个方面有所突破,这毕竟也是R在实际应用的一个选择。相关的package的话,刚刚已经提到三个了,RGtk2、rattle和RInside。

这里特别要提到两个package,playwith和latticist。两个package都由Felix Andrews开发,也都是做R的交互式GUI用的,但上次更新已经是一年多之前,不知道是不是已经放弃维护了。

playwith通过GTK+,为搭建更负责的GUi程序提供了更多的组件,和RGtk2、tcltk两个package的地位类似。注意下面例子左边工具栏和上边菜单栏,包括局部放大、手动添加注释等等功能。

4.png

latticist是一个可视化工具,它将现有的R命令封装成各种按钮,以降低使用门槛。下图是latticist的一个例子。

5.png

最后

这次提到的这些东西都是以前想做的,以后不知道会不会再玩,先记下来免得忘了。

PS:考虑卸掉ubuntu换CentOS了,Revolution的东西似乎只能在红帽系上搞。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值