Как подавить предупреждение о генерации случайных чисел с помощью future.callr?
Я использую
Когда мои фьючерсы вернутся, я получаю следующее предупреждение:
Warning message:
UNRELIABLE VALUE: Future (‘<none>’) unexpectedly generated random numbers without specifying argument 'seed'. There is a risk that those random numbers are not statistically sound and the overall results might be invalid. To fix this, specify 'seed=TRUE'. This ensures that proper, parallel-safe random numbers are produced via the L'Ecuyer-CMRG method. To disable this check, use 'seed=NULL', or set option 'future.rng.onMisuse' to "ignore".
В реальном коде, который я запускаю, он просто загружает некоторые данные, и я не знаю, почему (или забочусь), что он генерирует случайные числа. Как отключить отображение этого предупреждения (исправив генерацию rng или просто проигнорируя его)?
У меня много строк с фьючерсами, поэтому я надеюсь, что смогу каким-то образом установить параметр в начале и не добавлять его в каждую строку.
Вот пример и моя попытка проигнорировать предупреждение.
library(future.callr)
set.seed(1234567)
future.seed = TRUE
#normal random number - no problem
a<-runif(1)
print(a)
#random number in future, using callr plan
plan(callr, future.rng.onMisuse = 'ignore')
b %<-% runif(1)
print(b)
1 ответ
Видеть
help("%seed%", package = "future")
.
Вы можете использовать
%seed%
как показано ниже:
b %<-% runif(1) %seed% TRUE # seed is set by future pkg
print(b)
# or
b %<-% runif(1) %seed% 1234567 # your seed
print(b)
Или отключить проверку
options(future.rng.onMisuse = "ignore")
b %<-% runif(1)
print(b)