はじめに
Excelデータは、ビジネスや研究で広く利用されるフォーマットです。Rでは、専用のパッケージを使用することで、Excelファイル(.xlsxや.xls)を簡単に読み込んだり書き出したりできます。本記事では、基本的な操作方法から実践的な例までを解説します。
必要なパッケージのインストール
Excelファイルを扱うには、readxl
(読み込み用)とwritexl
(書き出し用)のパッケージを使用します。まずはインストールしましょう。
# パッケージのインストール
install.packages("readxl") # 読み込み用
install.packages("writexl") # 書き出し用
Excelデータの読み込み
readxl
パッケージを使った基本的な読み込み
readxl
パッケージの read_excel()
関数を使えば、簡単にExcelファイルを読み込むことができます。
library(readxl)
# Excelファイルを読み込む
data <- read_excel("data.xlsx")
head(data) # データの先頭6行を表示
主要なオプションの解説
- sheet: 読み込むシート名または番号を指定します(デフォルトは最初のシート)。
- range: 読み込むセル範囲を指定します(例:
"A1:C10"
)。 - col_types: 列の型を指定します(例:
"text"
,"numeric"
,"date"
)。 - na: 欠損値として扱う文字列を指定します。
# 特定のシートと範囲を指定して読み込む例
data <- read_excel("data.xlsx", sheet = "Sheet1", range = "A1:C10", na = "NA")
head(data)
Excelデータの書き出し
writexl
パッケージを使った基本的な書き出し
writexl
パッケージの write_xlsx()
関数を使ってデータフレームをExcel形式で保存できます。
library(writexl)
# データフレームをExcelファイルに保存
write_xlsx(data, "output.xlsx")
主要なオプションの解説
- path: 保存先のファイルパス。
- col_names: 列名を含めるかどうか(デフォルトは
TRUE
)。 - format_headers: 列名のフォーマット設定。
練習:Excelデータを読み込んで加工・保存する
以下は、Excelファイルを読み込み、加工して新しいExcelファイルとして保存する例です。
library(readxl)
library(writexl)
# Excelファイルを読み込む
data <- read_excel("input_data.xlsx", sheet = "Sheet1")
# データの加工
data$new_column <- data$existing_column * 2
# 加工後のデータを書き出す
write_xlsx(data, "processed_data.xlsx")
トラブルシューティング
- ファイルが見つからない場合: ファイルパスが正しいか確認してください。絶対パスや相対パスが使用できます。
- .xls形式の場合: {readxl} は .xls ファイルにも対応していますが、大規模な .xls ファイルでは問題が発生する場合があります。その場合は、{gdata}, {openxlsx}, または Excel自体で .xlsx に変換することを検討してください。
- エンコーディングエラー:: Excelファイルにはエンコーディング設定がありませんが、日本語データの場合に文字化けが発生した場合は、RStudioやシステムロケール設定も確認してください。
応用:複数シートの操作
{openxlsx}