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的數據

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM