7

Rで新しいセッションを開始するにはどうすればよいknitrですか?rm(list=ls())同等ではないので、のようなものを使用するのではなく、新しいセッションを開始したいと思います。

<<myname>>=
#some R code
@
<<another_chunk>>=
#start a new R session
#more R code
@
4

2 に答える 2

4

さて、 GeorgRußによるR-helpリストの回答に触発されて、私はあなたにとってより実質的な何かを持っています。彼は、Rを起動時の状態に戻すために、3つのことを提案しています。私は、この6つのステップのマニュアルを作成しました。

まず、起動時に実行しているパッケージの文字列を保存します(これは、他のコードを実行する前に、他の何よりも先に実行する必要があります)。

foo <- .packages()

次に、Rをリセットする場合は、前述のとおり、次のように実行します。

rm(list=ls()) 

すべてのオブジェクトを削除します。次に、3番目に、実行します。

bar <- .packages()

現在のパッケージの文字列を取得します。に続く、

foobar <- setdiff(bar, foo)

第5に、この回避策ループとの違いを取り除きます。

toRemove <- paste("package:", foobar, sep='') 
#or paste0("package:", foobar) in R-2.15.0 or higher
for(i in seq_along(foobar)) {           
    detach(toRemove[i], character.only=TRUE)    
}

第6に、設定に応じて、.Rprofileを調達します。

source(".Rprofile")

これにより、Rは開始時の状態になります。私は何かを見落としていたかもしれません。

于 2012-04-06T08:03:13.330 に答える
4

で新しいRセッションを開始する代わりにknitr、次のようにターミナル(またはコマンドウィンドウ)で新しいRセッションを開始することをお勧めします。

R -e "library(knitr); knit('your_input.Rnw')"

Windowsを使用している場合は、Rのbinディレクトリを環境変数に配置する必要がありますPATH(これを行う方法を説明するのは非常にうんざりです。Windowsの世界にいる場合は、自分でグーグルで検索するか、LyXSweaveを参照してください。マニュアル)。

ただし、ほとんどの編集者は、SweaveまたはLyXやRStudioなどを呼び出すときに、新しいRセッションを開始します。http : //yihui.name/knitr/demo/editors/knitrで、より多くの可能な編集者を見つけることができます。ターミナルに電話します。R -e ...

于 2012-04-06T16:41:38.480 に答える