Как подавлять предупреждения глобально в R Script

У меня длинный R script, который вызывает некоторые предупреждения, которые я могу игнорировать. Я мог бы использовать

suppressWarnings(expr)

для отдельных операторов. Но как я могу подавить предупреждения в R глобально? Есть ли возможность для этого?

Ответ 1

Вы можете использовать

options(warn=-1)

Но обратите внимание, что отключение предупреждений в глобальном масштабе может быть не очень хорошей идеей.

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

options(warn=0)

(или независимо от вашего значения по умолчанию для warn, см. этот ответ)

Ответ 2

Вы хотите options(warn=-1). Однако обратите внимание, что warn=0 не является самым безопасным уровнем предупреждения, и его не следует считать текущим, особенно в сценариях или функциях. Таким образом, самый безопасный способ временного отключения предупреждений:

oldw <- getOption("warn")
options(warn = -1)

[your "silenced" code]

options(warn = oldw)

Ответ 3

Посмотрите ?options и используйте warn:

options( warn = -1 )

Ответ 4

Я заменил printf -calls на вызовы 'warning' в C-коде. Он будет эффективен в версии 2.17.2, который должен быть доступен завтра вечером. Тогда вы должны быть в состоянии избежать предупреждений с помощью suppressWarning() или любых других вышеупомянутых методов.

Бернд