Suppress output in R

时间:2016-04-21 22:43:21

标签: r sublimetext sublimerepl

It's possible to suppress all the output but the cat/print/similar in an R console?

I'm using SublimeRepl for Sublime Text and I would love to suppress the echo when executing a line (something like the ";" in matlab/octave), but keeping the output from cat/print or similar commands for obvious reasons.

Any idea?

1 个答案:

答案 0 :(得分:0)

有相当数量的R函数通过invisible函数返回值。它们会cat一些有限的值,但返回的对象会更大。例如,请参阅lm

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

R控制台默认工作为读取 - 评估 - 打印循环,您需要模拟读取和评估段,然后无形地将值返回到工作区。我认为您可能需要重写readline函数以使控制台输出消隐。并且可能还需要摆弄stdinstdout连接。第1.6节,"自动打印" R Internals文件将被要求阅读。它让我想知道你是否可以在R_Visible变量设置为FALSE的情况下重新编译R.该部分说"实际的自动打印由文件print.c中的PrintValueEnv完成"