R包xlsx安装与使用

1. Rstudio安装xlsx报错

xlsx包加载依赖Java环境,我之前就安装过Java,但安装xlsx成功后,加载xlsx时一直报错:

Error : loadNamespace()里算’rJava’时.onLoad失败了,详细内容: 
调用: inDL(x, as.logical(local), as.logical(now), …) 
错误: unable to load shared object ‘D:/software/myR/R-3.1.2/library/rJava/libs/x64/rJava.dll’: 
LoadLibrary failure: %1 不是有效的 Win32 应用程序。 
In addition: Warning message: 
程辑包‘rJava’是用R版本3.1.3 来建造的 
Error: ‘rJava’程辑包或名字空间载入失败

指定java环境也不行:

Sys.setenv(JAVA_HOME='C:\\Program Files (x86)\\Java\\jre1.8.0_181')
library(rJava)

原因:
Java安装的版本一定要和Rstudio版本对应,我的R版本是64bit,java32bit。因此重新安装64bit或者在Rstudio中修改R版本为32bit(前提是之前安装Rstudio时安装了两个版本),这里我选择后者。

避坑
在浏览器上直接搜“java”,默认下载32bit;要下载64bit的Java,需要搜索“jre”。

R版本查看修改:
Tools –> Global Options –General –> R version Change

2. xlsx使用

读取数据

read.xlsx(file.choose(), sheetIndex = 1, sheetName="Sheet1", encoding = 'UTF-8', header=T)
ps: 数据中含有中文时一定要加上encoding = 'UTF-8'参数,但是sheet命名仍然必须要求为非中文。

写入数据

write.xlsx(df1, "file1.xlsx", sheetName = "Sheet1", row.names = FALSE)
write.xlsx(df2, file="file1.xlsx", sheetName="sheet2", append=TRUE, row.names=FALSE)
ps: file1.xlsx文件中有2个sheet,分别存储df1、df2的数据

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容