[R-es] Reducción de tiempo en lectura de datos

Francesc Carmona carmonapontaque en gmail.com
Mar Dic 8 23:57:55 CET 2009


Prueba con

X <- scan(filename, what=list(a="",b=0,c=0,...))

Francesc

El 08/12/2009, a las 22:12, Jorge Ivan Velez  
<jorgeivanvelez en gmail.com> escribió:

> Francisco,
>
> Muchas gracias por el 'tip'!    Indudablemente definir el argumento
> colClasses de antemano reduce el tiempo de lectura en más del 50%. E 
> stos son
> los resultados con el mismo archivo:
>
> R> system.time(X <- read.table(f, header = TRUE,
>                  colClasses = c(rep('character', 2), rep('numeric', 
> 9)),
> sep= ","))
>   user  system elapsed
>   6.65    0.08    7.27
>
> He estado explorando una posibilidad con scan() pero no he tenido éx 
> ito aún.
> El argumento 'what' parece ser el problema. La opción que mencionas  
> con
> readLines() es importante. La exploraré luego.
>
> En espera de otros comentarios,
>
>                                         Jorge Ivan Velez
>
>
> 2009/12/8 Francisco J. Zagmutt <>
>
>> Hola Jorge,
>>
>> La manera más fácil es especificar la clase de los datos de cada c 
>> olumna
>> usando colClasses.  De esa manera R no tiene que  establecer las  
>> clases
>> programáticamente.  Si quieres un proceso aún más rápido revisa ? 
>> scan.
>> También puedes leer los datos en "chunks¨ usando readLines.
>>
>> Saludos,
>>
>> Francisco
>>
>> Francisco J. Zagmutt
>> Vose Consulting
>> 1643 Spruce St., Boulder
>> Boulder, CO, 80302
>> USA
>> www.voseconsulting.com
>>
>>
>> Jorge Ivan Velez wrote:
>>
>> 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]]
>>
>>
>>
>> ------------------------------
>>
>> _______________________________________________
>> R-help-es mailing listR-help-es en r-project.orghttps://stat.ethz.ch/ 
>> mailman/listinfo/r-help-es
>>
>>
>
>    [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es



Más información sobre la lista de distribución R-help-es