2013-07-05 5 views
8

これは簡単かもしれませんが、私はまだ不満を感じていますので、簡単に説明していただきたいと思います。私は広範に適切な答えを探しましたが、見つけられないようです。.Rprofileと.Firstの違い

私の.Rprofileには、Rstudio(またはR一般)を開くたびに実行する必要があるすべてのコマンドが含まれているため、なぜ.Rprofile内の.First()関数を定義するオプションがありますか? .First()の目的は本当に何ですか?私が持っている

library(xts) 
cat("\nWelcome at", date(), "\n") 

.First <- function(){ 
    library(xts) 
    cat("\nWelcome at", date(), "\n") 
} 

は単に私の.Rprofileにラインを持っていることから上記の方法は異なります

は私の.Rprofileは、次の行を持っているとし、一例を挙げれば両方を試み、彼らは同じ結果を持っています。

ありがとうございます!

答えて

12

主な違いは、.Firstワークスペース画像.Rdataは(存在する場合)ロードさデフォルト後に実行され、その結果、ワークスペース内のオブジェクトへのアクセスを有することです。例えば

、のは、起動時に自動的にロードされるオブジェクトを作成してみましょう:

x <- 2 
save.image() 

はRを終了し、含むあなたのデフォルトの作業ディレクトリに.RProfileを作成します。

y <- try(print(x)) 
print(y) 
.First <- function() 
{ 
    print(x) 
    invisible(NULL) 
} 

最初の試みxを印刷するのは失敗しますが、2番目の印刷は成功するはずです。

+0

優れています。どうもありがとう! –

+0

**この動作は非常に問題があることに注意する必要があります。**。最初は、ワークスペースがロードされたときに、以前のバージョンの関数によって最初に削除される可能性があります。具体的には、ワークスペースを再ロードし、.Fisrtを削除し、セッションを再開する必要があります(ワークスペースを保存して) –

関連する問題