Using RWeka M5P in RStudio yields java.lang.NoClassDefFoundError: no/uib/cipr/matrix/Matrix

Using RWeka M5P in RStudio yields java.lang.NoClassDefFoundError: no/uib/cipr/matrix/Matrix

我有一个 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)

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

谁能帮帮我?

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) nickname Sincere Pumpkin Patch

阅读 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一切如常。