In fondo questa non è proprio una domanda R; si riferisce alla generazione di numeri casuali più in generale.
I numeri "casuali" sono molto importanti in molte parti delle statistiche. Abbiamo bisogno dei valori casuali che generiamo per avere determinate proprietà e (di solito) ci si impegna molto per costruire generatori di numeri casuali e controllarne le proprietà.
L'idea è che vogliamo ottenere una sequenza di valori che siano un buon proxy per numeri effettivamente casuali. Il solito cavallo di battaglia per la generazione di numeri casuali è la distribuzione uniforme (da cui ne costruiamo altri, come i numeri casuali gaussiani).
[0,1)
Ad esempio, molti funzionano solo su quello precedente:
x1=f(x0)z1=x1/mx2=f(x1)z2=x2/mx3=f(x2)z3=x3/m⋮
xzf
x0
x3
Vedi ?runif
in R e noterai che spiega l'esistenza del seme casuale, con un link alla guida su ciò ?.Random.seed
che spiega il gran numero di generatori di numeri casuali disponibili in R (puoi persino fornire il tuo). La stessa pagina di aiuto spiega che se non hai mai usato la generazione di numeri casuali prima o hai impostato il seed, per iniziare con il seed viene prelevato dall'orologio e quindi il valore precedente viene memorizzato (in modo che il prossimo numero casuale che ottieni sia lo stesso che avresti ottenuto se avessi generato un valore in più l'ultima volta - ricorda "dove stai facendo").
La funzione runif
in R (come alcune altre routine di generazione di numeri casuali in altri pacchetti che di solito possono fare qualcosa di simile) conosce il luogo in cui viene conservato il seme di numeri casuali. Continua ad aggiornare quel valore mentre procede. Quindi può operare senza dover passare esplicitamente un seme, ma ne usa ancora uno; se non gliene hai dato uno, usa solo quello che ha salvato per ultimo.
Per quanto riguarda il motivo, dà ogni volta output diversi (se non gli dici di dare la stessa sequenza): lo fa perché gli stessi valori ogni volta sarebbero di solito molto controproducenti - non avrebbe le proprietà che si ripetevano campionamento casuale avrebbe, rendendolo non molto utile per i putposi per i quali utilizziamo generatori di numeri casuali.