我创建了自己的新 R 库(称为“Media”)。当我尝试用RGui加载它时没有问题,并且可以调用新包中定义的函数。这就是我加载它的方式:
> library(Media)
但是,我也尝试从以下位置调用该函数Java/JRI http://www.rforge.net/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。
任何帮助,将不胜感激。
非常感谢。
Edit:
参数lib.loc
看起来可行,至少这句话不会返回错误:
library("Media", lib.loc = "c:/Users/Albert/Documents")
但之后,调用包中的函数re.eval("myfunction()");
仍然失败,因为没有正确找到该功能。
您可以修改库路径 - 请参阅?.libPaths
在 R 中,您只需将私有库添加到路径中即可。 GUI 会为您完成此操作,但如果您在外面,则不会发生这种情况。例如:
re.eval(".libPaths('c:/users/foo/Documents/R')");
然后加载你的包。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)