Detectar quando o gerador de número aleatório foi usado

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


[This article was first published on JottR on R, and kindly contributed to R-bloggers]. (Você pode relatar problemas sobre o conteúdo desta página aqui)


Quer compartilhar seu conteúdo em R-bloggers? clique aqui se você tiver um blog, ou aqui se não tiver.



Se você precisar descobrir se uma chamada de função em R gerou um número aleatório ou não, aqui está um truque simples que você pode usar em uma sessão R interativa. Adicione o seguinte ao seu ~/.Rprofile

if (interactive()) {
  invisible(addTaskCallback(local({
    last 

It works by checking whether or not the state of the random number generator (RNG), that is, .Random.seed in the global environment, was changed. If it has, a note is produced. For example,

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
> sum(1:100)
[1] 5050
> runif(1)
[1] 0.280737
NOTE: .Random.seed changed
> 

: rank() Nem sempre é óbvio que uma função gera números aleatórios internamente. Por exemplo, o ties função pode ou não atualizar o estado RNG dependendo do argumento

> x  rank(x)
[1] 1.0 2.5 2.5 4.0
> rank(x, ties.method = "random")
[1] 1 3 2 4
NOTE: .Random.seed changed
> 

conforme ilustrado no exemplo a seguir:

> y  y  

Para algumas funções, pode até depender dos dados de entrada se números aleatórios são gerados ou não, por exemplo

Eu tenho este rastreador RNG habilitado o tempo todo para aprender sobre funções que inesperadamente desenham números aleatórios internamente, o que pode ser importante saber quando você executa análises estatísticas em paralelo. Como um bônus, se você tiver o GIS de cera

pacote instalado, o rastreador RNG produzirá a nota com um estilo menos intrusivo. Se você usar o ~/.Rprofile.d/interactive=TRUE/rng_tracker.Rcomece pacote, você pode adicioná-lo a um novo arquivo . Para saber mais sobre o comecepacote, dê uma olhada nas postagens do blog sobre

comece

Relacionados

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
Leia Também  The Puzzle World [#1157] | R-bloggers