Я надеюсь подавлять вывод одной команды (в этом случае, apply
функция).
Действительно ли возможно сделать это без использования sink()
? Я нашел ниже описанное решение, но хотел бы сделать это в одной строке, если это возможно.
Непонятно, почему вы хотите сделать это без стока
, но вы можете заключить любые команды в функцию invisible ()
, и она будет подавить вывод. Например:
1:10 # prints output
invisible(1:10) # hides it
В противном случае вы всегда можете объединить данные в одну строку с помощью точки с запятой и круглых скобок:
{ sink("/dev/null"); ....; sink(); }
Используйте функцию capture.output ()
. Он работает очень похоже на одноразовую раковину ()
и в отличие от invisible ()
, она может подавлять больше, чем просто выводить сообщения. Установите для аргумента файла значение / dev / null
в UNIX или NUL
в Windows. Например, учитывая примечание Дирка:
> invisible(cat("Hi\n"))
Hi
> capture.output( cat("Hi\n"), file='NUL')
>
R автоматически выводит только неназначенные выражения, поэтому просто присвойте результат apply
переменной, и он не будет напечатан.