これは非常に具体的な質問です。
Windows 7 と Ubuntu 14.04 の両方でテストされた最新バージョンの R (3.2.2)、RStudio (0.99.473)、すべてのパッケージを使用したシンプルな Shiny アプリがあります。両方の SO で同じことが起こります。
適切に作成された記述ファイルを使用して、「パッケージ」に埋め込んだ関数のライブラリがあります。このパッケージをロードするには、devtools を使用します。したがって、私の非常に単純な Shiny アプリのコードの最初の行は次のとおりです。
library("devtools")
load_all("../../RTEMP");
これらの機能の一部を Shiny アプリ内で使用する予定です。パッケージ名は実際には RTEMP ではありません。問題を切り分けるために一時的に作成しました。この一時パッケージには、RTEMP/R/ 内に 1 つのファイル、something.r があります。このファイルには、次の 1 行のコードが含まれています。
AA <- setRefClass("AA");
そのため、名前だけで参照クラスを作成しています (元のコードはこの型の R オブジェクトに依存しています)。パッケージをロードするだけで、パッケージに対して何もしていません。
RStudio を開いて初めて Shiny アプリを実行すると、正常に動作します。アプリを閉じて再度開くと、次のエラー メッセージが表示されます。
ERROR: shinyjs: you cannot mix named and unnamed arguments in the same function call
不思議なことに、Shiny アプリの先頭を次のように変更すると:
#library("devtools")
#load_all("../../RTEMP");
AA <- setRefClass("AA");
そのため、Shiny アプリ内でパッケージの読み込みと参照クラスの設定をコメントすると、すべて正常に動作します。
この問題は、devtools をロードしたパッケージ内から setRefClass を呼び出すと発生しますが、Shiny から直接呼び出すと発生しません。また、1 回目はロードできますが、2 回目はロードできません (Shiny Window に上記のエラー メッセージが表示されるだけです)。
このバグを引き起こしている可能性のあるアイデアはありますか?
どうもありがとうございました。