今年度(2009年度)から始まった「農環研 統計GISコース」のため, R-2.9.0 のインストールに続いて,パッケージをインストールした。 以下は,その記録である (2009年5月)。
R本体を R-2.10.1 にアップデートしたのに伴なって, パッケージもアップデートした。 なお,パッケージをアップデートする場合には, Rの中から "Update packages..." を実行するよりも, 古いパッケージのディレクトリを削除して (あるいは用心のため名前を変えて取っておいて) 新たにインストールした方が早い (2010年3月)。
以下の説明文の中で, 「ディレクトリ」という用語は「フォルダ」と同義である。
R 本体のプログラムは,
C:\Program Files\R\R-2.9.0\...
以下にインストールされる。
何も指定しないと,新たなパッケージは,
R をインストールしたディレクトリの下の
C:\Program Files\R\R-2.9.0\library\...
以下にインストールされる。
このままだと,新たにインストールしたパッケージは,
R 本体をアップデートするたびに古いディレクトリからコピーするか,
もう一度インストールしなおさなければならない。
(実際には,パッケージ用のディレクトリを作らず, R 本体をアップデートするたびに, パッケージも再インストールする方法でもよい。 その場合は,すぐ次の 2. パッケージのインストールへ進む。)
ここでは,バージョン番号の付いたディレクトリの一段上の
C:\Program Files\R\myRlib\...
以下にパッケージをインストールすることにする。
エクスプローラ(マイコンピュータ)などを用いて,ディレクトリ C:\Program Files\R\myRlib を作成する。 このとき Vista では許可を求められるので, 「許可」する。
パッケージの場所を R に教えるには,環境変数
R_LIBS="C:\Program Files\R\myRlib"
を利用する
(ディレクトリの名前 Program Files
にスペースが含まれているので,
ディレクトリ全体を引用符 "..." で囲む)。
この環境変数の指定は,アイコン
を右クリックしてプロパティ画面を開き,
「リンク先(T):」欄の最後に
R_LIBS="C:\Program Files\R\myRlib"
を追加する。
あるいは,.Renviron というファイル (ファイル名の最初にドットが付いていることに注意) を HOME ディレクトリに作成し, その中に R_LIBS="C:\Program Files\R\myRlib" の一行を書いておいても良い(こちらの方法がお勧めである)。 ドットの付いた .Renviron というファイルは メモ帳で作成できる。
通常,HOME ディレクトリというのは,XPの場合は「マイドキュメント」
C:\Documents and Settings\[username]\My Documents\
Vista の場合は「ドキュメント」
C:\Users\[username]\Documents\
である。
R のアイコンをクリックして,R をスタートする。 Vista の場合は, アイコンを右クリックし, 「管理者として実行(A)...」を選択する【重要】。
「パッケージ」メニューの「パッケージのインストール」を選択する (なお下の画面では, R の Sys.getenv コマンドで環境変数の値を確認している)。
CRAN のミラーサイトを選択する画面が出るので, 近くのサイトを選択し,「OK」をクリックする。
インストールすべきパッケージを選択する画面が出る。 Rcmdr を選択する。 ついでに,プラグイン類“RcmdrPlugin.*”を選択してもよい。 しかし,インストールすべきファイル数が膨大になるので, プラグイン類は,必要になったときにインストールすることにして, ここでは Rcmdr を先ずインストールする。
しばらく待つと,無事 Rcmdr のインストールが終了する
(「HTML パッケージ記述を更新」のメッセージが出る)。
パッケージを使うためには,R のコマンドラインで
> library(Rcmdr)
と入力するか,パッケージメニューの「パッケージの読み込み...」
を実行し,その次の画面で,Rcmdr を選択する。
しかし,Rcmdrが利用する他のパッケージがまだインストールされていないので, 次のようなインストールを促すメッセージがでる。 「はい (Y)」をクリックして,必要なパッケージをインストールする。
必要なパッケージのインストール方法を指定する画面がでるので, CRAN をチェックし,OK をクリックする。
かなりの数(数十個)のパッケージがダウンロードされて インストールされるため,数分の時間がかかる。 無事終了すると,R コマンダーのスタート画面が現れる。
R やパッケージをインストールしようという人は, 通常は「ヒラ管理者」アカウントでPCを利用しているであろう。 しかし Vista の場合, ディレクトリ C:\Program Files\... 以下の内容を書き換えようとするときには, より強力な「パワー管理者」の権限をもっていなければならない。 上記「4.2 パッケージのインストール」の最初で, 「管理者として実行(A)...」 を選択したのは, この「パワー管理者」の権限で R を実行するためである。
R のパッケージをインストールすると, C:\Program Files\... の中の 2 箇所が書き換えられる。
まず当然ながら,
C:\Program Files\R\myRlib\...
以下にパッケージが保存される
(
「1. パッケージ用ディレクトリ」で説明したように,
環境変数 R_LIBS
を設定していない場合は,
C:\Program Files\R\R-2.9.0\library\...
以下に保存される)。
HTML ヘルプファイル
C:\Program Files\R\R-2.9.0\doc\html\packages.html
C:\Program Files\R\R-2.9.0\doc\html\search\index.txt
が書き換えられる
(R-2.10.0以降では,この書換えは行なわれなくなった)。
Vista で,
「パワー管理者」権限でなく単に R のアイコンをクリックして R を開始し,
新たなパッケージをインストールしようとすると,
C:\Program Files\R\myRlib\...
へパッケージを保存することができないので,次のようなメッセージが出る。
そして,HOME ディレクトリの下に
HOMEディレクトリ(通常は C:\Users\[username]\Documents)\R\win-library\2.9\
を作ろうとする。
「はい (Y)」をクリックすると,
一応,そこにパッケージがインストールされる。
しかし,インストールの最後に
C:\Program Files\R\R-2.9.0\doc\html\packages.html
を書き換えることができないので,
警告メッセージが出る
(R-2.10.0以降では,この警告メッセージは出なくなった)。
通常は文書類を保存する HOME ディレクトリにパッケージがインストールされるのは鬱陶しいし, HTML ヘルプファイルが更新されないのもいやなので, Vista でパッケージをインストールする場合は, 「4.2 パッケージのインストール」の最初で説明したように, R アイコンを右クリックして 「管理者として実行(A)...」 を選択する。
ただし,R を C:\Program Files\R\R-2.9.0\... 以外の場所 (たとえば C:\R\R-2.9.0\... ) にインストールすれば,何の問題も起こらない。
R コマンダーに限らず,パッケージのインストール中に, 『指定されたファイルが見つかりません。』 というエラーメッセージが出て, インストールが中断することがある。
Google で検索しても,あまり情報が見つからないので, (私の)古い XP マシーンのみに生じる現象かもしれない。 また R を英語モードで実行していても, 日本語でエラーメッセージが出るので, R 以外の部分に問題があるようだ。
このとき,インストールしようとしたパッケージは,
目的とするディレクトリの中で,
c:\usr\R\myRlib\file********\Rcmdr\...
のような形で保存されている
(注: 私のXPでは,c:\Program Files\R\...
ではなく,c:\usr\R\...
に R をインストールしている)。
Rcmdr のファイル群は,一応展開されているようだ。
正しくは,Rcmdr のディレクトリは,
直接 c:\usr\R\myRlib\
の下に位置しなければならない。
こんなことであきらめていたのでは, 5年間苦労してきた甲斐がないので, 何とかしなければならない。
ディレクトリ \Rcmdr 以下を直接 c:\usr\R\myRlib\ の下に移動する。 そして,空になったディレクトリ \file******** を削除する。
これで,環境変数 R_LIBS="C:\usr\R\myRlib" が設定してあれば, 上記の作業で R は R コマンダーを認識する。 メニューから「パッケージの読み込み...」を実行すると Rcmdr が見つかる。
ただし,「2. パッケージのインストール」の 必要なパッケージのインストール の項で説明したように, 関連するパッケージ類がインストールされていないので, 次のようなメッセージが出る。 「2. パッケージのインストール」で説明した手順に従って, 関連するパッケージもインストールする。
R から抜け出て,上に説明したように c:\...\R\myRlib\file********\... へ保存されたパッケージを直接 c:\...\R\myRlib\ へ移動する。
以下,2〜5の作業を本当に根気よく繰り返す。
以上で,目的とするディレクトリ c:\...\R\myRlib\...
の下に必要なパッケージ類が保存される。
しかし,この段階で R の HTML 記述は更新されていないので,
R のコマンドラインから
> link.html.help()
を実行する。このコマンドを実行すると
「3. Vista へのインストール」
の項で説明したように,
HTML ヘルプファイル
C:\...\R\R-2.9.0\doc\html\packages.html
C:\...\R\R-2.9.0\doc\html\search\index.txt
が無事に書き換えられる
(R-2.10.0以降では,この手順は不要)。
上記の 関連パッケージのインストール中のエラー (4.2.4) の前に, R は必要な圧縮ファイル(*.zip ファイル) をテンポラリファイル(一時的ファイル)としてダウンロードしている。 この圧縮ファイルのダウンロードは確実に成功する。
テンポラリファイルが保存されるディレクトリは, 独自に環境変数 TMP または TEMP を設定している場合は, そのディレクトリ。 これらの環境変数を設定していない場合は, HOME ディレクトリ(マイドキュメント, C:\Documents and Settings\[username]\My Documents\)。
このテンポラリファイルは, R のセッションを終了すると消えてしまう。 そこで R を終了する前に, この圧縮ファイル群を他の場所へコピーする。 現在,c:\tmp\RtmppTrW8u\dounloaded-packages\... なので,c:\tmp\dounloaded-packages\... でもよいであろう (実は,この圧縮ファイル群に Rcmdr の圧縮ファイルを加えれば, Rcmdr をインストールするために必要なファイル集合となる)。
これで,必要な圧縮ファイル集合ができた。 本来なら,R のパッケージメニューの 「ローカルにあるzipファイルからのパッケージのインストール...」 により一気にインストールしてもよい。 しかし,例によって 『指定されたファイルが見つかりません。』 のエラーメッセージが出るに違いない。
そこで,R を使うのではなく,適当な解凍ツールによって, 上記の圧縮ファイル群を一気に目的とするディレクトリ c:\...\R\myRlib\... へ解凍する。
最後に,コマンド
> link.html.help()
を実行して(あるいは,パッケージの更新を行なって),
HTML パッケージ記述を更新する
(R-2.10.0以降では,この手順は不要)。
この方法が一番簡単。
他の新しいPCで成功したパッケージのディレクトリを, そのまま,XP の対応するディレクトリにコピーする。
コマンド
> link.html.help()
を実行して(あるいは,パッケージの更新を行なって),
HTML パッケージ記述を更新する
(R-2.10.0以降では,この手順は不要)。
成功を祈る。
R-2.10.0 以降では,
パッケージをインストールしたときに行なわれるヘルプファイル
C:\...\R\R-2.9.0\doc\html\packages.html
の書き換えは行なわれなくなった。
このことにより,Vista において, スーパー管理者権限なしでパッケージをインストールした場合でも, 無事インストールが行なわれる (R開発者の方々の苦労がしのばれる)。
R の中からHTMLヘルプを見ようとすると, テンポラリファイル(一時的ファイル)が作成され, ヘルプを無事読むことができる。