[R-es] Reducción de tiempo en lectura de datos
Bengoechea Bartolomé Enrique (SIES 73)
enrique.bengoechea en credit-suisse.com
Mie Dic 9 14:49:25 CET 2009
Hola,
Si los datos no cambian a menudo, la solución más sencilla es leerlos una vez en memoria con cualquiera de las opciones que te han comentado, y luego guardarlos en otro fichero distinto con el formato binario de R usando save(). Las lecturas posteriores las haces del nuevo fichero con load() y serán mucho más rápidas.
Otra opción es leer los datos usando el paquete "sqldf", que genera una base de datos SQLLite en un fichero temporal y luego la lee a R, lo que suele ser algo más rápido que la importación directa. Tienes un ejemplo aquí: http://code.google.com/p/sqldf/#Example_13._read.csv.sql
Un saludo,
Enrique
-----Original Message-----
Date: Tue, 8 Dec 2009 15:38:46 -0500
From: Jorge Ivan Velez <jorgeivanvelez en gmail.com>
Subject: [R-es] Reducción de tiempo en lectura de datos
To: R-help-es <r-help-es en r-project.org>
Message-ID:
<317737de0912081238t34a2892bmb8cdec0439c5312d en mail.gmail.com>
Content-Type: text/plain
Buenas tardes para todos,
Utilizo R 2.10.0 Patched en Windows XP 32-bits con 4GB RAM en un procesador Intel Core 2 Duo de 2.4 GHz. En este momento estoy trabajando con una base de datos X de dimensión
R> dim(X)
[1] 297558 11
que se encuentra almacenada en formato ".txt" y que tiene 1 variable alfanumérica (identificador) y 10 numéricas. Estoy leyendo X via
read.table() y el tiempo tarda el sistema es:
R> system.time(X <- read.table(f, header = TRUE, sep= ","))
user system elapsed
17.50 0.11 18.59
Me gustaría saber si alguien conoce alguna manera de reducir
(sustancialmente) este tiempo.
Muchas gracias,
Jorge Ivan Velez
[[alternative HTML version deleted]]
Más información sobre la lista de distribución R-help-es