R-Excelファイル

Microsoft Excelは、データを.xlsまたは.xlsx形式で保存する最も広く使用されているスプレッドシートプログラムです。Rは、いくつかのExcel固有のパッケージを使用して、これらのファイルから直接読み取ることができます。XLConnect、xlsx、gdataなどのパッケージはほとんどありません。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

xlsxファイルとして入力

MicrosoftExcelを開きます。次のデータをコピーして、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	    43.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ファイルを読む

input.xlsxは、 read.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