R語言讀取xls與xlsx格式文件過程
在數(shù)據(jù)分析的過程中,第一步就是讀取數(shù)據(jù)。
通常我們遇到的數(shù)據(jù)是csv格式或者txt格式的數(shù)據(jù),這時我們使用系統(tǒng)自帶的read.csv()
與read.table()
就可對這些格式的數(shù)據(jù)進(jìn)行讀取,只是讀取時需注意編碼格式。對于大型csv格式的數(shù)據(jù)(當(dāng)然小數(shù)據(jù)也可以),可以使用data.table
包中的fread()
進(jìn)行讀取可以極大地提升讀取速度。
但當(dāng)遇到了Excel表生成的文件,讀取起來相對就沒有那么友好。之前的做法是簡單粗暴地直接將我們的xls或xlsx文件利用Excel轉(zhuǎn)化為csv文件后再進(jìn)行讀取,亦或者直接就用Python使用pandas庫進(jìn)行處理,然后就在Python中進(jìn)行分析。
就是由于之前幾次碰壁,使用網(wǎng)上推薦的一些包來進(jìn)行讀取,但都以失敗告終。不過這次還是決定解決這個“頑疾”,對xls與xlsx這兩種文件用R進(jìn)行讀取。
這幾種方法主要參考:Read Excel files from R
1. ROOBC
這個包中有函數(shù)可以讀取xlsx
格式的文件,但對于現(xiàn)在的我們而言,絕大多數(shù)人的電腦都不能使用這個包,因為其只能用于32位系統(tǒng)的Windows,所以這里不對這個包進(jìn)行贅述。
2. xlsReadWrite
只能從GitHub中獲得,CRAN上還沒有,也不進(jìn)行過多的贅述。
3. XLConnect
要依賴java,并且對于大數(shù)據(jù)情況讀取非常慢。但實際上自己使用的時候,安裝了java后,還是沒法使用這個包??赡苁悄承┎襟E設(shè)置出現(xiàn)了問題。
若有童鞋對前面的三個包非常感興趣,其詳細(xì)的用法可以參考前面的參考網(wǎng)址。
4. xlsx
這個包是目前用的最多,也是R中可以說最好用的讀取Excel文件的利器。
下面專門對其進(jìn)行介紹。首先我們先說明這個包的依賴文件,不僅僅只是依賴R中的一些包,而是需要單獨安裝java。
1)裝Java
安裝鏈接:https://www.java.com/zh_CN/download/
我們按照指引選擇默認(rèn)路徑安裝,安裝完成后,在C:\Program Files
下出現(xiàn)了Java文件,說明安裝成功。(注:有些地方說需要將Java文件添加到全局變量中,后面的xlsx
包才能調(diào)取成功,但其實在這兩天的實際安裝中發(fā)現(xiàn),自己的電腦并不需要,可能得看臉。)
2)裝xlsx
安裝xlsx
其實沒什么好說的,就正常安裝,然后它會自動將所需要的rjava
等依賴庫,最后成功安裝xlsx
庫。
3)實際使用
最后我們就能直接使用啦,下面來講一下其代碼格式:
library(xlsx) dat <- read.xlsx("data.xlsx", sheetName = "Sheet1", encoding = 'UTF-8')
一個標(biāo)準(zhǔn)的數(shù)據(jù)讀取如上所示,下面將幾個常用的參數(shù):
"data.xlsx"
:表示讀取數(shù)據(jù)的名稱。
sheetName
:表示讀取表中表的名稱,通常第一個就是Sheet1
。
encoding
:這個在讀取中文數(shù)據(jù)的時候是一定要加上的,不然讀取數(shù)據(jù)會出現(xiàn)亂碼。
sheetIndex
:表示讀取文件中第幾個表,sheetIndex = 1
表示讀取文件中第一個表。
需要特別注意:當(dāng)文件中我們的表明為中文字時,不能使用類似sheetName = "表1"進(jìn)行讀取,即使加上encoding = 'UTF-8'
也會出現(xiàn)讀取錯誤,這時就需要使用sheetIndex
來進(jìn)行讀取。
以上就是R語言讀取xls與xlsx格式文件過程的詳細(xì)內(nèi)容,更多關(guān)于R讀取文件的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
R語言對數(shù)據(jù)庫進(jìn)行操作的實例詳解
在本篇文章里小編給大家分享的是一篇關(guān)于R語言對數(shù)據(jù)庫進(jìn)行操作的實例詳解內(nèi)容,有興趣的朋友們跟著學(xué)習(xí)下吧。2021-05-05R語言中if(){}else{}語句和ifelse()函數(shù)的區(qū)別詳解
這篇文章主要介紹了R語言中if(){}else{}語句和ifelse()函數(shù)的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04R語言數(shù)據(jù)可視化ggplot繪制置信區(qū)間與分組繪圖技巧
這篇文章主要為大家介紹了R語言數(shù)據(jù)可視化ggplot繪制置信區(qū)間與分組繪圖的技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11R語言中assign函數(shù)和get函數(shù)的用法
這篇文章主要介紹了R語言中assign函數(shù)和get函數(shù)的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04使用R中merge()函數(shù)合并數(shù)據(jù)的方法
這篇文章主要介紹了使用R中merge()函數(shù)合并數(shù)據(jù),本文詳細(xì)介紹R中merge()函數(shù)參數(shù)及合并數(shù)據(jù)類型,利用sql的表連接概念進(jìn)行類比,簡單易懂,需要的朋友可以參考下2023-03-03