В R функция внутри цикла не печатает предупреждения последовательно.R, последовательность предупреждения в цикле
for(i in sample(-2:2)){
cat(sprintf("running for %d\n", i))
j= sqrt(i)
}
#running for 0
#running for -2
#running for 1
#running for -1
#running for 2
#Warning messages:
#1: In sqrt(i) : NaNs produced
#2: In sqrt(i) : NaNs produced
В предупреждающие сообщения печатаются в конце и не ясно, какие ценности мы получаем предупреждение. Ищу последовательность massege предупреждения в
#running for 0
#running for -2
#Warning messages:
#1: In sqrt(i) : NaNs produced
#running for 1
#running for -1
#Warning messages:
#2: In sqrt(i) : NaNs produced
#running for 2
Как я могу заставить R печатать предупреждение в последовательном пути (или предупреждении печати сразу же после выполнения кода)?
Спасибо, я сохраню этот ум, когда напишу свою собственную функцию. Однако общий подход, при котором нет необходимости изменять функцию foo, будет большим. –
Вся ваша функция 'foo' делает это, чтобы генерировать предупреждение, поэтому его непонятно, что вы после. Возможно, попробуйте улучшить свой пример таким образом, что 'foo' сделает что-то еще, что потребует предупреждения –
Смотрите мое обновление выше. –