Depende de como você executará o código ou se houver algum código estocástico, pois ele desenha números aleatórios de maneira aleatória. (Um exemplo disso são os testes de permutação em nosso pacote vegano , nos quais só continuamos a permutar até reunirmos dados suficientes para saber se um resultado é diferente do erro Tipo I declarado, levando em consideração uma taxa de erro Tipo II.) Embora mesmo isso não deve afetar os empates ...
Se o script final for executado apenas como um trabalho em lotes ou em sua totalidade e não houver empates estocásticos do gerador de números pseudo-aleatórios, é seguro definir uma semente na parte superior do script e executá-lo em sua totalidade .
Se você deseja percorrer o código, talvez executando novamente os blocos, precisará de uma set.seed()
chamada antes de cada chamada de função que será extraída do gerador de números pseudo-aleatórios.
Nos meus artigos científicos, rotineiramente sou super defensivo e coloco sementes antes de cada parte do código; isso permite atualizações do script em uma data posterior que talvez precise ser inserida no script existente a qualquer momento - diga para responder aos comentários dos revisores ou co-autores.
Espera-se que seus resultados não sejam contingentes a um conjunto específico de valores pseduo-aleatórios; portanto, o problema é capaz de reproduzir os valores exatos especificados em um relatório ou artigo. Mesmo que você seja super defensivo e defina uma semente em cada parte do código, ainda será necessário recriar a instalação exata - versão R e versões de pacotes, para que seja essencial registrar esses detalhes. Para ser mais seguro, você precisará manter as versões e pacotes R anteriores para projetos / documentos específicos. De fato, muitas pessoas fazem isso.
R
trabalhos, esse estado pode ser encontrado.Random.seed
. Minha maior preocupaçãoR
é que algumas rotinas possam contornar isso - e talvez possam ignorarset.seed
completamente em alguns casos.