我创建了自己的新 R 库(称为“媒体”)。当我尝试用 RGui 加载它时没有问题,我可以调用新包中定义的函数。这就是我加载它的方式:
> library(Media)
但是,我也试图从Java/JRI代码中调用这些函数,当我加载新的 R 包时,Java 似乎没有找到 pacakge,抛出消息“库中的错误(媒体):对象媒体' 未找到”
这是我当前使用 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()");
仍然失败,因为没有正确找到该函数。