次のような関数があるとします。
_ff <- function(x) {
cat(x, "\n")
x^2}
_
そしてそれを実行します:
_y <- ff(5)
# 5
y
# [1] 25
_
私の質問は、次のようにcat(x, "\n")
から出力される_5
_を無効または非表示にする方法です。
_y <- ff(5)
y
# [1] 25
_
invisible
でcapture.output
を使用できます
> invisible(capture.output(y <- ff(2)))
> y
[1] 4
またはsink
> sink("file")
> y <- ff(2)
> sink()
> y
[1] 4
Hadley Wickhamによるcat()
からの出力を抑制するための素晴らしい関数を次に示します。
quiet <- function(x) {
sink(tempfile())
on.exit(sink())
invisible(force(x))
}
次のように使用します。
y <- quiet(ff(5))
出典: http://r.789695.n4.nabble.com/Suppressing-output-e-g-from-cat-td859876.html