Фон. Я хочу сгенерировать случайные последовательности в цикле для в R v.3.5.0
. Для этого я использую следующий код:
rm(.Random.seed, envir=globalenv())
some_list = list()
for (iter in 1:3) {
set.seed(iter)
some_list[[iter]] = sample(1:10)
}
some_list
Этот код возвращает мне такой список:
> some_list
[[1]]
[1] 3 4 5 7 2 8 9 6 10 1
[[2]]
[1] 2 7 5 10 6 8 1 3 4 9
[[3]]
[1] 2 8 4 3 9 6 1 5 10 7
После этого я повторно запускаю тот же сценарий и ожидаю, что начальное значение будет сброшено после запуска rm(.Random.seed, envir=globalenv())
в сеансе, следовательно, получу другой результат.
Но реальность иная - я получаю точно такой же список даже после удаления .Random.seed
из globalenv()
. См. Прилагаемый экран с точной последовательностью команд: Последовательность команд
Меня очень смущает такое поведение set.seed.
Мой вопрос:
1) Нормально ли такое поведение set.seed?
2) Как сбросить сид, если rm(.Random.seed, envir=globalenv())
не работает?
Заранее спасибо.
iter
вset.seed
, что то же самое. Вы ожидаете, что `set.seed (1); sample (1:10) `, чтобы отображать разные значения для каждого прогона - person akrun   schedule 02.07.2018