問題:私はRパッケージ用のスクリプトを作成しようとしており、ユーザーに慎重を期すために、私はスクリプトの最後にそれらをリセットすることができるように何か。これらのうちいくつかはリセットできないので警告メッセージが表示されるのは正常ですが、その出力がユーザーに届かないようにするためにsuppressWarnings()
を使用しています。ここでは減少した例です:初めてこの関数を呼び出すpar()をリセットするときにRスクリプトのsuppressWarningsを使用した遅延メッセージが表示される
Plot4Things <- function(){
# suppress warnings when saving parameters
suppressWarnings(opar <- par())
# adjust parameter
par(mfrow = c(2,2))
plot(seq(1,20), pch = 16)
plot(seq(1,20), pch = 17)
plot(seq(1,20), pch = 18)
plot(seq(1,20), pch = 19)
# suppress warnings while restoring original parameters
suppressWarnings(par(opar))
}
は私に何の警告メッセージまたはコンソール出力を与えません。良いグラフで、を使用してmfrow
オプションが正しくリセットされていることを確認します。しかし、私は次の出力を得るPlot4Things()
関数を呼び出す後続の各時間:
Plot4Things()
Plot4Things()
# There were 12 warnings (use warnings() to see them)
警告は(私がしようとしていないよので、細かいである)をリセットすることができないグラフィカルなパラメータについての無害なものです。私はすべてのパラメータを保存/リセットのこのメソッドに結びついているわけではないので、これを行うための良い方法はありますか?遅延メッセージが表示されなくなる警告メッセージを表示する方法はありますか?深刻なダウン私は実際には、私は将来の私の文章を向上させることができるように行動を理解したい。
ありがとうございます!
opar <- par(no.readonly = TRUE)
その後、あなたは完全にsuppressWarnings
を使用して回避することができます:あなたのパラメータを設定し、復元するための古いものを保存し、no.readonly
を使用するには
原則として、リセットを 'on.exit'に入れてください。これにより、早期中止につながるエラーが関数内にあっても実行されることが保証されます。これは* all *クリーンアップのために行う必要があります。 –