Rを使ったデータ分析入門~CSVファイルの読み込みとディレクトリ~

学部時代にRを学び始めて一番最初につまづいた、ファイル読み込みとワーキングディレクトリ(working directory)について解説します。
以下使用するパソコンはMacを想定して説明していきます。

 Rを使ってデータ分析をする大学生、大学院生の方のお役に立てればと思います。

ターミナルについて

R(もしくはRStudio)を開く前に、まずは「ターミナル」というアプリケーションを開いてください。先にターミナルから入った方が分かりやすかったなあという思いがあるので、先にターミナルから解説します。

ターミナルは、人によってはパソコン画面の下側のアイコンが並んだところにあります。なければ、「Commandキー」と「Spaceキー」を同時に押して出てきた検索バーに「ターミナル」と入力して、ターミナルを探してください。(←ファイル検索のショートカットです)
あるいはFinderからだと、「アプリケーション」→「ユーティリティ」→「ターミナル」で見つけることができます。

スクリーンショット 2021-05-15 15.44.20

すると真っ黒の画面が出てくるはずです。これはそういう仕様なので問題ないです。ターミナルは普段馴染みがないと思いますが、パソコンの操作や設定をコマンド(パソコンに対する命令文)で行うためのものです。

普通の人はいろんなボタンをクリックしてポチポチやっていくと思いますが、それをコマンドでやろう、という場合に使うのがターミナルです。今回はディレクトリを理解するために、ターミナルを開いてもらってます。

ターミナルを開いた段階では、自分の名前がついたホームディレクトリ(home directory)にいます。特に何もしてなければ、デフォルトでこのディレクトリに入ります。$マークの左に自分の登録した名前が表示されていると思います。

スクリーンショット 2021-05-15 16.01.58

ディレクトリについて


よくパソコンでファイルを整理する時に、複数のファイルを1つのフォルダー(例:卒論フォルダー)の中にまとめることがあると思いますが、ディレクトリもフォルダーとほぼ同じだと認識してください。要はファイル等を入れる箱だということです。

そしてそれは入れ子構造階層構造になっています。より上位の階層のディレクトリほど箱が大きく、その中にまた別の小さな箱がポコポコ入っているというイメージです。

では実際自分のパソコンではどうなっているのかを見てみましょう。ターミナル内で

pwd

というコマンドを入力してエンターを押してください。これはprint working directoryの略で今自分がいるディレクトリを出力するコマンドです。
すると、

/Users/自分の名前

という出力が出ると思います。つまり今、ルートディレクトリ(一番上の階層)の中の「Users」という箱の中の「自分の名前」という箱で作業しているということです。ホームディレクトリは一番上ではありません。

では、「自分の名前」ディレクトリの中には何が入っているのか?
これを知るために、次は以下のコマンドを実行してください。(一文字目は小文字の「エル」です)

ls

すると、ワーキングディレクトリ「/Users/自分の名前」の下の階層に入っているファイルやディレクトリが出てきます。また、その中のそれぞれのディレクトリの中身を見ると、また色々なものが入っているわけです。

試しにやってみると、例えば一個下の「Documents」ディレクトリ(無ければ他のディレクトリでも構いません)の中身を見るには、

ls Documents

のコマンドを実行すると、その中身が列挙されます。

今までは全てホームディレクトリ(/Users/自分の名前)で作業(ワーキング)していたのですが、このワーキングディレクトリを変えることもできます。そのために使うのが、cd(change directory)というコマンドです。先ほどの「Documents」というディレクトリに移動して作業したい場合、

cd Documents

を実行すればワーキングディレクトリを変更できます。あるいは以下のコマンドでも同じことができます。

cd /Users/自分の名前/Documents

こちらのコマンドではcdの後ろの部分にたくさん書かれているのがわかります。この長ったらしい「/Users/自分の名前/Documents」の部分は絶対パスと呼ばれ、一番高い階層(ルートディレクトリ)から特定のディレクトリやファイルまでの階層構造(=パス)を記述するものです。
(「/」は階層と階層の間に付ける記号です。)

ワーキングディレクトリがどこであっても、この記述方式なら必ずディレクトリ、ファイルの場所を特定できるのですが、長いし面倒だ、ということでよく使われるのが相対パスです。

一個前に示したコマンドではcdの後ろにDocumentsとしか書いてないのですが、このDocumentsが相対パスです。つまり、今ワーキングディレクトリは、「/Users/自分の名前」なのでその部分は省略できるというわけです。

そういう意味で、ワーキングディレクトリを変えることというのは、重要な作業になります。

ちなみにホームディレクトリは「~」という記号を用いて置き換えることができます。つまり、「/Users/自分の名前/Documents」と「~/Documents」は同じ意味となります。

Rでワーキングディレクトリを変更する

満を持していよいよRの方に入っていきます。RでもRStudioでも構いませんが、開いたらコンソールに

getwd()

と入力して実行してください(get working directoryという意味のコマンドです)。するとワーキングディレクトリが出力されます。先ほどと同様、ホームディレクトリ(/Users/自分の名前)が出力されるはずです。

ターミナル(UNIXコマンド)ではpwdというコマンドでしたが、Rではgetwd()というコマンドになりました。これは言語の違いによるもので、覚えるしかありません。

こういった基本的な操作をするコマンドはデフォルトで何個も登録されているので、随時覚えつつ慣れていきましょう。

さて、仮に今あなたが「/Users/自分の名前/Documents/卒業論文/データ」ディレクトリの中に色々なエクセルファイル、csvファイルを管理しているとしたら、ワーキングディレクトリは「/Users/自分の名前/Documents/卒業論文/データ」に設定するべきです。

そのためには、Rコンソールで以下のコマンドを実行してください。

setwd("Documents/卒論論文/データ")

するとワーキングディレクトリが、現在の「/Users/自分の名前」から「/Users/自分の名前/Documents/卒業論文/データ」に移ります。これも書き方はいくつかあり、以下のコマンドでも同じことができます。

setwd("~/Documents/卒業論文/データ")
setwd("/Users/自分の名前/Documents/卒業論文/データ")

ちなみにコマンドやパスは途中まで打ち込んだら「tabキー」を押すことで予測候補が出るので、適宜tabキーを使いながら入力すると楽です。

ここまで準備を終えたら、以下のような形でワーキングディレクトリ以下にあるcsvファイルを読み込んで、データ分析に入ることができます。

data <- read.csv("データの名前.csv")

ワーキングディレクトリをちゃんと設定しないとこれが永遠に読み込めないわけです。
絶対パスで/Users/自分の名前/Documents・・・という風にゴリ押すこともできなくはないですが、書くのが面倒+美しくはないですね↓

data <- read.csv("/Users/自分の名前/Documents/卒業論文/データの名前.csv")

分析の中身の方はまた別の記事にしようと思います。

※作業ディレクトリの変更自体は、Rの上の方にあるボタンから「その他」→「作業ディレクトリの変更」でできますが、あえて今回はコマンドを中心に解説をしました。

この記事が気に入ったらサポートをしてみませんか?