簡體   English   中英

抑制R中的輸出

[英]Suppress output in R

是否可以在R控制台中抑制除cat / print / like以外的所有輸出?

我將SublimeRepl用於Sublime Text,並且我想抑制執行一行時的回聲(類似於matlab / octave中的“;”之類的東西),但是出於明顯的原因,保留cat / print或類似命令的輸出。

任何想法?

有很多R函數通過invisible函數返回值。 它們將cat一些有限的值集,但返回的對象將大得多。 例如,參見lm的代碼:

> invisible(strsplit(as.character(35600), split="..$"))
> invisible(print(strsplit(as.character(35600), split="..$")))
[[1]]
[1] "356"

R控制台默認情況下是作為read-eval-print循環工作的,您需要模擬read和eval段,但隨后會將值無形地返回到工作區。 我認為您可能需要重寫readline函數,以使控制台輸出被清空。 可能還需要擺弄stdinstdout連接。 必須閱讀R Internals文檔的第1.6節“自動打印”。 這讓我想知道是否可以將R_Visible變量設置為FALSE來重新編譯R。 該部分說“實際的自動打印是由PrintValueEnv在文件print.c

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM