如何在Eclipse的StatET插件中安装'rj'?

时间:2010-09-16 14:46:42

标签: eclipse r

我已经开始尝试使用StatET和Texlipse来生成SWEAVE报告。在Eclipse的StatET插件(OS X 10.6.4)中启动R控制台时,收到消息:

[INFO] The R package 'rj' is not available, R-StatET tools cannot be initialized.

有关http://www.walware.de/goto/statet州的信息:

“该软件包仅适用于StatET中的默认R控制台(RJ)。因此,您必须使用命令行安装和更新它:”

R CMD INSTALL --no-test-load rj_*.tar.gz

这究竟意味着什么?

在Eclipse“安装新软件”和网站

WalWare - http://download.walware.de/eclipse-3.6

它说明了

  RJ Core Library 0.5.0.b201008271600sw

已安装。

感激地收到任何有用的指导。

5 个答案:

答案 0 :(得分:6)

[rant]我也缺乏将我的回答放在它所属的地方的声誉。那里没有按钮表明这一点。只是一个无处可见的大屏幕点击。负面的可发现性很糟糕。它在Eclipse中很糟糕,在这里也很糟糕。 [/咆哮]

我发现在Ubuntu下令人沮丧。在我的系统上,每个主要的Ubuntu升级都使用新版本的R,我必须重新执行此过程。

有一次我尝试在某些Eclipse配置字段中的路径名中使用波浪号(〜)字符。这无声地失败了。

我目前的配置如下。在我的〜/ .Renviron文件中:

R_LIBS_USER=~/etc/R/amd64/2.11

一旦rJava工作,这里就有一个rJava目录。就这样我不会让自己疯狂,在〜/ etc / R / README中我记下我当前的R配置是由〜/ .Renviron控制

某种程度上,我最终遇到了许可问题

R CMD javareconf 

失败了。一旦感到沮丧,我愚蠢地在sudo下运行这个来解决这个问题,最终导致生成的文件出现权限问题。笨!正确的解决方法是使/etc/R世界中的所有文件都可读。也许javareconf只有在您使用默认Java时才会很重要。以前,我在运行Sun的JRE。从10.10开始,我正在运行icedtea6,它似乎工作正常。有一次,我的配置再次成功。

一旦我有了正确的Java绑定,从命令行R:

install.packages("rJava")

我过去曾经遇到过文件权限问题。我认为它是通过使/etc/R世界中的所有文件都可读而修复的。

以下是一个有用的诊断,可以在任何R控制台中查看是否有效:

> system.file("jri",package="rJava")
[1] "/home/allan/etc/R/amd64/2.11/rJava/jri"

如果在Eclipse下面看起来不对,那么也有一些启动调试可用,但是在我在StatET的文档中注意到这一点之前它已经花了很长时间。

我为R 2.11 debug创建了R控制台运行配置在JRE选项卡中添加-Dde.walware.rj.verbose=true。在“常用”选项卡中,单击Allocate additional Error Log Consoles

主要配置选项如下。主标签Launch Type: RJ。 R_Config选项卡,您需要选择已配置的R安装,或者如果没有可用的安装,则创建/编辑一个。我是Name=R, Location=/usr/lib64/R根据我在上面设置的方式,在环境标签中我有R_LIBS_USER=/home/USER/etc/R/amd64/2.11。不要在这里使用波浪号(〜)字符!

如果你最终像我一样捣乱这个问题,你最终会杀死很多死机。在主选项卡中,我添加了程序选项--no-save。我认为这没有任何作用,因为我不能通过按CTRL-D来结束我的控制台。在R_Console选项卡中,我添加了以下R片段:

q <- function(save = "no", status = 0, runLast = TRUE){
.Internal(quit(save, status, runLast))
#<environment: namespace:base>
}

当用红色方块杀死一个R控制台时,这摆脱了烦人的“保存工作区”提示(这是符号?)我当前的工作区还包括一个C项目,所以我的R控制台不断出现在空白的C-下面构建控制台。一切都很烦人!尚未解决这个问题,但我确实发现,在一个StatET代码窗口中,键绑定CTRL-R C将R控制台拉到顶部。

使用R 2.11 debug配置,我得到一个名为/usr/lib/jvm/java-6-openjdk/bin/java的额外控制台。你必须在控制台下拉列表中找到它。以下是成功初始化的相关摘要:

CONFIG: JR library path: 
    /home/allan/etc/R/amd64/2.11
    /usr/local/lib64/R/site-library
    /usr/lib64/R/library
10-Dec-2010 7:56:47 AM org.rosuda.rj.JRClassLoader addClassPath
FINE: Added '/home/allan/etc/R/amd64/2.11/rJava/java' to classpath of URL loader  

更多的spoo,最后:

10-Dec-2010 7:56:48 AM de.walware.rj.server.jriImpl.RosudaJRIServer start
INFO: R engine started successfully. New Client-State: 'Connected'.

看起来不错吧?但是在R控制台中看到了:

[INFO] The R package 'rj' is not available, R-StatET tools cannot be initialized.

忽略那个撒谎的混蛋!原来我的rj工作得很好。不知道为什么这个失败消息仍然存在。

每次遇到这个问题时,我的运动鞋都会出现一些新的惊人碎石。

我不知道我是否已经涵盖了所有内容,但我现在已经写得足够了。也许如果有评论我会回来填补空白。

注意:在这里找到一个用于通过键盘切换控制台的Eclipse插件:Eclipse: Keyboard shortcut for switching between consoles?

答案 1 :(得分:3)

您似乎需要安装可以从StatET站点下载的RJ库:http://download.walware.de/rj/rj_0.5.0-5.tar.gz(可以在http://www.walware.de/it/downloads/rj.mframe找到更新版本的RJ)

如果您将该文件保存在桌面上,则可以在导航到桌面或保存库文件的任何位置使用他们提供的命令R CMD INSTALL --no-test-load rj_*.tar.gz将其加载到R中。或者,您可以使用GUI界面并选择R中Install packages from local ZIP files下的Packages,但我没有在Mac上使用R,因此布局可能略有不同。

答案 2 :(得分:3)

使用

在R控制台中安装rj后
install.packages(c("rj", "rj.gd"), repos="http://download.walware.de/rj-1.1")

(有关正确的rj版本,请参阅http://www.walware.de/?page=/it/statet/troubleshooting.mframe),

不要忘记更新Eclipse中的R_LIBS变量(Windows - &gt; Preferences - &gt; StatET - &gt; Run / Debug - &gt; R Environments - &gt; Edit)。要找出值,只需在R控制台中键入:

packageDescription("rj").

在我的Windows 8安装中,这将返回C:/Users/Fibonacci.PYTHAGORAS/Documents/R/win-library/3.0/rj/Meta/package.rds。 R_LIBS的值设置为

C:/Users/Fibonacci.PYTHAGORAS/Documents/R/win-library/3.0

这是安装所有库的路径。

正如http://www.walware.de/?page=/it/statet/troubleshooting.mframe新版本(版本&gt; 0.5.5)中所述,不需要R CMD INSTALL etc...命令。

答案 3 :(得分:1)

这里我和我找到的解决方案非常相似。

我最初使用Eclipse内置工具“安装新软件......”来安装Statet。

我似乎下载了Statet + rj并且安装过程进展顺利。

首次安装后,我尝试再次安装这两个软件包。 Eclipse拒绝阅读它们已经安装完毕。并且,这两个包/程序实际上都列在了Eclipse的窗口中。

但是,R控制台仍然拒绝启动,对话框读取我必须检查rj是否可用以及文件路径是否正确。另一个奇怪的事情是,窗口浏览器无法在我的磁盘上找到rj。

???

要解决我的整个问题,我只需从http://www.walware.de/下载rj并通过r控制台安装此软件包并使用基本的install.packages()命令。

它现在完美无缺。

但是,我仍然不明白一切.....: - )

答案 4 :(得分:0)

我发表评论但我缺乏必要的声誉。对于Windows,过程是相同的。没有zip文件。使用tar.gz.为我工作。该命令与下载的文件位于同一文件夹中:

$ G:\ R-2.12.0 \ bin \ i386 \ R.exe CMD INSTALL --no-test-load rj _ * .tar.gz