He estado usando archivos de texto para almacenar mis datos para R sin ningún problema desde hace algún tiempo. Pero para un proyecto reciente, los tamaños de los archivos se están volviendo demasiado grandes para que los manejen los archivos de texto sin procesar. ¿Cuál es la mejor alternativa simple?
12
R
). La preocupación fundamental es la integridad de los datos en lugar del tamaño del archivo: proponer alguna forma de compresión simplemente oscurece esto en lugar de resolverlo.read.table
oread.csv
fallas en silencio? ¿Estás absolutamente seguro de que no tienes varios archivos y algún error de codificación (ruta incorrecta, nombre de archivo incorrecto, etc.)? Solo para arreglar ideas, es posible que también desee darnos una idea de cuántas variables y cuántos registros está tratando aproximadamente.Respuestas:
El enfoque estándar de R es usar
save
yload
. Si ejecutasave
su marco de datos después de importarlo y anotarlo, puede especificarcompress=TRUE
y se sorprenderá de la compresión y elload
tiempo rápido . Esto funciona especialmente bien si el tamaño del objeto es inferior a aproximadamente 400 MB. De lo contrario, consulte algunas de las sugerencias anteriores o el poderosoff
paquete en R.El
Hmisc
paquete tiene pequeños envoltoriosSave
yLoad
para hacer lo anterior aún más indoloro:fuente
Echa un vistazo a las bases de datos SQLite3. Cada base de datos es un archivo, por lo que no requiere configurar un servidor de base de datos.
Para crear una base de datos:
Para usar con R, https://gist.github.com/lynaghk/1062939
fuente
Hay varias opciones genéricas.
La gran compresión depende de los datos.
Mi suposición (y no especificó, así que debo adivinar) es que está buscando almacenar datos similares a una hoja de cálculo en algo distinto de csv (delimitado por comas).
Uno de mis formatos favoritos (me encanta MatLab) es hdf.
Aquí hay información relacionada con R sobre HDF:
Es un formato de almacenamiento de datos de supercomputación de alta densidad. Puede ser muy rápido y eficiente. También es (como era de esperar) más denso que el texto comprimido.
fuente
Las funciones estándar de lectura de archivos en R ahora leerán automáticamente archivos comprimidos de manera automática. Entonces, simplemente ejecute una compresión gzip simple en sus datos y lea como siempre, como si fuera texto sin formato.
fuente