現在のセッションをバニラにすることはできませんが、次のように R 内から新しいバニラ R セッションを開始できます
> .Last <- function() system("R --vanilla")
> q("no")
上記をそのまま使用すると、R の再起動後にスクリプトの残りの部分が実行されなくなるため、おそらく問題が発生すると思います。次のコードでは、R は.Last
終了する前に実行されます。 .Last
サイトファイルまたは環境ファイルを読み取らず、起動メッセージを出力せずに再起動するように指示します。再起動すると、コードが実行されます (その他のクリーンアップも実行されます)。
wd <- getwd()
setwd(tempdir())
assign(".First", function() {
#require("yourPackage")
file.remove(".RData") # already been loaded
rm(".Last", pos=.GlobalEnv) #otherwise, won't be able to quit R without it restarting
setwd(wd)
## Add your code here
message("my code is running.\n")
}, pos=.GlobalEnv)
assign(".Last", function() {
system("R --no-site-file --no-environ --quiet")
}, pos=.GlobalEnv)
save.image() # so we can load it back when R restarts
q("no")