studio mtext change r global local seeding

mtext - r plot legend



estableciendo semillas localmente(no globalmente) en R (1)

Algo como esto lo hace por mí:

myfunction <- function () { old <- .Random.seed set.seed(2) res <- runif(1) .Random.seed <<- old res }

O quizás más elegantemente:

myfunction <- function () { old <- .Random.seed on.exit( { .Random.seed <<- old } ) set.seed(2) runif(1) }

Por ejemplo:

> myfunction() [1] 0.1848823 > runif(1) [1] 0.3472722 > myfunction() [1] 0.1848823 > runif(1) [1] 0.4887732

Me gustaría establecer semillas en R solo localmente (funciones internas), pero parece que R establece semillas no solo localmente, sino también globalmente. Aquí hay un ejemplo simple de lo que estoy tratando (no) de hacer.

myfunction <- function () { set.seed(2) } # now, whenever I run the two commands below I''ll get the same answer myfunction() runif(1)

Entonces, mis preguntas son: ¿por qué R establece la semilla globalmente y no solo dentro de mi función? ¿Y cómo puedo hacer R para establecer la semilla solo dentro de mi función?