私の関数のかなりの数は、グラフィックス出力ファイルを設定fileする引数 (デフォルトは) を受け入れます。NULLたとえば、foo()画面にプロットしfoo(file="bar.png")、プロットを file に書き込みます"bar.png"。
それらには、次のコード スニペットが含まれています。
if (!is.null(file)) {
cat("*** writing",file,"\n")
do.call(tools::file_ext(file),list(file = file)) # set the device
on.exit(dev.off())
}
これらの 5 行を置き換える関数を作成できればと思いますが、on.exit残念ながら、グラフィック デバイスのリセットが早すぎるためできません。
そのような状況で人々は何をしますか?