Це залежить від того, як ви будете запускати код або чи є якийсь код, який є дещо стохастичним, оскільки він малює випадкові числа випадковим чином. (Прикладом цього є тести на перестановку в нашому вегетаріанському пакеті, де ми продовжуємо пермітувати лише до того моменту, поки не зібрали достатньо даних, щоб знати, чи результат відрізняється від заявленої помилки типу I, враховуючи показник помилок типу II.) Хоча навіть це не повинен впливати на нічиї ...
Якщо остаточний сценарій коли-небудь буде запускатися як пакетне завдання або в повному обсязі, і немає стохастичних малюнків у генераторі псевдовипадкових чисел, то можна сміливо встановити насіння у верхній частині сценарію та запустити його в повному обсязі. .
Якщо ви хочете перейти через код, можливо, повторно блокуючи, тоді вам потрібен set.seed()
виклик перед кожним викликом функції, який буде здійснюватися з генератора псевдовипадкових чисел.
Для своїх наукових робіт я звичайно проходжу супер захисні сили і збираю насіння перед кожним шматочком коду; це дозволяє оновлювати сценарій пізніше, які, можливо, потрібно буде вставити в існуючий сценарій в будь-який момент - скажімо, щоб відповісти на коментарі рецензентів чи співавторів.
Сподіваємось, ваші результати не залежатимуть від певного набору псевдослучайних значень, тому питання може відтворити точні значення, зазначені у звіті чи статті. Незважаючи на те, що ви можете бути супер захисними і встановлювати на кожну частину коду, вам все ж може знадобитися відтворити точну установку --- R-версію та версії пакету, тому запис цих деталей є вкрай важливим. Щоб бути додатково безпечним, вам потрібно тримати попередні версії та пакети для конкретних проектів / робіт. Дійсно, багато людей це роблять.
R
робіт ця держава може знайти.Random.seed
. Моє найбільше занепокоєнняR
полягає в тому, що деякі процедури можуть це обійти - а, можливоset.seed
, в деяких випадках взагалі можуть ігнорувати .