全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
5235 3
2017-01-04
环境变量是否设置为Java软件所在路径?图片为在R语言中调用xlsx包显示的错误提示语句。且一同下载的rjava包和xlsxjars包调用时显示同样的错误语句,如何改进,求大神指点!
在R语言中调用已经下载好的xlsx包,显示的错误语句
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-1-4 20:17:37
应该还是环境问题。另外,你是不是重装过R,而且以前的版本高于现在的。或是你现在的R不是高新版本。
我收藏一段,希望对你有用:
xlsx包在加载时容易遇到问题。基本都是由于java环境未配置好,或者环境变量引用失败。因此要首先配置java环境,加载rJava包。

百度了一下,网上已有很多解决方案。我主要是参考这个帖子,操作步骤为:

1、 安装最新版本的java。如果你用的R是64位的,请下载64位java。
下载地址: http://www.java.com/en/download/manual.jsp
要安装在 C:\Program Files\Java 下面,win8的尤其小心不要安装为C:\Program Files(x86)。可能是R在读取路径时,对x86这样的文件夹不大好识别吧,我第一次装在x86里,读取是失败的。



2、在R中加载环境,即一行代码,路径要依据你的java版本做出更改。
R

Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jre1.8.0_45\\')

之后再加载rjava包或者xlsx包就成功了。

xlsx包加载成功后,用read.xlsx就可以直接读取xlsx文件,还可以指定读取的行和段,以及第几个表,以及可以保存为xlsx文件,这个包还是很强大的。



但是这个方法存在两个问题:

1、不是所有的公司电脑都能自由的配置java环境。很多人的权限是受限的。而且有些公司内部应用是在java环境下配置的。就算你找了IT去安装java,但是一些内部应用可能会因为版本号兼容问题而出错,得小失大。
2、用xlsx包读取数据,在数据量比较小的时候速度还是比较快的。但是如果xlsx本身比较大,包含数据多,read.xlsx效率会很低,不如data.table包的fread读取快捷以及省内存。但fread函数不支持xlsx的读入。。。
(参见这篇帖子,里面对千万行数据,fread也只用了10秒左右,比常规的read.table或者read.csv至少省时一倍)

综上,由于java环境的复杂性与兼容度,还有xlsx包本身读取速度的限制,用xlsx包读取xlsx包的方法,更适合于:
1、个人电脑,自己想怎么玩都无所谓,或者高大上的linux, mac环境
2、数据量不会特别大,而且excel文件很干净,需要细节的操作

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-1-5 11:14:39
johnmy 发表于 2017-1-4 20:17
应该还是环境问题。另外,你是不是重装过R,而且以前的版本高于现在的。或是你现在的R不是高新版本。
我收 ...
学习了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-1-5 12:19:18
johnmy 发表于 2017-1-4 20:17
应该还是环境问题。另外,你是不是重装过R,而且以前的版本高于现在的。或是你现在的R不是高新版本。
我收 ...
我一开始下载了一个64位的R语言程序(R×64 3.3.1),后来下载了一个rstudio,我是用rstudio下载的这些包,每次调用就显示这些信息(如下图),我将java文件夹改了地方还是不行,大神,还能怎么办?而且,我在rstudio里面下载别的包,比如Hmisc,也不能成功运行,这是啥情况呢?求指点
附件列表
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群