No fundo, isso não é realmente apenas uma pergunta R; relaciona-se à geração de números aleatórios de maneira mais geral.
Números "aleatórios" são muito importantes em muitas partes das estatísticas. Precisamos dos valores aleatórios que geramos para ter certas propriedades e (geralmente) muito esforço é necessário na construção de geradores de números aleatórios e na verificação de suas propriedades.
A idéia é que queremos obter uma sequência de valores que sejam um bom proxy para números realmente aleatórios. O cavalo de batalha usual da geração de números aleatórios é a distribuição uniforme (a partir da qual construímos outros, como números aleatórios gaussianos).
[ 0 , 1 )
Por exemplo, muitos trabalham apenas no anterior:
x1= f( x0 0)z1= x1/ mx2= f( x1)z2= x2/ mx3= f( x2)z3= x3/ m⋮
xzf
x0 0
x3
Veja ?runif
em R e observe que ele explica sobre a existência da semente aleatória, com um link para a ajuda sobre o ?.Random.seed
que explica o grande número de geradores de números aleatórios disponíveis no R (você pode até fornecer o seu próprio). A mesma página de ajuda explica que, se você nunca usou a geração de números aleatórios antes ou configurou a semente, para começar com a semente é retirada do relógio e, a partir daí, o valor anterior é armazenado (para que o próximo número aleatório obtido seja o mesmo que você obteria se tivesse gerado mais um valor da última vez - ele lembra "onde você está fazendo").
A função runif
em R (como muitas outras rotinas de geração de número aleatório em outros pacotes que geralmente podem fazer algo semelhante) sabe sobre o local onde a semente de número aleatório é mantida. Ele continua atualizando esse valor à medida que avança. Portanto, ele pode operar sem ter que receber explicitamente uma semente, mas ainda usa uma; se você não deu um, apenas usa o que salvou por último.
Quanto ao motivo pelo qual ele produz resultados diferentes a cada vez (se você não diz para dar a mesma sequência): faz isso porque os mesmos valores sempre seriam geralmente muito contraproducentes - não teriam as propriedades que se repetiam a amostragem aleatória teria, tornando-a pouco útil para as posturas para as quais usamos geradores de números aleatórios.