¿Existe un método más rápido para tomar una submuestra aleatoria (sin reemplazo) que la función base::sample
?muestreo rápido en R
5
A
Respuesta
3
sin
puedo conseguir 10.000 muestras en 3 ms en mi portátil con reemplazo. Sin reemplazo, puedo obtenerlos en 5 ms. Dibujando múltiples veces desde 500 distribuciones lleva 66 ms. ¿Qué tan rápido lo necesitabas?
0
Si no usas CUDA/gputools, no creo que encuentres una forma más rápida.
En caso de estar interesado en ir por ese camino:
10
se puede obtener un poco de velocidad en marcha mediante la eliminación de la llamada a la función de base :: muestra:
> x<- rnorm(10000)
> system.time(for(i in 1:100000) x[.Internal(sample(10000L, 10L, FALSE, NULL))])
user system elapsed
2.873 0.017 2.851
> system.time(for(i in 1:100000) sample(x,10))
user system elapsed
3.420 0.025 3.258
Dependiendo de su problema, puede haber otras formas más inteligentes de acelerar su código. Piense en formas de reemplazar muchas llamadas pequeñas por una grande.
Cuestiones relacionadas
- 1. Muestreo en visual vm
- 2. Muestreo aleatorio de Mongo
- 3. Muestreo de yacimientos
- 4. Algoritmo de muestreo sin reemplazo?
- 5. Muestreo de archivos de datos grandes
- 6. Seleccione muestreo aleatorio de sqlserver rápidamente
- 7. muestreo de flotantes aleatorios en un rango en numpy
- 8. reutilización de números aleatorios en el muestreo depósito
- 9. secuencias de muestreo de números aleatorios en Haskell
- 10. Diferencia entre muestreo y creación de perfiles en jVisualvm
- 11. ¿Por qué los pandas se fusionan en Python más rápido que data.table combina en R?
- 12. IPC más rápido en PHP
- 13. En R, ¿cómo recorre las filas de un marco de datos realmente rápido?
- 14. Más rápido que String.Replace()
- 15. YanKing rápido en Vim
- 16. python: muestreo sin reemplazo desde una cuadrícula 2D
- 17. Frecuencia de muestreo para la grabación de audio del iPhone
- 18. iOS: Unidades de audio: configuración de frecuencia de muestreo arbitraria
- 19. FFT/IFFT: Frecuencia de muestreo y duración de la señal
- 20. Trazado de dos funciones con diferente frecuencia de muestreo
- 21. La frecuencia de muestreo de audio depende de los canales?
- 22. Cómo agrego columnas para expandir una matriz en R
- 23. ¿Cómo debo hacer un rápido desarrollo de GUI para métodos R y Octave (posiblemente con Python)?
- 24. Mientras se repite el código de R quantstrat, ¿cómo hacerlo más rápido?
- 25. Análisis rápido de PHP en C#
- 26. ¿Algoritmo eficiente para el muestreo aleatorio de una distribución al tiempo que permite actualizaciones?
- 27. Error: libre(): inválido siguiente tamaño (rápido):
- 28. Super rápido getimagesize en php
- 29. rápido tiempo transcurrido en Linux
- 30. ¿Cómo cargar datos rápidamente en R?
+1 por sugerir que el problema podría ser un montón de pequeñas llamadas a 'sample'. – Aniko