繁体   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