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

Carlos Ortega cof en qualityexcellence.es
Lun Abr 20 11:42:03 CEST 2015


Se me olvidó incluir el detalle de la referencia donde se anunciaba la
disponibilidad de este nuevo paquete:

http://blog.rstudio.org/2015/04/09/readr-0-1-0/

Saludos,
Carlos Ortega
www.qualityexcellence.es

El 20 de abril de 2015, 11:40, Carlos Ortega <cof en qualityexcellence.es>
escribió:

> 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
>



-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

	[[alternative HTML version deleted]]



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