自作関数を毎回自動読み込みするスクリプト autoInclude
RではMatlabと違い、自作した関数は毎回source()
によって読み込まなければ使うことができません。まあたいしたことはないけど、毎回だとけっこうめんどくさい。
そんなとき、自作関数の使い方にも書きましたが、
.Rprofile
というファイルを作ることで、特定の作業をR起動時に自動実行することができます。(いまの場合は自作関数の
source()
のコト)ただし問題は、この
.Rprofile
という名前のファイルがWindowsではすこぶる作りにくいこと。これも前に書いたのですが、Windowsでは、たとえば既存のテキストファイルの名前を
.Rprofile
にしようとしても、エラーが出てできません。どうやらドット"
.
"で始まるファイル名は、エクスプローラでは作れないようで。また、ネットに
.Rprofile
を置いておいても、ブラウザから保存する際に最初のドットがとれてしまいます。なぜ…(´д`)
まあ実際は、メモ帳などで自動実行するスクリプトの内容を記入したのち、
ということで、R上で実行すると、
.R
ないし.r
で終わる名前のファイルを、自動で実行するための.Rprofile
をつくる使い方は簡単。
まずこのページ上部のコードを実行します。
いつもと違い今回の
autoInclude
ってのは、関数の定義が書いてあるわけではなく、単なるスクリプトです。これを実行すると、Rにおけるユーザのホームディレクトリに
.Rprofile
という名前のファイルが作られます。ホームディレクトリは、
autoInclude
実行時にコンソールに表示されます。(普通、Rの本体が入っているディレクトリか、あるいはマイドキュメントになっているようです。)
autoInclude
は二度と実行する必要はありません。このスクリプトは単に
.Rprofile
ファイルを作るためのもので、source()
うんぬん」というのもRは起動時に、ホームディレクトリに
.Rprofile
ファイルが存在した場合、その中身を実行するという仕様になっているのです。で、今回生成された
.Rprofile
ファイルには、最初から、特定のフォルダ内の関数を読み込むためのコードが書いてあります。よってあとすることは、
.Rprofile
ファイル内で、自動読み込みしたいフォルダを指定するこれは
.Rprofile
ファイルの7行目のautoInclude.rdir
という変数の中身を書き換えることで、実行できます。デフォルトでは
"C:/"
になっていますので、これを好きなディレクトリに変えてください。これで毎回のR起動時に、指定フォルダ内に存在するスクリプトファイルがすべて実行されます。
まとめると、やることは
(2) 作られた
.Rprofile
をエディタで開き、7行目を好きなディレクトリに書き換えて上書き保存あとは
.Rprofile
はデフォルトでRのユーザホームディレクトリに作成されますので、動かさないでくださいね。注意事項は、
.Rprofile
ファイルがあると、問答無用で上書きされます。(自分で過去に
.Rprofile
を作った記憶があるかたは、一時退避して、あとからエディタで内容をつけ加える等してください。)(これはこのスクリプトの問題というより、Rの鬼門ですね。)
これらの点はご注意ください。
てか自分で
.Rprofile
をつくれる人は、こんなスクリプト使わないでしょ?以下、実行例です。
> source("autoInclude.R") # まずはautoIncludeを実行
File named <.Rprofile> was successfully created.
C:/Documents and Settings/MOCHI/My Documents/.Rprofile
In this file, please rewrite the value in the 7th row to where you want to put the R functions.
The R script files in that directory will always be included when you start R.
できたファイルの7行目を、好きなディレクトリに変更します。
分かりやすいところがよいでしょう。


すると次回起動時から、以下のようなメッセージが出て、指定ディレクトリ内のRファイルが
source()
されます。R version 2.8.1 (2008-12-22)
Copyright (C) 2008 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Rはフリーソフトウェアであり、「完全に無保証」です。
一定の条件に従えば、自由にこれを再配布することができます。
配布条件の詳細に関しては、'license()'あるいは'licence()'と入力してください。
Rは多くの貢献者による共同プロジェクトです。
詳しくは'contributors()'と入力してください。
また、RやRのパッケージを出版物で引用する際の形式については
'citation()'と入力してください。
'demo()'と入力すればデモをみることができます。
'help()'とすればオンラインヘルプが出ます。
'help.start()'でHTMLブラウザによるヘルプがみられます。
'q()'と入力すればRを終了します。
These R script files were successfully included. #####コレ#####
[1] "cc.R" "clp.R" "getXls.R" "hanoi.R" "HHsim.R" "sl.R" #####コレ#####
■更新履歴■
09.05.27 ver.1.00