Ho un vettore V con 150 voci per ogni valore da 1 a 10.Come randomizzare un vettore
V<-rep(1:10, each=150)
desidero riorganizzare caso l'ordine dei numeri in questo vettore.
Questo può essere fatto con un semplice comando di 1 riga?
Ho un vettore V con 150 voci per ogni valore da 1 a 10.Come randomizzare un vettore
V<-rep(1:10, each=150)
desidero riorganizzare caso l'ordine dei numeri in questo vettore.
Questo può essere fatto con un semplice comando di 1 riga?
Sì.
sample(V)
Da ?sample
:
Per 'campione' predefinito per 'dimensione' è il numero di elementi desunti dal primo argomento, in modo che 'campione (x)' genera un casuale permutazione degli elementi di 'x' (o '1: x').
Come posso mescolare [1,1, 2, 2, 2, 3, 3, 4, 5, 5, 5] in modo tale da ottenere qualcosa del genere: [5, 5, 3, 3, 3, 3 , 1, 1, 2, 4, 4, 4]? in modo tale che ogni elemento possa cambiare casualmente in un altro ma mantenendo costante il numero di ciascun elemento? – Rotail
Usa sample
funzione
V<-rep(1:10, each=150)
set.seed(001) # just to make it reproducible
sample(V)
'replace = FALSE' è il valore predefinito. –
@BenBolker hai ragione –
questo fa 150 valori dal 1500 – user1723765
Le risposte qui giustamente puntare il verso 'sample'. Potresti voler controllare gli avvertimenti [qui] (http://stackoverflow.com/a/13732373/1003565) per alcuni pericoli che si accompagnano all'utilizzo del campione così com'è. – Dason