Ответ 1
Вы можете использовать capture.output
с invisible
> invisible(capture.output(y <- ff(2)))
> y
[1] 4
или sink
> sink("file")
> y <- ff(2)
> sink()
> y
[1] 4
Предположим, у меня есть такая функция:
ff <- function(x) {
cat(x, "\n")
x^2}
И запустить его:
y <- ff(5)
# 5
y
# [1] 25
Мой вопрос заключается в том, как отключить или скрыть 5
напечатанных из cat(x, "\n")
таких как:
y <- ff(5)
y
# [1] 25
Вы можете использовать capture.output
с invisible
> invisible(capture.output(y <- ff(2)))
> y
[1] 4
или sink
> sink("file")
> y <- ff(2)
> sink()
> y
[1] 4
Вот хорошая функция для подавления вывода из cat()
Хэдли Уикхемом:
quiet <- function(x) {
sink(tempfile())
on.exit(sink())
invisible(force(x))
}
Используйте это так:
y <- quiet(ff(5))
Источник: http://r.789695.n4.nabble.com/Suppressing-output-eg-from-cat-td859876.html