Rのメモ

現在、定義が残っている関数やオブジェクトの確認方法

再定義(自分定義)は、セーブ付で終了すれば、.Rdataに情報が保存される。既存関数なども再定義できるので、間違って定義してしまった場合は、ls()で確認し、rm()で消すことができる。
(rmでは既存のものは消されないので自分定義のものだけ消すことができる)

attachを繰り返すときは、detachのタイミングが重要

データフレームのラベルを自分で付け直し、attachするような場面をループの中で繰り返す場合、detachを忘れるとwarningが出る。

for(...){
names(tt) <-c ( "yymmdd", "rain")
attach(tt)
...
}
The following object(s) are masked from tt ( position 3 ) : #ワーニングが出る

rain yymmdd

これは、rainとyymmddという名前が繰り返し定義されているので、本当に意図しているrainとyymmddにアクセスできていない可能性がある、と言われている。これは何を使って解析しているか分からなくなり、非常に危険なので、必ず解消すること。

detach(tt)

ループの場合は、とりあえずループの最後にこれを入れて、再定義を回避すればよい。

コンソール出力の結果をテキストファイルに残すには、手っ取り早くUNIXのteeを使う

R | tee hoge.log

スクリプトを実行する

例えば、Rの処理を書いたmemo.Rというファイル有る場合、Rを立ち上げプロンプト上でこのように実行させる。

> source('memo.R')

もしくは、Rを起動させずにプロンプトから以下を実行する。

R --vanilla < script.txt