4

我有一个 R 脚本,它曾经在我使用 RWeka 的 M5P 算法的地方工作得很好。

由于我不知道的原因,它停止正常工作,现在我得到了

Error in .jcall(o, "Ljava/lang/Class;", "getClass") : 
    java.lang.NoClassDefFoundError: no/uib/cipr/matrix/Matrix

大概这与我更新 RStudio 或 Windows 或 R 或​​某些包有关。奇怪的是,当我从简单的 R gui 运行脚本时,它运行良好。所以这似乎与 RStudio 和 rJava 有关(此处指出的可能问题来源)。不过,我不知道如何解决这个问题,到目前为止我读到的所有建议都涉及 MacOS 或 Linux,但我使用的是 Windows 10。我的 Java 版本是

java version "1.8.0_72"
Java(TM) SE Runtime Environment (build 1.8.0_72-b15)
Java HotSpot(TM) Client VM (build 25.72-b15, mixed mode)

我的同事可以在 Windows 10(由于公司政策导致相同的更新)和 RStudio(相同版本:1.0.136)上运行相同的脚本而不会出现问题。她的 Java 版本是

java version "1.8.0_101",
Java(TM) SE Runtime Environment (build   1.8.0_101-b13),
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

所以这似乎是我的电脑上的一些意外配置错误,但我只是不知道去哪里找。

谁能帮我?

platform x86_64-w64-mingw32 arch x86_64
os mingw32 system x86_64, mingw32 status major 3 minor 3.2
year 2016 month 10
day 31 svn rev 71607
language R version.string R version 3.3.2 (2016-10-31) 昵称 真诚的南瓜补丁

4

1 回答 1

4

在阅读了 RWeka Odds and Ends之后,我意识到WEKA_HOME我的配置文件中的路径被设置了,而且 Weka 包管理器 (WPM) 似乎在保存必要的模块方面存在问题。解决方案是设置我的硬盘驱动器的路径并刷新缓存。

Sys.getenv("WEKA_HOME") # where does it point to? Maybe some obscure path? 
# if yes, correct the variable:
Sys.setenv(WEKA_HOME="C:\\MY\\PATH\\WEKA_WPM")
library(RWeka)
WPM("list-packages", "installed")

之后,一切恢复正常并M5P像以前一样工作。

于 2017-01-30T14:26:25.173 回答