Rで外部ファイルを使用する場合、csvファイルなどの使用が多いかと思いますが、Excelファイルをそのまま使える、openxlsxパッケージを紹介します。
openxlsxでエクセルファイルを読み込む
今回使用するパッケージは「openxlsx」です。
初めて使う場合はインストールしておきましょう。
1 |
install.packages("openxlsx") |
基本的な使い方
使用する関数はread.xlsx()で、引数は基本的にはファイルパス、ファイル名を指定するだけでOKです。
read.xlsx(“ファイルパス”)
デスクトップにある「sampledata.xlsx」をRに読み込んで「xls_data」に格納する例を見てみましょう。
注意すべきなのは、ファイルパスはバックスラッシュ(\または\)ではなくスラッシュ(/)かバックスラッシュ2つ(\\または\\)で指定する必要がある点です。
OKパターン
1 2 3 4 |
library(openxlsx) #下のどちらでもOK xls_data <- read.xlsx("C:/Users/username/Desktop/sampledata.xlsx") xls_data <- read.xlsx("C:Users\\username\\Desktop\\sampledata.xlsx") |
NGパターン
1 2 |
xls_data <- read.xlsx("C:\Users\username\Desktop\sampledata.xlsx") Error: '\U' used without hex digits in character string starting ""C:\U" |
Windowsの場合はエクスプローラーからファイルパスをコピペすると上記NGパターンになるので注意しましょう。
また、Rの作業フォルダ内にファイルを置くと、ファイル名のみでOKです。
1 |
xls_data <- read.xlsx("sampledata.xlsx") |
シートを指定してエクセルファイルを読み込む
Excelの場合、ファイル内にシートが複数ある場合があります。
何も指定しなければ一番左のシートのみが読み込まれますが、「sheets」オプション特定のシートを指定することが可能です。
read.xlsx(ファイルパス, sheet = “シート名”)
シート名の部分はシート番号でもOKです。
次のような、シートが2つあるエクセルファイルで「学校B」のシートを読み込む例を見てみましょう。
この場合、シート名の「学校B」を指定するか、左から2番目のシートであることをsheetオプションで指定します。
1 2 3 |
# 下のどちらでも同じ結果 xls_data2 <- read.xlsx("sampledata.xlsx", sheet = "学校B") xls_data2 <- read.xlsx("sampledata.xlsx", sheet = 2) |
Excelファイルを読み込む方法は他にもいろいろありますが、経験的にはopenxlsxがエラーも少なく使いやすいかと思います。
ぜひ使ってみてください!
コメント