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

Carlos Ortega cof en qualityexcellence.es
Lun Abr 20 11:40:13 CEST 2015


Hola Eric,

No sé si viste mi correo. Pude importar el txt que adjuntaste sin problemas
con una función del nuevo paquete de Hadley Wickham (readr).

En este paquete ha incluido una función para leer datos "read_table()" que
mejora las prestaciones del "read.table()" que R trae por defecto. Una de
las mejoras, además de la velocidad es que dado un conjunto de datos
tabular a importar, la función primero lee el fichero línea a línea y hace
una "interpretación" del contenido para luego ya importarlo con las
columnas adecuadas.

Esta función de esta manera simplifica mucho la forma de carga de un
fichero comparándola con el read.table() que precisaba de múltiples
parámetros para si uno quería ajustar las columnas a cargar y la velocidad.

Saludos,
Carlos.
www.qualityexcellence.es

El 19 de abril de 2015, 5: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.
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

	[[alternative HTML version deleted]]



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