colocando sementes localmente (não globalmente) em R

Eu gostaria de definir sementes em R apenas localmente (dentro de funções), mas parece que R define sementes não apenas localmente, mas também globalmente. Aqui está um exemplo simples do que eu estou tentando (não) fazer.

myfunction <- function () {
  set.seed(2)
}

# now, whenever I run the two commands below I'll get the same answer
myfunction()
runif(1)

Então, minhas perguntas são: por que R define a semente globalmente e não apenas dentro da minha função? E como eu posso fazer R para definir a semente apenas dentro da minha função?

questionAnswers(1)

yourAnswerToTheQuestion