0

mcmcplot()R関数が呼び出されたときにブラウザを開かないようにする方法はありますか? クラスターで R コードを実行する必要がありmcmcplot()、ブラウザーを開こうとすると吐き出します。

出力をファイルにダンプできますか?

4

2 に答える 2

3

この関数は、すべてをファイルに書き込み、ブラウザで開きます。ブラウザを開きたくない場合は、ブラウザで開くかどうかを引数として渡すように関数を編集することをお勧めします。かっこなしで名前を入力するだけで、関数を取得できます。

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)
于 2012-10-25T22:38:45.700 に答える
2

ソースを見ると、そうではないようです。そこに無条件の呼び出しがbrowseURL()あります。おそらく、グローバル名前空間で何もしないその関数のダミー バージョンを作成することで、その影響を回避できます。

browseURL <- identity

これにより、他のブラウザのアクティビティも中断される可能性があるため、mcmcplot呼び出しの後、

rm(browseURL)

mcmcplotまたは、行を除くすべてのコードをコピーして、browseURL代わりにその関数を使用します。

于 2012-10-25T22:40:43.407 に答える