我有一个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有关(一个可能的问题来源指出here)。不过,我不知道如何解决这个问题,到目前为止我读到的所有建议都涉及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)
所以在我的电脑上似乎有些意外的错误配置,但我不知道在哪里看。
任何人都可以帮助我吗?
平台x86_64-w64-mingw32 arch x86_64
os mingw32 system x86_64, mingw32状态专业 3小3.2 2016年10月11日 第31天svn rev 71607
language R version.string R version 3.3.2(2016-10-31)昵称真诚的南瓜补丁
答案 0 :(得分: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
像以前一样工作。