登录
首页精彩阅读R语言写入excel表遇到的问题及解决
R语言写入excel表遇到的问题及解决
2018-06-27
收藏

R语言写入excel表遇到的问题及解决

若想将R语言中计算的结果写入excel表中,常用的是通过xlsx包中的write.xlsx()函数,但是这个包需要依赖rjava包和xlxsjars包。但是当我们安装上xlsx包时,经常会出现下面的错误:

载入需要的程辑包:rJava
Error : loadNamespace()里算'rJava'时.onLoad失败了,详细内容:
  调用: inDL(x, as.logical(local), as.logical(now), ...)
  错误: unable to load shared object 'D:/R/R-3.3.2/library/rJava/libs/i386/rJava.dll':
  LoadLibrary failure:  找不到指定的模块。
In addition: Warning message:
程辑包‘rJava’是用R版本3.4.0 来建造的 
Error: 无法载入程辑包‘rJava’

问题原因(JRE的路径设置错误等导致jvm.dll加载失败):
   rJava调用需要java运行环境,如果“无法载入程辑包‘rJava’”就意味着没有java运行环境或java运行环境出了问题。

保证安装了Java情况下,此时,可参考https://www.r-statistics.com/2012/08/how-to-load-the-rjava-package-after-the-error-java_home-cannot-be-determined-from-the-registry/ 给出的解决方案,总的来说就是配置Java运行环境,在R中输入:

Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jdk1.7.0_55\\jre')(64位),

Sys.setenv(JAVA_HOME='C:\\Program Files (x86)\\Java\\jdk1.7.0_55\\jre')(32位,x86代表是32位安装路径) (jre的路径一定要找准)

注意要用双斜杠,不要是单斜杠,否则汇报如下错误

Error: '\P' is an unrecognized escape in character string starting "'C:\P"

R版本的确定:查看R的版本所用的操作操作系统,位置在RStudio里的Tools→Global Options,

我在加载rjava包时,总是报错说:Error in library(rjava) : 不存在叫‘rjava’这个名字的程辑包,我就先install.packages('rjava'),这是可能会Warning in install.packages : package ‘rjava’ is not available (for R version 3.3.2)

原因可能是国内网不能获得该包,就需手动先下载下来该包(可通过http://blog.csdn.net/orchidzouqr/article/details/53571662 提到的离线安装办法),然后在手动安装或者install.packages('路径\rjava')。可通过.packages(all.available=T)来查看是否已安装上。

然后,

Sys.setenv(JAVA_HOME='C:\\Program Files (x86)\\Java\\jdk1.7.0_55\\jre')
> library("rJava")
Warning message:
程辑包‘rJava’是用R版本3.4.0 来建造的 
> library('xlsx')
载入需要的程辑包:xlsxjars

>


数据分析咨询请扫描二维码

客服在线
立即咨询