mcmcplot()
R関数が呼び出されたときにブラウザを開かないようにする方法はありますか? クラスターで R コードを実行する必要がありmcmcplot()
、ブラウザーを開こうとすると吐き出します。
出力をファイルにダンプできますか?
この関数は、すべてをファイルに書き込み、ブラウザで開きます。ブラウザを開きたくない場合は、ブラウザで開くかどうかを引数として渡すように関数を編集することをお勧めします。かっこなしで名前を入力するだけで、関数を取得できます。
mcmcplot
次に、その出力をエディターにコピーし、最初に関数の名前を変更して引数を追加します。
mcmcplotnew=function (mcmcout, parms = NULL, regex = NULL, random = NULL,
leaf.marker = "[\\[_]", dir = tempdir(), filename = "MCMCoutput",
extension = "html", title = NULL, heading = title, col = NULL,
lty = 1, xlim = NULL, ylim = NULL, style = c("gray", "plain"),
greek = FALSE,ShouldIPlotinbrowser=T) #new argument here
次に、関数のより多くの部分があります
そして最後に
cat("\r", rep(" ", getOption("width")), "\r", sep = "")
cat("\n</div>\n</div>\n", file = htmlfile, append = TRUE)
.html.end(htmlfile)
full.name.path <- paste("file://", htmlfile, sep = "")
browseURL(full.name.path)
invisible(full.name.path)
}
browsURL 行があるところで、次のようにします。
if(ShouldIPlotinbrowser) { browseURL(full.name.path) }
次に、実行する前にその関数を次のように初期化します。
mcmcplotnew(whatever, usual, arguments,then,ShouldIPlotinbrowser=F)
ソースを見ると、そうではないようです。そこに無条件の呼び出しがbrowseURL()
あります。おそらく、グローバル名前空間で何もしないその関数のダミー バージョンを作成することで、その影響を回避できます。
browseURL <- identity
これにより、他のブラウザのアクティビティも中断される可能性があるため、mcmcplot
呼び出しの後、
rm(browseURL)
mcmcplot
または、行を除くすべてのコードをコピーして、browseURL
代わりにその関数を使用します。