外部データの読み込みと書き出し:CSVとExcelファイルをRで扱う

R

はじめに

これまでの回で、Rの内部でデータを作成し、データフレームとして扱う方法を学びました。しかし、実際のデータ分析プロジェクトでは、データはExcelシートやCSVファイルといった外部ファイルとして提供されることがほとんどです。

今回は、データ分析の出発点となる**「外部ファイルをRに読み込む方法」と、分析結果を「ファイルとして保存(書き出し)する方法」**を学びます。特に、最も一般的に使われるCSVファイルとExcelファイルの扱いに焦点を当てます。

Rの作業ディレクトリ(Working Directory)

ファイルを読み書きする前に、Rが現在「どこで」作業しているかを知ることが重要です。これを作業ディレクトリと呼びます。

  • getwd(): 現在の作業ディレクトリを確認する。
  • setwd(): 作業ディレクトリを変更する。
# 現在の作業ディレクトリを確認
getwd()

# 作業ディレクトリを変更したい場合(パスは自身の環境に合わせる)
# setwd("C:/Users/YourName/Documents/R_Project")

RStudioでは、右下の「Files」ペインからフォルダを移動し、「More」→「Set As Working Directory」をクリックすることで、簡単に作業ディレクトリを設定できます。ファイルを読み込む際は、この作業ディレクトリにファイルを置いておくと、ファイル名を指定するだけで読み込めるので便利です。

CSVファイルの読み込みと書き出し

CSV (Comma-Separated Values) は、カンマで値を区切ったシンプルなテキストファイルで、データ交換の標準的な形式です。

CSVファイルの読み込み:read.csv()

Rには、CSVファイルを読み込むための read.csv() という強力な標準関数が用意されています。

準備: 以下のような内容の sample_data.csv というファイルを作業ディレクトリに作成してください。

Name,Age,Score
Alice,20,85
Bob,22,92
Charlie,21,78

それでは、このファイルを読み込んでみましょう。

# CSVファイルを読み込み、dfという名前のデータフレームに格納
df <- read.csv("sample_data.csv")

# 読み込んだ内容を確認
print(df)
#      Name Age Score
# 1   Alice  20    85
# 2     Bob  22    92
# 3 Charlie  21    78

str(df) # 構造を確認
# 'data.frame':	3 obs. of  3 variables:
#  $ Name : chr  "Alice" "Bob" "Charlie"
#  $ Age  : int  20 22 21
#  $ Score: int  85 92 78

read.csv() は、1行目を自動的にヘッダー(列名)として認識し、各列のデータ型を適切に判断してデータフレームを作成してくれます。

CSVファイルへの書き出し:write.csv()

次に、Rで加工したデータフレームをCSVファイルとして保存する方法です。write.csv() 関数を使います。

# 分析で新しい列を追加したと仮定
df$Pass <- df$Score >= 80

print(df)
#      Name Age Score  Pass
# 1   Alice  20    85  TRUE
# 2     Bob  22    92  TRUE
# 3 Charlie  21    78 FALSE

# データフレームを新しいCSVファイルとして書き出す
# row.names = FALSE は、行番号をファイルに含めないための重要なオプション
write.csv(df, "processed_data.csv", row.names = FALSE)

これを実行すると、作業ディレクトリに processed_data.csv という新しいファイルが作成されます。

Excelファイルの読み込みと書き出し

ビジネスの現場では、Excelファイル(.xlsx)でデータを扱うことも非常に多いです。Excelファイルを扱うには、専用のパッケージをインストールする必要があります。

readxl パッケージのインストールと読み込み

Excelファイルの読み込みには readxl パッケージが非常に便利です。まずはインストールしましょう。

# パッケージが未インストールの場合のみ実行
install.packages("readxl")

インストールが終わったら、library() 関数でパッケージを読み込んでから使います。

# readxlパッケージを読み込む
library(readxl)

# Excelファイルの "Sheet1" を読み込む
# (事前に sample_data.xlsx というファイルを作成しておく)
excel_df <- read_excel("sample_data.xlsx", sheet = "Sheet1")

# 内容を確認
print(excel_df)

read_excel() は、シート名やシート番号を指定して、特定のシートのデータを読み込むことができます。

writexl パッケージを使った書き出し

Excelファイルへの書き出しには writexl パッケージがシンプルで高速です。

# パッケージが未インストールの場合のみ実行
install.packages("writexl")

# writexlパッケージを読み込む
library(writexl)

# データフレームをExcelファイルとして書き出す
write_xlsx(df, "processed_data.xlsx")

まとめ

今回は、Rで外部のデータを扱うための基本的なスキルを学びました。

  • 作業ディレクトリを意識することが、ファイル操作の第一歩。
  • CSVファイルは、標準関数の read.csv() と write.csv() で簡単に扱える。
  • Excelファイルは、readxl パッケージで読み込み、writexl パッケージで書き出すのが便利。

これで、手元にあるデータをRの世界に持ち込み、分析を始める準備が整いました。実際のデータ分析では、データを読み込んだ後に、目的の形に整える「データ加工」や「データクレンジング」といった作業が必要になります。

コメント