shinyでデバッグプリントを出す方法

すぐ忘れるのでメモ

shinyとは

Rの軽量Webフレームワークshiny。Rで計算した結果をWebで簡単に表現できるので非常に便利です。

RStudioを使ってデバッグすればいいのでしょうが、サーバサイドでいきなりコーディングし、訳の分からないエラーが発生した時には非常に困ります。
簡単にデバッグする方法は以下のとおりです

ブラウザ

Chromeのメニューから「その他のツール」ー「デベロッパーツール」を選択します。
そのメニューからConsoleを表示させると、Javascriptでサーバ側のエラーを表示してくれます。
これは非常に便利。

デバッグプリント

ソースコード上にデバッグプリントを埋め込んで変数の内容を確認するには

cat(file=stderr(),"debug=",value)

こんな感じでserver.R上に記述します。これで /var/log/shiny-server以下のファイルに出力されます。

まとめ

Rはスクリプト言語なので、エラーになる直前までは普通に実行してくれますので、エラーとなる直前にデバッグプリントを仕込むと良いでしょう