Buenas tardes, Estoy extrayendo un dato de una web y el separador de miles es el ".", que es el separador decimal en R. He intentado reemplazaro por el caracter, para convertirlo en ´numérico de R, vacío pero no me deja. Lo que he intentado es lo siguiente:> a<-"17.691.700" # valor que obtengo de la web > sub(".","",a)[1] "7.691.700"> replace(a,".",","). "17.691.700" ","> sub("([[:punct:]])","",a)[1] "17691.700" Con el ultimo intento consigo eliminar el primer ".", pero no el último. ¿Me podeis decir una forma de eliminar los "." o de convertir un numérico en este formato a uno que entienda R? Muchas gracias. Un saludo.
a <- "17.691.700" # valor que obtengo de la web a <- as.numeric(gsub("\\.", "", a)) "sub and gsub perform replacement of the first and all matches respectively." Además, ten cuidado con ".": es el comodín para cualquier caracter. Por eso a <- "17.691.700" sub(".", "", a) da lo que da (y no es lo que quieres). Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El día 24 de noviembre de 2015, 17:33, Sergio Castro <castro.rodriguez.sergio en gmail.com> escribió:> Buenas tardes, > > Estoy extrayendo un dato de una web y el separador de miles es el ".", > que es el separador decimal en R. He intentado reemplazaro por el > caracter, para convertirlo en ´numérico de R, vacío pero no me deja. > Lo que he intentado es lo siguiente: > >> a<-"17.691.700" # valor que obtengo de la web >> sub(".","",a) > [1] "7.691.700" >> replace(a,".",",") > . > "17.691.700" "," >> sub("([[:punct:]])","",a) > [1] "17691.700" > > Con el ultimo intento consigo eliminar el primer ".", pero no el > último. ¿Me podeis decir una forma de eliminar los "." o de convertir > un numérico en este formato a uno que entienda R? > > Muchas gracias. > Un saludo. > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es
Muchas gracias, con esto ya funciona perfectamente. Un saludo. El día 24 de noviembre de 2015, 17:44, Carlos J. Gil Bellosta <cgb en datanalytics.com> escribió:> a <- "17.691.700" # valor que obtengo de la web > a <- as.numeric(gsub("\\.", "", a)) > > "sub and gsub perform replacement of the first and all matches respectively." > > Además, ten cuidado con ".": es el comodín para cualquier caracter. Por eso > > a <- "17.691.700" > sub(".", "", a) > > da lo que da (y no es lo que quieres). > > Un saludo, > > Carlos J. Gil Bellosta > http://www.datanalytics.com > > El día 24 de noviembre de 2015, 17:33, Sergio Castro > <castro.rodriguez.sergio en gmail.com> escribió: >> Buenas tardes, >> >> Estoy extrayendo un dato de una web y el separador de miles es el ".", >> que es el separador decimal en R. He intentado reemplazaro por el >> caracter, para convertirlo en ´numérico de R, vacío pero no me deja. >> Lo que he intentado es lo siguiente: >> >>> a<-"17.691.700" # valor que obtengo de la web >>> sub(".","",a) >> [1] "7.691.700" >>> replace(a,".",",") >> . >> "17.691.700" "," >>> sub("([[:punct:]])","",a) >> [1] "17691.700" >> >> Con el ultimo intento consigo eliminar el primer ".", pero no el >> último. ¿Me podeis decir una forma de eliminar los "." o de convertir >> un numérico en este formato a uno que entienda R? >> >> Muchas gracias. >> Un saludo. >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es en r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es