2

打造得心应手的统计编程平台--Eclipse + StatET

 3 years ago
source link: https://cosx.org/2008/12/eclipse-statet-for-r-editor/
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

打造得心应手的统计编程平台--Eclipse + StatET

关键词:Eclipse; R 语言; StatET; 编辑器

本文的目的是告诉你如何打造一个好的 R 的编程界面和环境,让你充分享受用 R 编程的乐趣。这不是一个关于 R 的教程,可以访问这里以获得更多关于 R 的资源。大家也可以加入 QQ 群 42131822 和 R 的邮件列表 (需要 google 账号) 可以认识正在使用 R 的更多的朋友,也可以通过hurongxing[at]126.com和我联系。本文论坛讨论帖参见这里

为什么会选用 Eclipse 呢?

  • 和 R 一样,Eclipse 也是开源的。你可以免费从 www.eclipse.org 下载
  • Eclipse 是一个很好的编辑器
  • 通过 Eclipse,你可以非常方便地维护 R 的脚本文件
  • Eclipse 是一个开放的平台,通过插件,你可以为自己量身订做个性化的编辑环境。

除了 Eclipser,我们还需要 Stephan Wahlbrink 为 Eclipser 写的 R 插件 StatET(www.walware.de/goto/statet

StatET 的特点:

  • 支持在 Eclipse 平台上(通过将代码发送到 R)运行 R 代码
  • 支持语法高亮显示
  • 支持使用 R 代码模板
  • 支持创建 R 的文档文件 (*.Rd)
  • 可以从 Eclipse 运行 R 命令

1. 安装软件

step 1: 在 R 中执行命令install.packages("rJava"),安装 rJava 包。

step 2: Eclipse 是一个 Java 程序,所以需要 Java Runtime Environment(JRE),先从 www.java.com 下载并安装 JRE.

step 3: 从 www.eclipse.org 下载 Eclipse Classic。Eclipse 不需要安装,解压即可使用。

step 4: 安装 StatET。StatET 可以通过 Eclipse 安装:

  • 启动 Eclipse (废话)。
  • 依次选择 “Help”->“Software Updates”,在弹出的对话框中选择“Available Software” 标签。
  • 点击 “Add Site” 按扭,在弹出的对话框中将“http://download.walware.de/eclipse-3.4” 加入到更新源中(如果是 3.3 版本的 Eclipse 则添加http://download.walware.de/eclipse-3.3),确定后,出现下图

安装

然后按提示安装 StatET。

2. Eclipse 使用基础

下面我们来看 Eclipse 是如何使我们的 R 的编程这旅变得更方便。这里只对 Eclipse 作一个简介,有关 Eclipse 的更多信息可以参考 Eclipse 的在线文档:

http://www.eclipse.org/documentation

2.1 Eclipse 的界面

Eclipse 启动后如下图。

开始界面

依次选择菜单栏中的 “Wndows”,“Open perspective”,“Other”, 在弹出的对话框中选中“StatET” 并单击“确定”,我们就打开了 StatET 视界(perspective),如下图:

视界

这儿的概念视界(perspective)就是指的 Eclipse 提供的一个桌面开发环境,它包含不同的窗口,编辑器和视图,它们分别被归类到不同的标签(tab)中。这些组件可以随意拖动,放到不同的位置。

2.2  Eclipse 中的工程

与大多数编程环境一样,Eclipse 也是用工程(project)来管理我们工作的。在我们开始编程前应当新建一个工程。

2.2.1  新建一个工程

依次选择菜单栏中的 “File”, “New”,“R-Project”,打开新建 R 的工程的对话框。如下图所示

建立工程

在上图所示的对话框填好工程名和工作路径后,单击”Finish”按钮。我们的工程就建好了。新建好的工程我们可以在 “Project Explorer” 视图中看到。在下图中,我建立了一个名为 myProject 的工程。

myproject

一个工程就相当于一个容器,你可以在其中添加或新建各种各样的文件。建好一个工程后,在该工程的工作目录下就会多出一个 “.project” 文件,该文件用来保存整个工程的各种信息。

2.2.2 向工程添加文件。

右键单击 “Project Explorer” 中的工程名,依次选择“New”,“R-Script file”,打开新建 R 的脚本文件对话框。如下图

添加R脚本

在选择好文件夹,指定了文件名后,单击 “Finish”,我们的 R 脚本文件就建好了。本例中,我建立了一个名为“prime.R” 的文件,用来查找质数。

  • 你可以通在工程名上单击右键选择 “Import”,导入其它文件。需要注意的是被导入的文件将被复制到当前工程的目录下,以后在工程中对文件的修改不会应用到原始文件。
  • 与导入不同,你可以通过在工程名上单击右键选择 “File”,在弹出的对话框中选择 “Advanced”,将外部文件链接到工程中来,这样该文件就不会复制到当前工程的工作目录中。
  • 为了更好地组织你的文件,你也可以在工程下建立子目录。

2.3 文本编辑

现在我们来体验下 Eclipse,选择我们刚刚建立的 prime.R 文件,在其中输入

prime = function(n){
    prime1 = function(x){
        y = TRUE
        for(i in (x %/% 2):2){
            if(x %% i == 0) y = FALSE
            if(x == 2 | x == 3) y = TRUE
        }
        y
    }
    x = c()
    for (i in 2:n){
        if(prime1(i)) x = c(x,i)
        if(i == n) return(x)
    }
}
prime(100)
prime(1000)

感觉到它的魅力了吧。支持自动缩进,语法高亮显示。Eclipse 还有很多特性可以让我们更愉快、更高效地编程。它的部分特征还包括:

  • 行号和自动区分: 要在文本编辑器中显示行号和快速区分,请右键单击文本编辑器左侧灰色竖条,在上下文菜单中选中 “Show Line Numbers” 和“Quick Diff”。快速区分的可以区分不同的代码段,如不同的函数体。如果你删除了某行,该行的行号下将有一根小黑线,鼠标指向它时,删除的内容将被显示出来。
  • 自动完成:你可以在单词一部分后按 Alt+/,Eclipse 将自动完成未输完的部分。
  • 历史记录:你每次保存文件时,Eclipse 就会记录下这你对文件的改动。这样你就可以方便地恢复到文件的以前版本。要打开历史记录,在 “Project Explorer” 中右键单击文件名选择“Compare With”,“Local History”
  • 文件比较:与历史记录类似,你也可以在两个文件的不同。
  • 书签:书签可以帮助你快速定位到程序的某行。要插入书签,右键单击插入的行的左侧选择 “Add Boodmark”。在菜单栏中选择“Window”,“Show View”,“Other”, 在里面选中“Bookmarks” 可以打开书签视图。你也可以对整个文件都加个书签。
  • 任务标签 (Task):类似书签,你也可以在文件中加入任务标签。
  • 代码折叠。

3. StatET 插件

3.1 配置交互环境

我们在前面编辑的 R 程序现在还不能运行。还要对 StatET 作一番配置才行。选择菜单栏中的 “windows”,“Preferences”,打开配置窗口,展开 StatET,如下图

配置交互环境

定位到 “R Environments”, 点右侧的按钮 “Add”, 将你计算机上安装的 R 的添加进去,如下图。

设置路径

关闭该对话框.

在 Eclipse 菜单栏中选择 “Run”->“Run Configurations”, 在 Main 标签中按下图作出配置。

运行配置

在工具栏中打开刚配置好的 R 控制台,如下图。

运行

R 控制台被打开。点红色按钮就可以关闭 R 控制台。

控制台

在控制台的底部,你可以手动输入 R 的代码,提交给 R 执行。如下图。

命令行

现在,我们就可以将前面在 Eclipse 中建立的文件 prime.R 提交给 R 运行。

将焦点设置到 “prime.R” 文件上,这时工具栏上就会出现 R 的运行命令,

image

,我们可以选择我们想要的方式运行文件 prime.R 中的代码。

也可以在文件中单击右键,在上下文菜单中选择所要的运行方式。这里,我们通过快捷键先按 Ctrl+R, 再按 Ctrl+D, 将整个文件直接提交给 R 执行。在 R 控制台中就出输出执行结果。如下图。

运行代码

这样我们就成功地在 Eclipse 中编辑并运行 R 代码了。

在退出 Eclipse 时,应先关闭 R 控制台(按钮 image ),再退出 Eclipse.

注:下面的内容来自 COS 论坛(https://cos.name/cn):

Ihavenothing:请教一个问题,我想把 base 里面一些常用的函数导入到 StatET 的语法库中,从而实现高亮,但它提供的窗口好像只能一个一个添加,这样工程量似乎太大了,不知道有没有办法实现批量导入?

Ihavenothing:是这样的,先找到你设置的工作空间文件夹,然后依次打开. metadata.plugins\org.eclipse.core.runtime.settings\,找到 de.walware.statet.r.ui.prefs 这个文件(如果没有这个文件,见最后),在里面找找看有没有以”text_R_rDefault.Custom2.items=” 为开头的语句,如果有的话,只需把你准备实现高亮的词语加到等号后面就可以了。保存之后进入 Eclipse,选择 Winow 菜单中的 Preferences 对话框,顺次展开 StatET->Source Editors->R Identifier Groups,在右边的框中选中 Custom 1(注意,配置文件中对应的是 Custom2,可能是个 bug),如果下面的列表框中出现了你刚才添加进去的词语,就说明配置成功了。接下来,只要在 R Syntax Coloring 对话框中找到 Custom 1 这一项,然后应用你自定义的高亮方式就可以了。

需要注意的是新加入的词语不能与 StatET 中已有的重复,否则可能会出错。

下面这个链接中是一个文本文件,里面是我写好的配置语句,包括了 base 包里面大部分的函数。打开之后把文本文件中的内容添加到上面说过的那个配置文件中就可以了(当然要把原来已经有的相应语句覆盖掉)。

http://www.box.net/shared/p8rigr8yv7

如果找不到上面提到的那个文件,可以先在 R Identifier Groups 对话框的 Custom 1 中随便添加一个函数,然后再进入那个文件夹,就可以发现 de.walware.statet.r.ui.prefs 这个文件了。

cloud_wei

网上搜了一个函数,是搜索 R 中的函数的。

CODE:

findfuns = function(x){
    if (require(x, character.only = TRUE)){
        env <- paste("package", x, sep = ":")
        nm <- ls(env, all = TRUE)
        nm[unlist(lapply(nm, function(n) exists(n, where = env,
            mode = "function", inherits = FALSE)))]
    }
    else character(0)
}

z = lapply(.packages(all.available = FALSE), findfuns)
z = unique(sort(unlist(z)))
cat(z, file = "out.txt", sep = ",")

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

统计之都微信二维码

← 刘重杰:和统计接触的经历 统计之都《本周导读》第一辑 →

发表 / 查看评论


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK