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

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

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

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

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

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

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

 { sink("/dev/null"); ....; sink(); } 

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

 > invisible(cat("Hi\n")) Hi > capture.output( cat("Hi\n"), file='NUL') > 

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

вы можете использовать ‘capture.output’, как показано ниже. Это позволяет использовать данные позже:

 log <- capture.output({ test <- CensReg.SMN(cc=cc,x=x,y=y, nu=NULL, type="Normal") }) test$betas 

Следующая функция должна делать то, что вы хотите точно:

 hush=function(code){ sink("NUL") # use /dev/null in UNIX tmp = code sink() return(tmp) } 

Например, здесь функция:

 foo=function(){ print("BAR!") return(42) } 

Бег

 x = hush(foo()) 

Назначит 42 х, но не будет печатать «БАР!». к STDOUT

Обратите внимание, что в ОС UNIX вам нужно заменить «NUL» на «/ dev / null»,

 invisible(cat("Dataset: ", dataset, fill = TRUE)) invisible(cat(" Width: " ,width, fill = TRUE)) invisible(cat(" Bin1: " ,bin1interval, fill = TRUE)) invisible(cat(" Bin2: " ,bin2interval, fill = TRUE)) invisible(cat(" Bin3: " ,bin3interval, fill = TRUE)) 

производит вывод без NULL в конце строки или на следующей строке

 Dataset: 17 19 26 29 31 32 34 45 47 51 52 59 60 62 63 Width: 15.33333 Bin1: 17 32.33333 Bin2: 32.33333 47.66667 Bin3: 47.66667 63 
  • Что делает функция «pol» на самом деле?
  • Создать таблицу PDF
  • Альтернатива expand.grid для data.frames
  • Как изменить языковые настройки в R
  • Какая польза от этого?
  • Добавить переменную в кадр данных, содержащий максимальное значение каждой строки
  • Ошибка: использование стека C слишком близко к пределу
  • Как определить, есть ли у вас интернет-соединение в R
  • backtransform `scale ()` для построения графика
  • Заменить значения NA по строкам
  • условие имеет длину> 1, и только первый элемент будет использоваться в if else statement
  • Давайте будем гением компьютера.