昨天我们迁移到了我们公司的Windows 7,并且还更新了java软件包以及R(到2.14)。
然后我尝试加载xlsx包,因为我非常依赖它但是我收到以下错误:
Error : .onAttach in attachNamespace()
Error: .jnew("org/apache/poi/xssf/usermodel/XSSFWorkbook")
我尝试了以下操作,但它不起作用:
Sys.setenv(PATH=paste(Sys.getenv("PATH"),"C:\\Program Files (x86)\\Java\\jre6\\bin\\client",collapse=';'))
options(java.parameters = "-Xmx1000m")
因为我从不使用java,所以我不知道我能做什么。你能帮助我吗?
谢谢!
sessionInfo() R版本2.14.1(2011-12-22) 平台:i386-pc-mingw32 / i386(32位)
区域设置: [1] LC_COLLATE = German_Austria.1252 LC_CTYPE = German_Austria.1252
[3] LC_MONETARY = German_Austria.1252 LC_NUMERIC = C
[5] LC_TIME = German_Austria.1252附加基础包: [1] stats graphics grDevices utils数据集方法库
其他附件包: [1] xlsxjars_0.4.0 rJava_0.9-3
通过命名空间加载(而不是附加): [1] tools_2.14.1 xlsx_0.4.2
有趣的是,XLConnect包加载没有问题.EDIT:好的,它加载没有问题,但加载工作簿不起作用:
Error: NoSuchMethodError (Java): org.apache.xmlbeans.XmlOptions.setSaveAggressiveNamespaces()Lorg/apache/xmlbeans/XmlOptions;
所以也许它真的没有Java问题。但我不想将我的所有代码重新写入XLConnect!
没有任何想法我能尝试什么?
答案 0 :(得分:4)
我遇到了完全相同的错误并找到了解决办法。如果在网络上指定库位置以将软件包安装到其中,则会发生错误。
## Example where error occurs:
install.packages('xlsx', lib='\\network\R\library')
library('xlsx', lib='\\network\R\library'))
但是,如果在R中更改软件包安装的默认位置,则应该能够在没有错误的情况下调用软件包库。也就是说,只需输入install.packages('xlsx'),并将软件包自动安装到其默认位置,就可以使软件包正常工作。