[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