[R-es] col de data.frame de chr a int cambiando comas por puntos

daniel daniel319 en gmail.com
Jue Nov 22 21:05:23 CET 2012


Sebastian,

Por lo que entiendo puedes importar los datos a R. Si envías una
muestra [digamos head(nombredeladataframe, 10)] podremos ver cual es
el problema con gsub, que me parece la forma adecuada para encontrar
una solución.

Para enviar el ejemplo esta guía es muy buena:

http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example

Daniel Merino


El día 22 de noviembre de 2012 15:59, Marcuzzi, Javier Rubén
<javier.ruben.marcuzzi en gmail.com> escribió:
> Estimado Sebastián
>
> Cuándo los datos están mal almacenados es un rompedero de cabezas, en algunos casos se puede acomodar y en otros es imposible, sobre todo si son miles de datos. ¿Puedes exportarlos a un archivo *.txt?
> Mi razonamiento es el siguiente, por ejemplo se exportan en algo como 345;345;5.6;5,6
> La separación es ; y los , y . están para indicar decimales, si usted tiene suerte en eso desde cualquier editor de texto coloca buscar y reemplazar ... (o desde R con algo de código).
>
> Si es complicado, desde R exporte o guarde el data.frame a un archivo de *.txt y busque en la secuencia de texto donde se separan los campos de información (; por ejemplo) y reemplace las (, o .)
>
> En R se puede, pero por ahí es más fácil que R realice los cálculos y el trabajo de texto (datos en texto) cualquier procesador de texto. Cuándo el problema esté correctamente identificado se puede programar algo en R para automatizar el proceso.
>
> Javier Marcuzzi
>
> From: Sebastian Kruk
> Sent: Thursday, November 22, 2012 3:29 PM
> To: Marcuzzi, Javier Rubén
> Cc: r-help-es en r-project.org
> Subject: Re: [R-es] col de data.frame de chr a int cambiando comas por puntos
>
> Estimado Javier Marcuzzi:
>
> En verdad a mi me pasan el archivo .mdb.
>
> El problema es que en una columna por ejemplo el valor 8,6 lo ponen como 8,6 y en otro caso 8.6 por lo cual tendría que buscar linea por línea donde usaron coma en lugar de punto.
>
> Saludos,
>
> Sebastián Kruk
>
>
>
> El 22 de noviembre de 2012 12:09, Marcuzzi, Javier Rubén <javier.ruben.marcuzzi en gmail.com> escribió:
>
>   Estimado Sebastián Kruk
>
>   ¿Usted tiene el access? Le pregunto porque yo cuándo busque datos en access, no use RODBC, utilizaba las opciones de exportación de access, las que posibilitan colocar, comas, punto y comas, comillas, etc., el resultado es guardado como *.txt (csv) e importado en R, luego as.numeric(dataframe$columna) ...
>
>   Con pocos datos esa forma a mi me resulta práctica y rápida, claro que en otras oportunidades es beneficioso realizar la consulta directamente a la base de datos.
>
>   Javier Marcuzzi
>
>
>   -----Mensaje original----- From: Sebastian Kruk
>   Sent: Thursday, November 22, 2012 10:01 AM
>   To: r-help-es en r-project.org
>   Subject: [R-es] col de data.frame de chr a int cambiando comas por puntos
>
>
>   Estimados usuarios de R:
>
>   Tengo un archivo de Access que lo cargo usando la libreria RODBC:
>
>   CanalVentas <- odbcConnectAccess("Ventas")
>   Me lo cargo en un data frame:
>
>   Ventas <- sqlQuery( CanalVentas, "select * from VentasFin", as.is=T)
>
>   Me queda un data frame donde todas las columnas son de clase character,
>   algunas que tendrían que ser numeric no quedan asi pues a veces tienen como
>   separador decimal el punto y otras veces la coma.
>
>   En los casos que tengo punto y tambien coma puedo resolver la situación
>   usando:
>
>   for (i in 3:15) Ventas[,i] <- as.numeric(gsub("\\.","",ventas[,i]))
>
>   Lo que quise hacer usando apply pero dejaba de ser un data frame
>
>   ¿Se puede hacer con apply?
>
>   Saludos,
>
>   Sebastián.
>
>
>
>
>
>   El data frame que me queda al ap
>
>
>   [[alternative HTML version deleted]]
>
>
>
>
>
>
>
>   _______________________________________________
>   R-help-es mailing list
>   R-help-es en r-project.org
>   https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
>         [[alternative HTML version deleted]]
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>



-- 
Daniel



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