5

Rcmdr: 山寨版的 SPSS

 3 years ago
source link: https://cosx.org/2008/12/rcmdr-looks-like-spss/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Rcmdr: 山寨版的 SPSS

可以认为R最传统的工作方式为命令行,估计大多数人最开始使用R的时候也会直接在 console 中就干活了。然后就是有的人使用 R 自带的那个脚本编辑器(至今为止,绝大部分时候面临较为简单的工作的时候,我还是用它),有的人则发现这个编辑器实在是太简陋了点,属于 Notepad 的精简版,从而会选择一个自己喜欢的编辑器来编写脚本。

很多人在介绍 R 的时候,就不约而同会描述 “命令行,没鼠标点击完成”,有的人还会过犹不及的介绍说这显示了 R 的“先进性” 等等。其实这应该算误解,在 R 中 也可以实现 SPSS 的那种 “鼠标为主” 的工作方式,其实 SAS 的一些模块也是 “鼠标为主”,Stata、Splus 等莫不如此。而我们的 R 也有完全可以支 持这种“鼠标为主” 的用户工作方式,其实 John Fox 的 Rcmdr 包就是一个相当赞的尝试。而该包主要使用了 R 中最基础的 tcl/tk 等包,可以说只要你安装了推荐的一些包,再加上 Rcmdr 中的图像 框架就实现了很多人所要求的 “鼠标” 操作。

这里啰嗦一下,Windows 中 R 中是存在鼠标点击的(在 * nix 中,直接在 console 中启动,可以认为真的不存在鼠标点击——如果排除关闭该终端窗口的话,而这是操作系统的功能),比如设置 repos、安装 packages,清空全部对象等操作已经设置 Rgui 的样子等,都是可以 GUI 方式完成的,当然使用脚本的方式实现有时候似乎更加 “高级” 和“方便”。此外,在 R 的某些作图功能中,也是有一定的互动性的,虽然只有那个一两个函数支持这种“互动”,如果还算得上的话。可能很多人都用过函数 fix,弹出一个数据表出来,这个还是可以算得上简单的互动的。

而我们的 tcl/tk 是完整的底层 “集成” 在 R 中,同时 tcl/tk 也是脚本性质的语言(可参考 tcl/tk 中文网),而且功能不弱,其中 Tk 部分就提供了 GUI 的基本功能。我们的 John Fox 就是主要在此基础上实现了我们对 “鼠标操作统计分析” 的要求。

从思路上来说,Rcmdr 包的设计思路其实很清晰:tcl/tk 主要起到了一个鼠标转化为 R 代码的功能,也可以简单看成是一种映射机制。R本身是开源的,Rcmdr 的代码都可以得到,有空的兄弟姐妹可以看看。

最初的 Rcmdr 功能集中在常规的统计功能方面,随后加入了 CRAN 中越来越多的分析功能——只需要相应的添加 tcl/tk 的组建,并映射到 R 中各个包中的相应函数即可。理论上来讲,可以在 Rcmdr 中添加所有 R 能做的事情,并将其 “鼠标化”。

根据我的经验,用 Rcmdr 来替代 SPSS、Splus、Stata 等需要花银子的软件的 “鼠标操作” 功能,常规来说是足够了。如果你感觉不满,完全可以自己添加一下 tcl/tk 来玩玩嘛。

另外,R 和 java、Gtk 等结合的都非常好,也有人做了 R 的 (D)COM。已经有一些 GUI 方式的界面出来,“鼠标化” 的程度想必会越来越高。不过 Rcmdr 是我所知的基于 R 最基础的包而来的 GUI,可扩展性其好,故而给大家介绍下,希望给新手推荐 R 的时候,不要随便吓唬人家使用 R 只能“命令行”。

敬告各位友媒,如需转载,请与统计之都小编联系(直接留言或发至邮箱:[email protected]),获准转载的请在显著位置注明作者和出处(转载自:统计之都),并在文章结尾处附上统计之都微信二维码。

统计之都微信二维码

← 决策与风险 刘重杰:和统计接触的经历 →

发表 / 查看评论


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK