Rにデータを読み込む方法を説明します。なおここでは手元にあるファイルから読み込む方法について触れます。リレーショナル・データベースを利用する方法やWebから取得する方法については割愛します。

csvファイルからの読み込み

一番基本的な方法となります。大きく2つの方法があります。

read.csv()関数を利用

例えば、現在の作業ディレクトリにiris-data.csvというファイルがあるとします。これを読み込む場合、以下のコマンドを実行します。

df <- read.csv("iris-data.csv")

これを実行すると、dfというオブジェクトにcsvファイルの中身が読み込まれます。この場合、以下のような状態となります:

  • 1行目が変数名として読み込まれる
  • NAという文字を欠損値となる
  • 空欄が欠損値となる
  • (欠損扱いではない)数値ではない値は文字列として認識
    • 文字列が含まれる列は(他に数値があっても)全て文字列と判定
    • デフォルトの設定では、Factor型として処理される

主なデフォルト設定も含めて丁寧に書くと以下のようになります:

df <- read.csv(file = "iris-data.csv", header = TRUE, na.strings = "NA", stringsAsFactors = default.stringsAsFactors())

主な引数を説明は以下の通りです:

  • file: ファイル名(ファイルパス)。作業ディレクトリからの相対パスで指定します。
  • header: 変数名を読み込むかどうか。TRUEなら1行目を変数名として読み込みます。
  • na.strings: 欠損値として処理したい値を指定。
    • たとえば欠損値として999とか指定して入力していたならば、na.strings = "999"
    • 複数ある場合は、na.strings = c("999", "-1")という感じで指定
  • stringAsFactors: 文字列の変数をFactor型にするかどうか。
    • TRUEならば文字列を含む変数は全てFactor型として処理
    • FALSEならば文字列を含む変数は全てCharacter型として処理
    • 標準でRで設定してあるのはTRUE
    • 個人的にはFALSEにしておいて、必要に応じてその変数をFactor型に切り替えてます

RStudioのimport Datasetを利用

RStudioを利用すれば、マウス操作でデータセットを読み込むことができます。

Environmentタブのところにあるimport Datasetをクリックし、From Local File…をクリックします

その後、以下のダイアログボックスで指定していきます:

ポイントになるところの説明です:

  • Name: 読み込んだデータを格納するオブジェクト名
  • Encoding: 文字コードを指定します。問題なければそのままで。
  • Heading: 1行目を変数名として読み込むかどうか。
  • NA Strings: NAにする文字列。上述の通り
  • Strings as Factors: 文字列をFactor型にするかどううか。上述の通り。

つまり、コードでやるのをGUIでできる、というイメージです。慣れないうちはこちらのほうがスムーズかもしれません。慣れてきたらread.csv()などコードで読み込ませるのをおすすめします。

Excelファイルからの読み込み

Rは標準ではExcelファイルを直接読み込めませんが、{readxl}パッケージを利用すると直接読み込むことができるようになります:

# パッケージをインストールしてなければインストール
# install.packages(readr)
library(readxl)
xl_df_1 <- read_excel("xl_data.xlsx", sheet = "df_1")

第一引数が読み込むファイル名、第二引数が読み込むシートです。日本語のデータも対応しているので、特に問題なくいけます。.xlsと.xlsxの両方共に対応し、マシンにExcelがなくても読み込めます。

SPSSファイル(.sav)からの読み込み

Rは標準ではSPSSのファイルを直接読み込めませんが、{haven}パッケージを利用すると直接読み込むことができるようになります:

# パッケージをインストールしてなければインストール
# install.packages(haven)
library(haven)
sav_df <- read_sav("hoge.sav")

引数には.savファイルを指定してください。なおSPSSにはラベル機能がありますが、この情報は削除されて読み込まれます(たぶん)。

その他

大量のデータを読み込む場合、read.csv()などでは処理に時間がかかることがあります。高速にデータを読み込むために{readr}などが開発されています。気になる方は調べてみてください。

また、開発版(Preview版)のRStudioではImport Datasetボタンからcsv, Excel, SPSSなどを選択してデータをインポートできるようになっています(2016/07/16現在)。これらは上記で紹介したパッケージを組み込んだ機能で、GUIにてデータを読み込めるようになります。これは次回の通常版のアップデートで組み込まれるでしょう。

このようにRStudioを利用すれば簡単にデータを読みこませることができますが、極力スクリプトにコードを記述して、データを読みこませるようにしてください。この方が「どのデータを読み込んだのか」といったことが明確になり、ファイルを取り違えるといった分析者のミスが減少するからです。

ページのトップへ