R语言 | 安装xlsx包 部署Java环境

参照《R语言实战》一书学习实践时,在数据的输入章节导入xlsx数据时出现无法载入xlsx包的情况,解决之路如下:

安装xlsx包 install.packages(“xlsx”) 成功后,载入xlsx包

library(xlsx)

报错

Error: package or namespace load failed for ‘xlsx’:
 loadNamespace()里算'rJava'时.onLoad失败了,详细内容:
  调用: fun(libname, pkgname)
  错误: JAVA_HOME cannot be determined from the Registry

百度说是没有配置Java环境变量,执行如下代码

Sys.setenv(JAVA_HOME=‘C:/Program Files/Java/jdk1.6.0_33/jre’)

再次载入xlsx包

library(xlsx)

再次报错

Error: package or namespace load failed for ‘xlsx’:
 loadNamespace()里算'rJava'时.onLoad失败了,详细内容:
  调用: inDL(x, as.logical(local), as.logical(now), ...)
  错误: unable to load shared object 'C:/Users/Administrator/Documents/R/win-
library/3.6/rJava/libs/x64/rJava.dll':
  LoadLibrary failure:  找不到指定的模块。

原来是因为自己没有装Java环境,所以找不到指定的模块,然后就去了书上提供的网址www.java.com下载了Java,并设置JAVA_HOME为自己的安装路径,再次载入xlsx包,仍然报错

Error: package or namespace load failed for ‘xlsx’:
 loadNamespace()里算'rJava'时.onLoad失败了,详细内容:
  调用: inDL(x, as.logical(local), as.logical(now), ...)
  错误: unable to load shared object 'C:/Users/Administrator/Documents/R/win-library/3.6/rJava/libs/x64/rJava.dll':
  LoadLibrary failure:  %1 不是有效的 Win32 应用程序。

报这个错的原因是因为安装的Java是32位的,而R是64位的,两者不兼容。然而并没有在Java的官网里发现64位的Java,请教了Java开发同事,提供了一个下载64位Java的地址:

https://www.oracle.com/java/technologies/jdk8-downloads.html

安装Java成功后,重新配置成自己安装路径的环境

Sys.setenv(JAVA_HOME=‘C:/Program Files/Java/jdk1.8.0_221/jre’)

再次载入xlsx包

library(xlsx)

成功!!!导入测试下

mydataframe <- read.xlsx(“C:/Users/Administrator/Desktop/R导入测试.xlsx”,1)

               绫诲埆     鎸囨爣瀛楁.                                        鎸囨爣鍚嶇О
1  缂磋垂鏃堕棿鍋忓ソ       fs_1   杩戝叚涓湀缂磋垂鏃ユ湡鍦<a8>1鍒<b0>5鍙锋鏁<b0>

此种导入方法如果不指定编码类型encoding = "UTF-8"会导致乱码,所以比起这种导入方法更建议安装readxl包

library(readxl)
mydataframe <- read_excel(“C:/Users/Administrator/Desktop/R导入测试.xlsx”)

类别         指标字段    指标名称                      
   <chr>        <chr>       <chr>                         
 1 时间偏好 fs_1   缴费日期在1到5号的次数  

显示界面友好且兼容性强,工作时更多采用readxl包

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值