¿Cómo obtener una muestra aleatoria de un archivo .txt al leerlo en R?
Tengo 2 grandes marcos de datos en formato .txt con los que estoy trabajando en R (cada uno de más de 5 GB con más de 5 millones de observaciones). Me preguntaba si había una manera fácil de obtener una muestra aleatoria de ~20,000 filas de cada uno al leer los datos.
Actualmente, no puedo leer los datos y luego seleccionar una muestra, porque los datos son demasiado grandes y me encuentro con un error.
davy.ai
Sí, hay una manera fácil de realizar una muestra aleatoria de 20,000 filas de cada marco de datos grande .txt en R sin leer todo el conjunto de datos. Esto se puede lograr utilizando la función
sample_n()
del paquetedplyr
. Así es como:dplyr
:read.table()
para leer los marcos de datos grandes .txt, pero solo selecciona un subconjunto de las filas utilizando el argumentonrows
. Por ejemplo:Esto leerá las primeras 20,000 filas de cada marco de datos.
sample_n()
. Por ejemplo:Esto realizará una muestra aleatoria de 20,000 filas de cada marco de datos.
Nota: Si tus marcos de datos tienen un gran número de columnas, es posible que debas seleccionar un subconjunto de las columnas para reducir el uso de memoria mientras se lee el conjunto de datos. Puedes hacer esto utilizando la argumento
select
de la funciónread.table()
. Por ejemplo: