2010-08-18 12 views
12

Quando chiamo rnorm passando un singolo valore come medio, è ovvio che cosa succede: un valore viene generato da Normale (10,1).Chiamare rnorm con un vettore di mezzi

y <- rnorm(20, mean=10, sd=1) 

Ma, vedo esempi di un intero vettore di essere passati a rnorm (o rcauchy, ecc ..); in questo caso, non sono sicuro di cosa faccia realmente la macchina R. Per esempio:

a = c(10,22,33,44,5,10,30,22,100,45,97) 
y <- rnorm(a, mean=a, sd=1) 

Tutte le idee?

risposta

11

Il numero di numeri casuali rnorm genera uguale alla lunghezza di a. Da ?rnorm:

n: numero di osservazioni. Se 'lunghezza (n)> 1', la lunghezza è presa per essere il numero richiesto.

per vedere cosa sta accadendo quando a è passato all'argomento media, è più facile se cambiamo l'esempio:

a = c(0, 10, 100) 
y = rnorm(a, mean=a, sd=1) 
[1] -0.4853138 9.3630421 99.7536461 

Così abbiamo generare numeri casuali con length(a) media a[i].

+0

Possiamo usare rnorm (100) o qualcosa di simile per creare valori solo tra 0 e 1? attualmente fornisce valori compresi tra (-1 e 1) –

Problemi correlati