Rの基礎 6 ディレクトリとファイルの操作

Rの基礎6では、Rでのディレクトリとファイルの操作について説明します。Rでは他の言語やコマンドプロンプトと同様に、ファイルを操作したり、ディレクトリをいじったりすることができます。とはいえ、Rでフォルダを作成する、特定の形式のファイルを作成するなどの操作を行うことはまれで、Rで主に行うのはRが参照しているディレクトリを決めることと、データフレームへのファイル読み込みと書き込みになります(SQLを使ってデータベースを操作する場合もありますが、小規模なデータでの解析ではほぼ行わないと思います)。

ディレクトリとは、PC上のフォルダとその位置を示すアドレスを指す言葉です。WindowsではC:\から始まり(AとBがフロッピーディスクのデータ用ドライブ、OS用ドライブであったことの名残で、HDDはCドライブということになっています)、普通はUsersフォルダ、ユーザーフォルダの下にあるディスク領域(C:\users\ユーザー名\フォルダ名)にファイルを保存することになります。Rでは、現在のコンソールが参照している(取り扱う)ディレクトリをしていして使用します。現在参照しているディレクトリはgetwd()関数で調べることができます。参照しているディレクトリを変更するときには、setwd(”参照したいディレクトリのアドレス”)関数を用いて参照ディレクトリを変更します。WindowsとRではディレクトリの区切りに用いる記号が異なり、Rでは\(バックスラッシュ)の代わりに/(スラッシュ)を用いるのが決まりとなっています(バックスラッシュがどうしても使いたいときには、\\と2回入力します。バックスラッシュによるエスケープを行っていることになります)。

ディレクトリにフォルダを作るときには、dir.create関数、現在参照しているディレクトリの中身(ファイル)を調べるには、dir関数を用います。dir関数はよく使いますが、dir.create関数の使用頻度は簡単な解析においては低めになると思います。

Rで作成した変数(オブジェクト)はsave関数で保存し、load関数で読み出すことができます。しかし、Rstudioを使用しているとオブジェクトを含めた環境がまるまる保存されるため、使用頻度はそれほど高くないと思います。

Rで最もよく用いるファイルの操作は、表などのデータをデータフレームとして読み込むことです。表はExcelなどで作成し、ファイル形式を指定して保存、形式をxlsxではなく、タブ切りやコンマ切り(CSV)などのテキストファイルとして保存します。保存したテキストファイルは、read.table関数(タブ切りテキストファイルの場合)やread.csv関数(CSVの場合)で読み込むことができます。read.table関数ではsepという引数を設定します。sepはデータを分割している記号を指し、タブ切りなら”\t”、コンマ切りなら”,”を指定します。Excelファイルをそのまま読み込むこともできますが、readxlパッケージのインストールと読み込みを必要とします(パッケージについては後ほど説明)。

データフレームをファイルとして保存するときには、write.table関数を用います。read.tableで表を読み込み、データ分析し、結果をデータフレームとして変数に代入したあとで、write.table関数で保存するというのが、Rでの分析の基本的操作の一つとなります。