R-excel-files

提供:Dev Guides
移動先:案内検索

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ファイルとして入力

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        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