2016-07-08 10 views
0

私はノンスRスクリプトではいつも個々の式を張って、Rstudioを使ってスクリプト内の式にブレークポイントを付けてスクリプトをソースできることを知っています。スクリプトを作成せずにデバッガで式の評価をステップスルーする方法はありますか?

私は、この目的のために新しいスクリプトを作成する必要がないデバッガの式の評価をステップバイステップで実行する方法を探しています。

答えて

1

関数で式をラップし、関数のデバッグフラグを設定して実行すると、これを行うことができます。

foo <- function() { 
    # Your expr 
} 
debug(foo) 
foo() 

また、そこにデバッグを開始するためにあなたの式によって呼び出される任意の関数にデバッグフラグを設定するためにdebugを使用することができます。多く:

https://stat.ethz.ch/R-manual/R-devel/library/base/html/debug.html

へのもう一つの方法は、あなたの表現でbrowser()への呼び出しを含めることです。その呼び出しが評価されると、デバッガが起動します。

https://stat.ethz.ch/R-manual/R-devel/library/base/html/browser.html

0

ブレークポイントをヒットすると、コンソールウィンドウで式を評価できます。いくつかの簡単な式はブラウザのコマンドのように見えるので(nなど)、print(n)と入力する必要があります。

私が知っている限り、これは単なる評価の評価には適していますが、値ペインに表示することはできません。 Rにはライブ式に対応する変数を作成する方法がありますが(?makeActiveBinding参照)、RStudioデバッガは単にそれらを<Active binding>として表示しますが、値は表示されません。

質問の編集後:私が知っている限り、Rでそれを行うことはできませんが、RStudioでスクリプトを作成するのは非常に簡単なので、これを実行します:File | New file | R Script、キーボードショートカットは、使用しているプラ​​ットフォームで動作します。

+0

私のポストの元の言い回しは非常にうっすらと、誤解を招いていました。私はそれを編集しました。謝罪。 – kjo

0

私は非常に簡単な解決策を見つけました。ただ、下記の化合物の式を評価:

browser(); <ARBITRARY R EXPRESSION> 

(公平を期すために、ジョナサンは彼の答えでこのソリューションを言及しないが、私は、私は同じソリューションを「再発見」終わった私はそれを読んだとき、彼は何を意味するのか理解できませんでした。

関連する問題