在RStudio中使用RWeka M5P会产生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有关(一个可能的问题来源指出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)
所以它似乎是我的电脑上的一些意外错误配置,但我只是不知道在哪里看.
谁能帮我?
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像以前一样工作.
标签:java,matrix,rstudio,rjava,rweka 来源: https://codeday.me/bug/20190623/1266231.html