付録ERコードのデバッグ

[注記]

本付録は、6章のテーマである環境を参照し、第7、8章のサンプルを使っています。この付録から最大限の情報を引き出すために、まずこれらの章を読むようにしてください。

Rには単純なデバッグツールのセットが含まれており、RStudioはそれを補強しています。これらのツールを使えば、エラーを起こすコードや予想外の結果を返すコードに対する理解を深めることができます。通常、それは自分自身のコードになるはずですが、Rやパッケージに含まれる関数を解析することもできます。

コードのデバッグには、コード作成と同じくらいの創造性と洞察が必要になることがあります。バグが見つかるという保証はなく、見つけたとしても修正できるという保証はありません。しかし、Rのデバッグツールを使えば、目標に近づくことができます。デバッグツールには、tracebackbrowserdebugdebugoncetracerecover関数あります。

これらのツールは、通常2ステップで使います。まず、エラーが起きた場所を特定してから、エラーが起きた理由を明らかにします。第1ステップは、Rのtraceback関数でクリアすることができます。

E.1 traceback

tracebackツールは、エラーが起きた場所をピンポイントで特定します。多くのR関数はほかのR関数を呼び出し、呼び出された関数はさらに別の関数を呼び出すということを繰り返していきます。エラーが起きたとき、これらの関数の中のどの部分がおかしな動作をしたのかははっきりわからない場合があります。例を使って考えてみましょう。次の関数は互いにほかの関数を呼び出し、最後の関数がエラーを起こしています(その理由はすぐにわかります)。 ...

Get RStudioではじめるRプログラミング入門 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.