1

パッケージlmer()から関数を実行するR関数を作成しました。lme4関数が警告を返すことがありますが、lmer()関数を実行するとこれらの警告が表示されます。

ただし、Rを介して関数を実行するgWidgetと、警告はRコンソールに表示されません。これらは、Rコンソールで新しいコマンドを実行した後にのみ表示されます。ウィジェットの実行時にこれらの警告を表示するにはどうすればよいですか?

私の質問が明確かどうかはわかりません。私の関数は非常に長く、少し複雑で、引数としてファイルを取ります。ここにコピーして、再現可能な例を提供することはできません。

4

1 に答える 1

1

いくつかの理由で、gWidgetsは出力をリダイレクトすると思います。1つの解決策は、options warn

バグを生成するための小さなコードを作成します。そして私は私が同じ行動をしていることを確認します。

library(gWidgets)
options("guiToolkit"="RGtk2")

warn.handler <- function(h,...) { warnings('dummy warning')}
win    <- gwindow("Hello World, ad nauseum", visible=TRUE)
 group <- ggroup(horizontal = FALSE, container=win)
 obj   <- gbutton("Hello...",container=group,handler = warn.handler)

ここで私のwarn.handler関数はダミーの警告を生成します:

warn.handler()
Warning message:
In warn.handler() : dummy warning

しかし、gwidgetを実行してボタンをクリックすると、警告は表示されません。

オプションを変更すると警告

        options(warn=1) # print warnings as they occur

警告が表示されます。

于 2012-12-13T15:18:59.373 に答える