Chciałbym losowo zmienić kolejność liczb w wektorze za pomocą prostego jednowierszowego polecenia?
Mój konkretny wektor V ma 150 wpisów dla każdej wartości od 1 do 10:
V <- rep(1:10, each=150)
Chciałbym losowo zmienić kolejność liczb w wektorze za pomocą prostego jednowierszowego polecenia?
Mój konkretny wektor V ma 150 wpisów dla każdej wartości od 1 do 10:
V <- rep(1:10, each=150)
base::sample
aby wymusić użycie seq_along
. Poza tym i tak nie widzę, gdzie sample/sample.int
zadzwonić base::seq()
?
Odpowiedzi:
Tak.
sample(V)
Od ?sample
:
Dla „próbki” wartością domyślną „size” jest liczba elementów wywnioskowana z pierwszego argumentu, tak że „próbka (x)” generuje losową permutację elementów „x” (lub „1: x”).
size
argument sample
domyślnych do size <- length(x)
. (Wpisz, sample
aby zobaczyć kod, który to robi.)
Użyj sample
funkcji
V<-rep(1:10, each=150)
set.seed(001) # just to make it reproducible
sample(V)
replace=FALSE
jest wartością domyślną.
sample
. Możesz sprawdzić ostrzeżenia tutaj, aby dowiedzieć się, jakie niebezpieczeństwa wiążą się z używaniem próbki w takiej postaci, w jakiej jest.