0

これは非常に具体的な質問です。

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 に上記のエラー メッセージが表示されるだけです)。

このバグを引き起こしている可能性のあるアイデアはありますか?

どうもありがとうございました。

4

1 に答える 1

1

devtoolsとの非互換性を引き起こしているのは、実際にはパッケージの問題shinyjsです。このバグ レポートを送信しましたが、次のバージョンではこの問題が発生しないことを願っています。

Shiny で同様のエラー メッセージが表示された場合は、他のパッケージ (または独自のパッケージ) に名前空間を必要とする他の関数がある可能性があります。

于 2015-08-19T22:36:52.713 に答える