R オブジェクトの作成:
テキストファイルからのデータの読み込み

UBC/informatics/r/data_input_text

このページの最終更新日: 2025/12/22

  1. csv ファイルを読み込む
  2. tsv ファイルを読み込む

関連ページ


広告

csv ファイルを読み込む

csv は comma separated values の略で、csv ファイルとはコンマ、スペース、タブなどを区切り文字としたテキストファイルである (参考: csv ファイルとは)。

read.csv() 関数

R base パッケージにある read.csv() 関数が基本である。データフレームを csv ファイルとして書き出すときは write.csv なので、read.csv と合わせて覚えておくと良いだろう。

read.csv("filename.csv", header = TRUE/FALSE, row.names = 1)

  • 同じディレクトリに csv ファイルがない場合は、もちろんパスを指定しなければならない。現在のディレクトリは > getwd() で調べることができる。
  • ヘッダー行に情報がない場合、X という文字が割り振られる。複数あると X, X.1, X.2... となる。
  • データに情報がない場合、NA が割り振られる。
  • row.names = 1 は、1 行目を列の名前として使うという意味。

列のクラスを指定するときは、colClasses を使う。

全ての列を文字列として読み込むには df <- read.csv("data.csv", colClasses = "character")

特定の列だけ指定したい場合は、列名をリスト形式で指定する。df <- read.csv("data.csv", colClasses = c(Column1 = "character", Column2 = "character"))

read.csv() で読み込まれたデータは、typeof() で調べるとリスト形式になっているようだ。

# 行列 matrix への変換: heatmap を描く際など。
A_matrix = as.matrix(A)


read_csv() 関数

read_csv() は、tidyverse パッケージ に含まれている readr パッケージの関数である。read.csv() との違いもいずれ詳しく調べたいが、全般にこちらの方が便利に思える。

read_csv("filename.csv", col_names = TRUE/FALSE)

read.csv() と read_csv() の挙動の違い。

  • read.csv では空の csv ファイルがあるとエラーになり、for loop は止まってしまうが、read_csv では何も読み込まず次に進みそう。
  • read.csv では、列名にハイフンや [ などの記号があると . に変換されて読み込まれる。read_csv では変換されずそのまま読み込まれる。

read.delim() 関数

csv の区切りが反映されない場合、read.delim を使うこともできる。形式は同じ。

read.delim("filename.csv", header = TRUE/FALSE)


広告

「あとがき」で当サイトを参考にしたと書いてくれているラノベです。Kindle Unlimited で読めました。ストーリーと文章が良く、面白かったです。

tsv ファイルを読み込む

tsv ファイル (タブ区切りテキストファイル) は read.table で読み込める。

  • 1 行目をヘッダーにしたいときは header = TRUE とする。

広告

References

  1. R でのテキストファイル読み出しと書き込み. Link: Last access 2020/01/25.
  2. R:read.csv / read.tableで型と列名を指定して読み込む。Link: Last access 2020/01/25.
  3. 井関龍太のページ. Rでクリップボードからデータを読み込む. Link: Last access 2018/12/09.

コメント欄

サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。