Подавление одних сообщений в R, но оставление других? - PullRequest
7 голосов
/ 19 марта 2012

Я новичок в R, использующий RScaLAPACK, и каждый раз, когда я создаю новую сетку процессов, я получаю сообщение.

> sla.gridInit(2)
[1] "RScaLAPACK:Process Grid Initialized "

Я собираюсь поместить эту строку в функцию и нехочу, чтобы моя функция выплевывала это сообщение.Однако я не хочу просто утопить ("/ dev / null") вызов, потому что, насколько я знаю, что-то может пойти не так, и тогда я буду подавлять полезный вывод.По сути, я хочу, чтобы он молчал, когда он добился успеха, и громко, если он потерпел неудачу.Каков наилучший способ сделать это?

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

edit: sla.gridInit () ничего не возвращает.Код для sla.gridInit просто вызывает print ().

edit: я предполагаю, что захват вывода лучше всего подходит как подавление сообщений, отображаемых как «print» вместо «message» или «warning» в R .По крайней мере, у меня будет вывод, если я захочу что-то с ним сделать.

1 Ответ

18 голосов
/ 19 марта 2012

Вы можете заключить эту функцию в одну из функций подавления *, suppressMessages, suppressWarnings или suppressPackageStartupMessages.См. Справочные страницы этих функций для получения более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...