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

2015-04-20 Por tema Patricio Fuenmayor Viteri
Hola Eric.Le detallo que es lo que yo hago en estos casos.Identificar el tipo 
de archivo, es decir, que separadores de columnas tiene ?, que tipo de datos 
debe tener cada variable?, etc.Si el archivo es muy grande y un editor de texto 
(como Note++) no lo puede abrir por temas de memoria, puede usar un programa 
adecuado para esto. Yo uso glogg (http://glogg.bonnefon.org/) que me ha 
permitido abrir archivos de texto de hasta 3 GbSi no tiene delimitadores, puede 
usar la opci�n de carga, campos de ancho fijo, en donde usted debe dar las 
longitudes de las variables.Si no puede identificar claramente los tipos de 
datos o los valores por defecto, cargue la variable como "character", para que 
luego con las funciones adecuadas, pueda transformarla y obtener los tipo de 
valor y variables deseados.Con respecto a los espacios, c�rgelos como le 
explique, y luego transforme a la variable reemplazando los mismos con la 
funcion grepl y si es mas complicado con una expresi�n regular.Los paquetes que 
le pueden ser de ayuda: data.table (funcion fread), readr, stringr.Espero le 
sirva.Saludos. 
--Archivo adjunto de mensaje reenviado--
From: c...@qualityexcellence.es
CC: r-help-es@r-project.org
To: ericconchamu...@gmail.com
Date: Mon, 20 Apr 2015 11:42:03 +0200
Subject: Re: [R-es] Como leer una BD con una estructura inadecuada
>>> El 18 de abril de 2015, 20:03, eric >> <mailto:ericconchamu...@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@r-project.org <mailto:R-help-es@r-project.org>
>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>
>>>

  
[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


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

2015-04-20 Por tema Carlos Ortega
Hola Eric,

He probado el nuevo paquete de Hadley Wickham para leer ficheros, como
alternativa al read.table() y parece que funciona:

> library(readr)
> datIn <- read_table("cdb.txt")
> head(datIn)
  ID Number Name Fed Sex Tit WTit OTit SRtng SGm SK
RRtng RGm Rk BRtng BGm BK B-day Flag
1  14319110   Van Der Walt, Dina RSA   F  NA   NA   NANA  NA
NANA  NA NANA  NA NA 0w
2  10218181 (mastar Marine), Asaduzzaman BAN   M  NA   NA   NANA  NA
NANA  NA NANA  NA NA  1969
3  13802860 .Sultanov Zhamalidin KGZ   M  NA   NA   NANA  NA
NANA  NA NANA  NA NA  2008
4   5700230  A B, Muhammad Yusop MAS   M  NA   NA   NANA  NA
NANA  NA NANA  NA NA 0
5  35077023   A Chakravarthy IND   M  NA   NA   NA  1151   0
40NA  NA NANA  NA NA  1986
6  10207538 A E M, Doshtagir BAN   M  NA   NA   NA  1840   0
40  1836   0 20  1860   0 20  1974

Saludos,
Carlos Ortega
www.qualityexcellence.es



El 19 de abril de 2015, 1:03, eric  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@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>


-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es
___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


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

2015-04-20 Por tema eric

ok, esto fue lo que hice ... de la misma pagina baje un archivo mas pequeño en 
formato XML (para probar) y lo importe en R usando :

require(XML)
setwd("/home/my/mydirectory")
url <- "blitz.xml"
blitz.df <- xmlToDataFrame(url)
summary(blitz.df)

se demoro bastante, pero al menos blitz.df contiene los datos de forma 
correcta. Ahora simplemente estoy haciendo lo mismo pero con una paciencia 20 
veces mayor, pues el archivo es 20 veces mas grande.

No se pudo corregir el archivo .txt, pero al menos, con una gran dosis de 
paciencia, se pueden usar los datos.

Saludos y gracias,

Eric.








On 19/04/15 00:37, eric wrote:

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  > 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@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@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


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

2015-04-20 Por tema Javier Marcuzzi
Eric y Carlos

No recibí la sugerencia de Carlos, me gustaría poder leerla porque
personalmente prefiero json o xml sobre csv, porque tiene un "cuidado"
mayor sobre los datos aunque incrementa el tamaño del archivo.

Javier Marcuzzi

El 19 de abril de 2015, 21:27, Eric  escribió:

> 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.marcu...@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  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 >>> > 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 encab

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

2015-04-20 Por tema Carlos Ortega
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 
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  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 >> > 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.
>>>
>>> _

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

2015-04-20 Por tema Eric
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 
:

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

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

2015-04-20 Por tema Javier Marcuzzi
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  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 > > 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@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 

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

2015-04-20 Por tema Carlos Ortega
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  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 > > 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@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

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

2015-04-20 Por tema eric

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 mailto:ericconchamu...@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@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@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


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

2015-04-19 Por tema Jose Luis Brita
Estimado Eric,

Con la función read.fwf() y definiendo la anchura de cada variable como
diferencia de las columnas de inicio y final creo que lo lee correctamente.

Un saludo


Jose Luis

ff <- c('C:\\cdb.txt')
datos <-
read.fwf(ff,widths=c(3-1,15-3,76-16,81-76,85-81,90-85,95-90,110-95,115-110,120-115,123-120,129-123,133-129,136-133,142-136,146-142,149-146,154-149,4),
  header=FALSE, skip=1,
  col.names=c('ID',
'Number','Name','Fed','Sex','Tit','WTit','OTit','SRtng','SGm','SK','RRtng','RGm','Rk','BRtng','BGm','BK','B-day','Flag'))


El 19 de abril de 2015, 1:03, eric  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@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>


-- 
Jose Luis
___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


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

2015-04-18 Por tema Javier Marcuzzi
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  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@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


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

2015-04-18 Por tema eric

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.
ID Number  Name Fed 
Sex Tit  WTit OTit   SRtng SGm SK RRtng RGm Rk BRtng BGm BK B-day Flag
14319110Van Der Walt, Dina  RSA 
F     w   
10218181   (mastar Marine), Asaduzzaman BAN 
M   1969  
13802860   .Sultanov Zhamalidin KGZ 
M   2008  
5700230A B, Muhammad Yusop  MAS 
M     
35077023   A Chakravarthy   IND 
M1151  0   40   1986  
10207538   A E M, Doshtagir BAN 
M1840  0   40 1836  0   20 1860  0   20 1974  
5716365A Hamid, Harman  MAS 
M 1593  0   20    
10207546   A K M Aminul, Islam  BAN 
M     
10217916   A K M Arif, Hossain  BAN 
M   1970  
10215727   A K M Jane, Alam BAN 
M   1969  
10207716   A K M Manjurul, Alam BAN 
M   1964  
10206612   A K M, SourabBAN 
M1714  0   40     i   
5045886A K, KalshyanIND 
M1919  0   20   1964  
46622110   A Krishna Pranav Reddy   IND 
M   2003  
8605360A La, Teng Hua   CHN 
F1915  0   40   1993  wi  
5716373A Rajah, Abdul ShukorMAS 
M1773  0   40 1996  0   20    
5031605A, Akshaya   IND 
F2014  0   20   1994  wi  
124136061  A, SergeyFID 
M   1988  
5080444A, SohitaIND 
F1447  0   40   1995  wi  
___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es