4
我有一個通過message()
報告進度的功能。在正常使用情況下,這是可取的,如果需要,可以通過suppressMessages()
來抑制消息。編織R爲PDF時的限制信息輸出
但是,我正在寫一個調用此函數的小插件(在Rmarkdown中),結果包括這些進度更新的整個頁面。我想包括前幾行的信息,但不要浪費整個頁面。有沒有辦法配置這個?
我試過通過塊選項R.options=list(max.print=10)
, as suggested in another answer here,但這似乎並不適用於消息。或者至少,不是在這種情況下,每個函數內一次或兩次生成實際消息,但該函數被稱爲循環的一部分。
我工作的一般結構爲:
function1 <- function(file.list){
res <- list()
for(i in seq_along(file.list)){
message("processing ", file.list[i])
res[i] <- function2(file.list[i])
}
}
function2 <- function(file){
message("analyzing ", file)
tryVal <- try(res <- analysisFunction(file), silent = TRUE)
if(inherits(tryVal, "try-error")){
message("*** problem with ", file, " ***")
} else {
## additional processing
}
return(res)
}
降價塊看起來是這樣的:
```{r batchFlowHist, R.options=list(max.print=10)}
batch1 <- function1(flowPloidyFiles)
```
我想我的小插曲,從最初的幾個文件顯示消息被處理,但不是整個循環。有沒有辦法做到這一點?