Подавите вывод одной команды в R

Я надеюсь подавлять вывод одной команды (в этом случае, apply функция).

Действительно ли возможно сделать это без использования sink()? Я нашел ниже описанное решение, но хотел бы сделать это в одной строке, если это возможно.

Как подавить вывод

78
задан Community 23 May 2017 в 12:26
поделиться

3 ответа

Непонятно, почему вы хотите сделать это без стока , но вы можете заключить любые команды в функцию invisible () , и она будет подавить вывод. Например:

1:10 # prints output
invisible(1:10) # hides it

В противном случае вы всегда можете объединить данные в одну строку с помощью точки с запятой и круглых скобок:

{ sink("/dev/null"); ....; sink(); }
83
ответ дан 24 November 2019 в 10:34
поделиться

Используйте функцию capture.output () . Он работает очень похоже на одноразовую раковину () и в отличие от invisible () , она может подавлять больше, чем просто выводить сообщения. Установите для аргумента файла значение / dev / null в UNIX или NUL в Windows. Например, учитывая примечание Дирка:

> invisible(cat("Hi\n"))
Hi

> capture.output( cat("Hi\n"), file='NUL')
> 
51
ответ дан 24 November 2019 в 10:34
поделиться

R автоматически выводит только неназначенные выражения, поэтому просто присвойте результат apply переменной, и он не будет напечатан.

9
ответ дан 24 November 2019 в 10:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: