R語言Excel檔案


Microsoft Excel是使用最廣泛的電子試算表程式,它是以.xls.xlsx格式儲存資料。 R可以使用某些excel特定的包直接讀取這些檔案的內容。一些常用的軟體包有 - XLConnectxlsxgdata等。在這個篇文章中,我們將使用xlsx軟體包。 R也可以使用這個包寫入excel檔案。

安裝xlsx軟體包

可以在R控制台中使用以下命令來安裝xlsx軟體包。它可能會要求安裝一些這個包所依賴的附加包。按照相同的命令與所需的包名來安裝附加的包。

install.packages("xlsx")

驗證並載入「xlsx」軟體包

使用以下命令來驗證和載入xlsx包。參考以下程式碼 -

# Verify the package is installed.
any(grepl("xlsx",installed.packages()))

# Load the library into R workspace.
library("xlsx")

當指令碼執行時,得到以下輸出 -

[1] TRUE
Loading required package: rJava
Loading required package: methods
Loading required package: xlsxjars

註: 如果第一個輸出結果為:FALSE,請 install.packages("xlsx") 語句重新載入安裝。

準備xlsx檔案用作為輸入

開啟Microsoft excel。將以下資料複製並貼上到名為sheet1的工作表中。

id    name      salary    start_date    dept
1    Rick      623.3        1/1/2012    IT
2    Dan       515.2     9/23/2013   Operations
3    Michelle  611        11/15/2014    IT
4    Ryan      729        5/11/2014    HR
5    Gary      843.25    3/27/2015    Finance
6    Nina      578       5/21/2013    IT
7    Simon      632.8        7/30/2013    Operations
8    Guru      722.5        6/17/2014    Finance

如下所示 -

還將以下資料複製並貼上到另一個工作表,並將此工作表重新命名為city

name     city
Rick     Seattle
Dan      Tampa
Michelle Chicago
Ryan     Seattle
Gary     Houston
Nina     Boston
Simon     Mumbai
Guru     Dallas

如下所示 -

將Excel檔案另存為「input.xlsx」,應該將此檔案儲存在R工作區的當前工作目錄中。

讀取Excel檔案

使用read.xlsx()函式讀取input.xlsx,如下所示,結果作為資料影格儲存在R環境中。

# Read the first worksheet in the file input.xlsx.
data <- read.xlsx("input.xlsx", sheetIndex = 1)
print(data)

當我們執行上述程式碼時,會產生以下結果 -

  id     name salary start_date       dept
1  1     Rick 623.30 2012-01-01         IT
2  2      Dan 515.20 2013-09-23 Operations
3  3 Michelle 611.00 2014-11-15         IT
4  4     Ryan 729.00 2014-05-11         HR
5 NA     Gary 843.25 2015-03-27    Finance
6  6     Nina 578.00 2013-05-21         IT
7  7    Simon 632.80 2013-07-30 Operations
8  8     Guru 722.50 2014-06-17    Finance