readrを使って、データを読み込む #tidyverse
Tidyverse を使ってデータを読み込む方法はいくつかあります。ここでは、代表的な方法と、それぞれの方法で使用する関数、そして具体的なコード例を交えて解説します。
1. CSV ファイルの読み込み: readr パッケージの read_csv() 関数
最も一般的なデータ形式である CSV ファイルを読み込むには、readr パッケージに含まれる read_csv() 関数を使用します。readr パッケージは tidyverse パッケージに含まれているため、tidyverse をインストールしていれば追加でインストールする必要はありません。
コード スニペット
# tidyverse パッケージを読み込む
library(tidyverse)
# CSV ファイルを読み込む
data <- read_csv("ファイルパス/ファイル名.csv")
# 読み込んだデータを確認
print(data)
read_csv() 関数は、データの最初の 1000 行を読み込むことで各列のデータ型を推測し、自動的に適切な型に変換してくれます。もちろん、col_types 引数を使ってデータ型を明示的に指定することも可能です。
例:
コード スニペット
# カンマ区切りではないファイル (例: セミコロン区切り) を読み込む場合
data <- read_csv("ファイルパス/ファイル名.csv", delim = ";")
# データ型を指定する場合
data <- read_csv("ファイルパス/ファイル名.csv", col_types = cols(
col1 = col_integer(),
col2 = col_character(),
col3 = col_double()
))
2. その他のテキストファイルの読み込み: readr パッケージのその他の関数
readr パッケージには、CSV 以外のテキストファイルを読み込むための関数も用意されています。
read_tsv(): タブ区切りファイルを読み込む
read_delim(): 区切り文字を指定してファイルを読み込む
read_fwf(): 固定幅ファイルを読み込む
3. Excel ファイルの読み込み: readxl パッケージの read_excel() 関数
Excel ファイル (.xls、.xlsx) を読み込むには、readxl パッケージの read_excel() 関数を使用します。
コード スニペット
# readxl パッケージをインストール (未インストールの場合)
if(!require(readxl)){install.packages("readxl")}
# readxl パッケージを読み込む
library(readxl)
# Excel ファイルを読み込む
data <- read_excel("ファイルパス/ファイル名.xlsx")
# シートを指定する場合
data <- read_excel("ファイルパス/ファイル名.xlsx", sheet = "シート名")
4. その他のデータ形式の読み込み
tidyverse 以外にも、様々なデータ形式に対応したパッケージがあります。
haven: SPSS、Stata、SAS などの統計ソフトウェアのファイルを読み込む
jsonlite: JSON データを読み込む
補足:
ファイルパスは、絶対パスまたは相対パスで指定します。
作業ディレクトリを設定しておくと、相対パスでファイルを指定する場合に便利です。作業ディレクトリは、setwd() 関数で設定できます。
複数の CSV ファイルをまとめて読み込む方法については、こちらの記事 (複数のCSVファイルを読み込んで集計する方法(tidyverse)) が参考になります: [https://psycho.hes.kyushu-u.ac.jp/~kurokid/wp/stat_tips/tidyverse/](https://psycho.hes.kyushu-u.ac.jp/~kurokid/wp/stat_tips/tidyverse/)
これらの方法を参考に、目的に合った方法でデータを読み込んでください。