[[計量経済学のためのR環境]]

#contents

***Rのバージョンと作業用ディレクトリ [#u658af56]

 2005年にこのコンテンツを作り始めたとき、Rの最新安定版はR-2.2.0でした。この項を執筆している2008年11月の最新安定版はR-2.8.0です。どのバージョンから、以下の変化が起こったのかはわかりません。

 2.2.0では、sample.csvというデータを用意して

 dset <- read.csv("sample.csv", header=TRUE)
 attach (dset)
 eq1 <- lm(y ~ x1)
 summary(eq1)

 というスクリプトを実行したとき、R-2.2.0がC:\Program Files\R\R-2.8.0にあるとき、sample.csvを置くべきフォルダは、

 C:\Program Files\R\R-2.8.0\bin

 でした。パスの相対指定はここが起点でした。例えば1行目が

 dset <- read.csv("d/sample.csv", header=TRUE)

 だったら、R-2.2.0は

 C:\Program Files\R\R-2.8.0\bin\d\sample.csv

 を読み込もうとし、存在しないときはエラーを出しました。このときの「C:\Program Files\R\R-2.8.0\bin\d」が作業用ディレクトリです。コンピュータと付き合いの長くない読者には聞きなれない言葉かもしれません。ここではあまり厳密な話はしないので「ディレクトリ=フォルダ」と理解しておいてください。Rを研究や仕事で使う人は、たくさんのファイルを作るので、専用のフォルダが欲しくなるはずです。

 R-2.8.0では、起動時の作業用ディレクトリはRを使っているユーザの「マイ ドキュメント」に変更されました。例えばnamikawaというユーザがRを使っているとき、作業用ディレクトリは
 R-2.8.0になってから、起動時の作業用ディレクトリがRを使っているユーザの「マイ ドキュメント」になる現象が何度か起きました。例えばnamikawaというユーザがRを使っているとき、作業用ディレクトリが

C:/Documents and Settings/namikawa/My Documents"

 になるはずです。ですから、R-2.2.0で動いていたスクリプトは、そのままではデータファイルを見つけられず、あれもこれも動かなくなってしまいます。
 になるのです。ですから、そのままではデータファイルを見つけられず、あれもこれも動かなくなってしまいます。

 これからRを始める人は、「マイ ドキュメント」の下にデータやスクリプトを置くフォルダを作るといいでしょう。
 この現象は再現性がなく、起動時の作業用ディレクトリが従来どおりの場所になることもあります。おそらくRをインストールしたフォルダの位置に関係するのだと思いますが、発生する条件は不明です。

 ただ、授業で使うデータなどはRといっしょに配布することもあるでしょう。以下に、作業用ディレクトリを確認・変更する方法を記します。
 以下に、作業用ディレクトリを確認・変更する方法を記します。

***作業用ディレクトリを変更する方法(1) [#if9cff33]

 まず結論から。作業用ディレクトリを

 C:\Program Files\R\R-2.8.0\bin\d

 にするためには、起動したあと、Rコンソールで次を実行します。

 setwd(R.home())
 setwd("bin/d")

 この作業は、Rguiを終了するまで有効ですが、起動するたびに必要なようです。

***作業用ディレクトリを変更する方法(2) [#v6b6d2ec]

 Rguiのメニューで「ファイル→ディレクトリの変更」を選びます。エクスプローラのような画面が出ますから、使いたいディレクトリを選んだり作ったりして「OK」します。

***関係する予約語(関数)の解説 [#td2ae3c0]

 setwd(パス名)

 作業用ディレクトリを指定します。パス名には相対表記も可能です。例えば"bin/d"は最後に指定したディレクトリの下にあるbin/dを指します。また、".."は最後に指定した場所のひとつ上を指します。

 R.home()

 Rをインストールしたフォルダのパス名を指します。例えばC:\Program Files\R\R-2.8.0といったような。ただし、MS-DOS風の短いファイル名を使うので、表示させると見たこともない短縮形、ということも起こります。また、結果は必ず文字列関数なので、""でくくる必要がありません。

 getwd()

 現在の作業用ディレクトのパス名を表示します。()の間に何も入れる必要はありません。

 dir()

 現在の作業用ディレクトリの内容を表示します。

 dir()  
[[参考リンク R-Tips第06節>http://cse.naro.affrc.go.jp/takezawa/r-tips/r/06.html]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS