2016-03-15 1 views
0

Я запускаю обычный скрипт R, в котором у меня есть самозаписываемая функция. Функция использует rm(), которая часто выдает предупреждения, которые я не хочу выводить на консольный вывод. Любое из этих решений:Как скрыть предупреждающие сообщения от самозаписывающей функции в R?

  1. скрытие предупреждений от rm использования этой конкретной самостоятельной написанной функции,
  2. предупреждений пряча от всех использований rm (глобально для на R сессии)

удовлетворяла бы меня ,

foo.function <- function(){ 
    rm(foo.object) 
    print("foo") 
} 

foo.function() 
# [1] "foo" 
# Warning message: 
# In rm(foo.object) : object 'foo.object' not found 
+1

Вы пытались использовать 'suppressWarnings()'? –

+0

Конечно, я не сделал :(Это верно, спасибо! –

+1

Вы можете сделать что-то вроде 'if (length (ls (pattern = 'foo.object')) == 1) rm (foo.object)'. – steveb

ответ

1

Для этого конкретного случая объекта не найден, вы можете использовать что-то вроде этого:

if(exists("foo.object")) rm(foo.object) 

Если вы хотите, чтобы скрыть другие предупреждения, а также, просто используйте SuppressWarnings().