【发布时间】:2011-01-29 11:05:38
【问题描述】:
我创建了自己的新 R 库(称为“媒体”)。当我尝试用 RGui 加载它时没有问题,我可以调用新包中定义的函数。这是我加载它的方式:
> library(Media)
但是,我也试图从Java/JRI 代码中调用该函数,当我加载新的 R 包时,Java 似乎没有找到包,抛出消息“库中的错误(媒体):找不到对象“媒体””
这是我当前使用 JRI 的代码:
REXP rexpSetFolder = re.eval("setwd('C:/Users/Albert/Documents')");
REXP rexpFolder = re.eval("getwd()");
System.out.println(rexpFolder.asString());
REXP rexpLoad = re.eval("library(Media)"); // fails
如果没有“setwd”命令,它也会失败,并且对现有 R 函数的简单调用可以正常工作。我在 Windows 下使用 R 2.10 和最新的 JRI 0.5-0。
任何帮助将不胜感激。 非常感谢。
编辑:
参数lib.loc好像可以用,至少这句话不返回错误:
library("Media", lib.loc = "c:/Users/Albert/Documents")
但是在那之后,使用re.eval("myfunction()");调用包中的函数仍然失败,因为没有正确找到该函数。
【问题讨论】: