私はノンスRスクリプトではいつも個々の式を張って、Rstudioを使ってスクリプト内の式にブレークポイントを付けてスクリプトをソースできることを知っています。スクリプトを作成せずにデバッガで式の評価をステップスルーする方法はありますか?
私は、この目的のために新しいスクリプトを作成する必要がないデバッガの式の評価をステップバイステップで実行する方法を探しています。
私はノンスRスクリプトではいつも個々の式を張って、Rstudioを使ってスクリプト内の式にブレークポイントを付けてスクリプトをソースできることを知っています。スクリプトを作成せずにデバッガで式の評価をステップスルーする方法はありますか?
私は、この目的のために新しいスクリプトを作成する必要がないデバッガの式の評価をステップバイステップで実行する方法を探しています。
関数で式をラップし、関数のデバッグフラグを設定して実行すると、これを行うことができます。
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
ブレークポイントをヒットすると、コンソールウィンドウで式を評価できます。いくつかの簡単な式はブラウザのコマンドのように見えるので(n
など)、print(n)
と入力する必要があります。
私が知っている限り、これは単なる評価の評価には適していますが、値ペインに表示することはできません。 Rにはライブ式に対応する変数を作成する方法がありますが(?makeActiveBinding
参照)、RStudioデバッガは単にそれらを<Active binding>
として表示しますが、値は表示されません。
質問の編集後:私が知っている限り、Rでそれを行うことはできませんが、RStudioでスクリプトを作成するのは非常に簡単なので、これを実行します:File | New file | R Script
、キーボードショートカットは、使用しているプラットフォームで動作します。
私は非常に簡単な解決策を見つけました。ただ、下記の化合物の式を評価:
browser(); <ARBITRARY R EXPRESSION>
(公平を期すために、ジョナサンは彼の答えでこのソリューションを言及しないが、私は、私は同じソリューションを「再発見」終わった私はそれを読んだとき、彼は何を意味するのか理解できませんでした。
私のポストの元の言い回しは非常にうっすらと、誤解を招いていました。私はそれを編集しました。謝罪。 – kjo