Las respuestas aquí apuntan correctamente hacia usted sample. Es posible que desee consultar las advertencias aquí para ver algunos peligros que acompañan al uso de la muestra tal como está.
Dason
@Dason: el tl; dr es siempre que se garantice que la longitud del vector sea> 1, funciona.
smci
1
@smci El tl; Dr es que es peligroso porque uno se siente cómodo con él y luego cuando finalmente es de longitud 1 te muerde.
Dason
@Dason Había leído eso, pero nadie ha modificado aún base::samplepara forzar su uso seq_along. Además, no veo dónde sample/sample.intllamar de base::seq()todos modos.
smci
Respuestas:
124
Si.
sample(V)
De ?sample:
Para 'muestra', el valor predeterminado para 'tamaño' es el número de elementos inferidos del primer argumento, de modo que 'muestra (x)' genera una permutación aleatoria de los elementos de 'x' (o '1: x').
¿Cómo puedo mezclar [1,1, 2, 2, 2, 2, 3, 3, 4, 5, 5, 5] de modo que obtengo algo como esto: [5, 5, 3, 3, 3, 3, 1, 1, 2, 4, 4, 4]? tal que cada elemento podría cambiar aleatoriamente a otro pero manteniendo constante el número de cada elemento?
Rotail
2
@Rotail: esto ya hace lo que quieres; el sizeargumento de los samplevalores predeterminados size <- length(x). (Escriba samplepara ver el código que hace esto.)
smci
¡Sip! ¡Gracias!
Rotail
24
sampleFunción de uso
V<-rep(1:10, each=150)
set.seed(001) # just to make it reproducible
sample(V)
sample
. Es posible que desee consultar las advertencias aquí para ver algunos peligros que acompañan al uso de la muestra tal como está.base::sample
para forzar su usoseq_along
. Además, no veo dóndesample/sample.int
llamar debase::seq()
todos modos.Respuestas:
Si.
De
?sample
:fuente
size
argumento de lossample
valores predeterminadossize <- length(x)
. (Escribasample
para ver el código que hace esto.)sample
Función de usoV<-rep(1:10, each=150) set.seed(001) # just to make it reproducible sample(V)
fuente
replace=FALSE
es el valor predeterminado.