[R-es] Como leer una BD con una estructura inadecuada

Eric ericconchamunoz en gmail.com
Lun Abr 20 02:27:45 CEST 2015


Muchas gracias Jose Luis, Carlos y Javier ... probe la libreria sugerida
por Carlos y me sorprendio lo rapido que se cargaron los 77.2 MB comparado
con el formato XML, le tomo apenas unos 10 segundos, luego pase el
data.frame a data.table y todo funciona muy rapido. La libreria que
recomienda Carlos de alguna identifico correctamente la columna que
corresponde a cada dato y todo siguio impecable, solo hay que tener la
precaucion de que los encabezados no sean de dos palabras ni usen como
separador el signo menos, porque entonces R piensa que es una resta.

Javier, los archivos en la pagina de la FIDE estan comprimidos, por eso
aparecen con un tamaño notablemente menor.

Muchas gracias a todos por su rapida y efectiva ayuda.

Saludos, Eric..



2015-04-19 11:55 GMT-03:00 Javier Marcuzzi <javier.ruben.marcuzzi en gmail.com>
:

> Estimado Eric
>
> ¿Cuál es el que necesita? Mire la página que usted dice, pero los archivos
> no son de 70 mb o 180 mb. Hay otras opciones pero se me ocurrió pasarlo a
>  mysql o sqlite y enviarle los datos en sql. Aunque si logra usar xml, o
> como leí utilizando más especificaciónes con read.fwf el inconveniente se
> solucionaría.
>
> Aunque puede haber un problema, y es con la memoria, al respecto podría
> procesar de la forma que más fácil le resulte, pero por partes (archivos) y
> guardar el resultado del data.frame en el disco, borrar la memoria de R,
> procesar la siguiente parte, y luego unir todos los archivos que guardo en
> el disco.
>
> Si tiene inconvenientes, yo no tendía problemas en pasar todo a sql y
> usted luego lo importa.
>
> Javier Marcuzzi
>
> El 19 de abril de 2015, 0:37, eric <ericconchamunoz en gmail.com> escribió:
>
>> Estimado Javier:
>>
>> Disculpe mi imprecision al hablar de base de datos en este caso, en
>> realidad es un conjunto interesante de datos pero no tiene exactamente
>> estandar de BD .. en fin ... este conjunto de datos lo baje directamente de
>> la pagina de la FIDE, que es la federacion internacional de ajedrez, en
>> http://ratings.fide.com/download.phtml, es decir, estos datos son la BD
>> original.
>>
>> Los datos se ofrecen en formato .txt, que es como yo los baje (70 MB), y
>> en formato XML. que tambien lo baje, pero el archivo pesa alrededor de 180
>> megas y se vuelve inmanejable con mi modesto portatil. Ni siquiera es
>> posible visualizar los datos. Por esto use el archivo .txt para trate de
>> importarlo en R y tuve los problemas que ya señale.
>>
>> Pense por un momento en que quiza seria posible reemplazar un conjunto de
>> puntos de cualquier largo por un \tab o algo asi, pero al tener casillas
>> vacias se pierde el orden de los datos. Es decir, si un dato corresponde a
>> la ultima columna y todas las anteriores estan vacias, al final de la
>> sustitucion quedara asociado a la primera columna. Al no haber patrones es
>> dificil corregir la estructura del archivo de forma automatica y son
>> demiados datos para intentar siquiera algo a manos.
>>
>> Esa es la situacion mas o menos.
>>
>> Alguna idea ??
>>
>> Saludos y gracias,
>>
>> Eric.
>>
>>
>>
>>
>>
>>
>>
>> On 18/04/15 22:45, Javier Marcuzzi wrote:
>>
>>> Estimado Eric Concha
>>>
>>> Como usted dice, hay un problema, yo encontré inconvenientes al intentar
>>> importar los datos que usted suministro. Pero se me ocurre una pregunta
>>> ¿tiene usted acceso a la base de datos original? Porque si tiene acceso
>>> hay dos posibilidades, el acceso real donde usted puede (depende que DB)
>>> usar la parte de R para esa base de datos en particular, o si tiene
>>> acceso pero por medio de otra persona, podría solicitar una consulta sql
>>> de acuerdo a sus requerimientos y guardar los datos como a usted le
>>> convenga. Otra posibilidad es preguntar si en lugar de un archivo txt
>>> puede recibirlo en json, o sql (¿excel?), csv es bueno pero puede ser
>>> que se presente algún problema (no es tan "seguro" como los anteriores),
>>> pensando en que usted use otra base de datos.
>>>
>>> Javier Marcuzzi
>>>
>>> El 18 de abril de 2015, 20:03, eric <ericconchamunoz en gmail.com
>>> <mailto:ericconchamunoz en gmail.com>> escribió:
>>>
>>>
>>>     Estimados, tengo el siguiente problema:
>>>
>>>     Tengo una BD de 19 columnas y aprox 500 mil filas, la que tiene
>>>     muchas celdas vacias y esta separada con espacios para hacer
>>>     coincidir los datos bajo los encabezados.
>>>
>>>     Mi problema es que al tratar de importar a R la BD no se como tratar
>>>     con los espacios vacios cuando se trata de una columna de numeros
>>>     (para el texto puse na.strings = "NA") y tampoco se como hacer para
>>>     que al leer cada dato este asociado al encabezado correcto, pues el
>>>     numero de espacios que esta puesto entre cada dato varia de acuerdo
>>>     a la extension en caracteres del dato (hay numeros, nombres, etc).
>>>     Incluso hay encabezados de dos palabras y parece que R los considera
>>>     dos encabezados distintos. Me explico ?
>>>
>>>     Como puedo hacer para leer la BD correctamente ? Alguna idea ??
>>>
>>>     Adjunto un archivo de muestra.
>>>
>>>     Muchas gracias.
>>>
>>>     Eric.
>>>
>>>
>>>
>>>
>>>     --
>>>     Forest Engineer
>>>     Master in Environmental and Natural Resource Economics
>>>     Ph.D. student in Sciences of Natural Resources at La Frontera
>>> University
>>>     Member in AguaDeTemu2030, citizen movement for Temuco with green
>>>     city standards for living
>>>
>>>     Nota: Las tildes se han omitido para asegurar compatibilidad con
>>>     algunos lectores de correo.
>>>
>>>     _______________________________________________
>>>     R-help-es mailing list
>>>     R-help-es en r-project.org <mailto:R-help-es en r-project.org>
>>>     https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>
>>>
>>>
>> --
>> Forest Engineer
>> Master in Environmental and Natural Resource Economics
>> Ph.D. student in Sciences of Natural Resources at La Frontera University
>> Member in AguaDeTemu2030, citizen movement for Temuco with green city
>> standards for living
>>
>> Nota: Las tildes se han omitido para asegurar compatibilidad con algunos
>> lectores de correo.
>>
>
>


-- 
Nota: las tildes se han omitido para evitar conflictos con algunos lectores
de correo.

Frases notables:
* SATYÂT NÂSTI PARO DHARMAH (No hay religion mas elevada que la verdad)
* La oscuridad no se combate, se ilumina ...
* Un economista es un experto que sabrá mañana por qué las cosas que predijo
ayer no han sucedido hoy (Laurence Peter).

	[[alternative HTML version deleted]]



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