Windows下如何安装r2excel?
r2excel 是一个Excel文件的读、写、格式化R语言包,支持Excel 97~2003版本的文件格式(.xls)和Excel2007以后的格式(.xlsx)。
在mac OSX下安装很顺利,
install.packages("devtools") library(devtools) install_github("kassambara/r2excel")
Windows下则遇到了不小麻烦,
Error : .onLoad failed in loadNamespace() for 'rJava', details: call: inDL(x, as.logical(local), as.logical(now), ...) error: 无法载入共享目标对象‘C:/Users/lhy/Documents/R/win-library/3.3/rJava/libs/i386/rJava.dll’:: LoadLibrary failure: %1 不是有效的 Win32 应用程序。 Error : package 'rJava' could not be loaded 错误: 载入失败
我的R是x64版本,
> R.version _ platform x86_64-w64-mingw32 arch x86_64 os mingw32 system x86_64, mingw32 status major 3 minor 3.1 year 2016 month 06 day 21 svn rev 70800 language R version.string R version 3.3.1 (2016-06-21) nickname Bug in Your Hair
并且安装了64位 jdk1.8.0_74,没有安装32位jdk(或者jre),并且我并不想要32位的版本,研究很久,找到了解决办法,不做多架构编译,
install.packages(c("xlsx","rJava"),repos = "http://cran.us.r-project.org") devtools::install_github("kassambara/r2excel", args="--no-multiarch")
安装成功后,又遇到了问题,写比较大的文件时报错如下,
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "newInstance", .jfindClass(class), : java.lang.OutOfMemoryError: GC overhead limit exceeded Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, : java.lang.OutOfMemoryError: Java heap space
这要求我们在设置额外的java参数,
options(java.parameters = "-Xmx3g -Xms1g") #具体根据你的机器情况设置 library(r2excel)