2010-03-23 5 views
13

Я хотел бы отключить вывод в R, когда я запустил свой R-скрипт из командной строки.Как подавить вывод

Я пробовал множество опций, включая --slave и --vanilla. Эти параметры уменьшают объем выводимого текста.

Я также попытался вывести вывод на NUL, но это не помогло.

+1

Может быть, R является печать на стандартный вывод, если '> NUL' Безразлично» t помочь. Попробуйте добавить '2> & 1'. – Joey

ответ

28

Посмотрите на help(sink), чтобы сделать это. В Unix я сделать

sink("/dev/null") # now suppresses 
....     # do stuff 
sink()    # to undo prior suppression, back to normal now 

и эквивалент Windows (с наконечником-оф-шляпы Johannes) является

sink("NUL") 
.... 
sink() 
+3

Обычно эквивалент Windows - «NUL». Однако вполне может быть, что 'CreateFile', & c. не сможет открыть его и что это в основном специальная функциональность в оболочке, которая позволяет его работу. – Joey

+0

Спасибо - я отредактировал ответ соответствующим образом (после тестирования, что он действительно работает таким образом, что «NUL» правильно цитируется). –

+1

Привет @DirkEddelbuettel, я заметил, что это не для сброса ошибок из разделов try(), sink (file = "NUL", type = "message") жалуется, что "NUL" не является файловым подключением, в этих случаях нужно использовать try (stop («error msg»), silent = TRUE), чтобы он работал, как ожидалось. Просто хотел добавить это к вашему ответу, если кто-то еще наткнется на этот ответ. –

Смежные вопросы