He estado usando archivos de texto para almacenar mis datos para R sin ningún problema durante algún tiempo ahora. Pero para un proyecto reciente de los archivos tamaños son demasiado grandes para raw, archivos de texto al manejar. ¿Cuál es la mejor alternativa sencilla?
Respuestas
¿Demasiados anuncios?Echa un vistazo a las bases de datos SQLite3. Cada base de datos es un archivo, por lo que no requiere la configuración de un servidor de base de datos.
Para crear una base de datos:
$ sqlite3 my_db.db3
> CREATE TABLE my_table ( col1 TEXT );
Para el uso con R, https://gist.github.com/lynaghk/1062939
Hay un número de opciones genéricas.
- Usted podría comprimir el texto.
- Usted podría ir en binario en el texto, no escribir en ascii
Gran compresión de datos dependientes.
Supongo (y no lo especifique debo supongo) es que usted está buscando para almacenar hoja de cálculo de datos en algo distinto de csv (delimitado por comas).
Uno de mis formatos favoritos (me encanta MatLab) es ol.
Aquí es R-información relacionada acerca de HDF:
- se accede a través de paquetes de hdf5, h5r, Bioconductor del rhdf5, RNetCDF, ncdf y ncdf4
- http://www.hdfgroup.org/HDF5/whatishdf5.html
Se trata de una alta densidad de supercomputación formato de almacenamiento de datos. Puede ser muy rápido y eficiente. Es también (como era de esperar) más denso que el comprimido de texto.
El estándar R enfoque es el uso de save
y load
. Si ejecuta save
en el marco de datos después de la importación y anotación de ella, se puede especificar compress=TRUE
y usted se sorprenderá de la compresión y a la rapidez con load
de tiempo. Esto funciona especialmente bien si el tamaño del objeto es de menos de 400 MB. De lo contrario, echa un vistazo a algunas de las sugerencias anteriores, o los poderosos ff
paquete en R.
El Hmisc
paquete tiene poco envolturas Save
y Load
de hacer lo anterior, incluso más sin dolor:
mydata <- csv.get(...) # Hmisc package, has several options
Save(mydata) # writes mydata.rda to current working directory
....
Load(mydata) # reads mydata.rda and creates mydata data frame