Buenos días: Creo un data.frame del siguiente modo: d<-data.frame(a=c("112.45º", "23,56º"), b=c("112.45\u00b0", "23.56\u00b0"))> da b 1 112.45º 112.45° 2 23,56º 23.56° Como podéis ver, para la primera columna vuelco el grado directamente, y para la segunda utilizo \u00b0, que es lo que debo perseguir. Ahora obtengo d2 del siguiente modo: d2 <- sqldf("select * from d")> sqldf("select * from d")a b 1 112.45º 112.45° 2 23,56º 23.56° Es decir, el uso de sqldf hace que la representación de la codificación \u00b0 sea incorrecta, pues muestra "º" en vez de "º". ¿Cómo puedo resolverlo?. Necesito que funcione también en Mac. Gracias. Eva [[alternative HTML version deleted]]
Hola Eva, Una forma inmediata es no guardando los valores con esa codificación. Y tras la extracción incluir las unidades... Saludos, Carlos Ortega www.qualityexcellence.es El 16 de julio de 2013 08:23, Eva Prieto Castro <evapcastro@yahoo.es>escribió:> > > Buenos días: > > Creo un data.frame del siguiente modo: > > d<-data.frame(a=c("112.45º", "23,56º"), b=c("112.45\u00b0", "23.56\u00b0")) > > d > a b > 1 112.45º 112.45° > 2 23,56º 23.56° > > > Como podéis ver, para la primera columna vuelco el grado directamente, y > para la segunda utilizo \u00b0, que es lo que debo perseguir. > > Ahora obtengo d2 del siguiente modo: > > d2 <- sqldf("select * from d") > > > sqldf("select * from d") > a b > 1 112.45º 112.45° > 2 23,56º 23.56° > > Es decir, el uso de sqldf hace que la representación de la codificación > \u00b0 sea incorrecta, pues muestra "º" en vez de "º". > > ¿Cómo puedo resolverlo?. Necesito que funcione también en Mac. > > Gracias. > > Eva > [[alternative HTML version deleted]] > > > _______________________________________________ > 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 [[alternative HTML version deleted]]
Hola, Carlos: En este caso no puedo permitirme esa solución. Lo único que se me ocurre es sustituir el º por º después de usar sqldf, pero quería saber si hay alguna otra solución. Otra pregunta, ¿cuál es el modo más eficiente de sustituir subcadenas a lo largo de un data.frame?. Gracias. Eva ________________________________ De: Carlos Ortega <cof@qualityexcellence.es> CC: r-help-es <r-help-es@r-project.org> Enviado: Martes 16 de julio de 2013 11:02 Asunto: Re: [R-es] Sqldf y codificación \u00b0 para el grado Hola Eva, Una forma inmediata es no guardando los valores con esa codificación. Y tras la extracción incluir las unidades... Saludos, Carlos Ortega www.qualityexcellence.es bió:> >Buenos días: > >Creo un data.frame del siguiente modo: > >d<-data.frame(a=c("112.45º", "23,56º"), b=c("112.45\u00b0", "23.56\u00b0")) >> d > a b >1 112.45º 112.45° >2 23,56º 23.56° > > >Como podéis ver, para la primera columna vuelco el grado directamente, y para la segunda utilizo \u00b0, que es lo que debo perseguir. > >Ahora obtengo d2 del siguiente modo: > >d2 <- sqldf("select * from d") > >> sqldf("select * from d") > a b >1 112.45º 112.45° >2 23,56º 23.56° > >Es decir, el uso de sqldf hace que la representación de la codificación \u00b0 sea incorrecta, pues muestra "º" en vez de "º". > >¿Cómo puedo resolverlo?. Necesito que funcione también en Mac. > >Gracias. > >Eva > [[alternative HTML version deleted]] > > >_______________________________________________ >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 [[alternative HTML version deleted]]
Estimada Eva Yo pase por ese problema, sobre todo al cambiar de sistema operativo, o etc. Lo que yo pienso: 1) usar la base de datos adecuada con la configuración de caracteres (yo UTF-8, pero...). 2) intentar migrar con alguna herramienta de una base de datos a la otra (estilo navicat), aunque no se si es la solución. 3) crear un script en R donde compare cadenas y coloque el carácter necesario. Javier Marcuzzi El 16 de julio de 2013 03:23, Eva Prieto Castro <evapcastro@yahoo.es>escribió:> > > Buenos días: > > Creo un data.frame del siguiente modo: > > d<-data.frame(a=c("112.45º", "23,56º"), b=c("112.45\u00b0", "23.56\u00b0")) > > d > a b > 1 112.45º 112.45° > 2 23,56º 23.56° > > > Como podéis ver, para la primera columna vuelco el grado directamente, y > para la segunda utilizo \u00b0, que es lo que debo perseguir. > > Ahora obtengo d2 del siguiente modo: > > d2 <- sqldf("select * from d") > > > sqldf("select * from d") > a b > 1 112.45º 112.45° > 2 23,56º 23.56° > > Es decir, el uso de sqldf hace que la representación de la codificación > \u00b0 sea incorrecta, pues muestra "º" en vez de "º". > > ¿Cómo puedo resolverlo?. Necesito que funcione también en Mac. > > Gracias. > > Eva > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
Hola, Javier: Gracias. Resolví utilizando otro mecanismo de ordenación (arrange). El sqldf sólo lo empleo cuando no utilizo caracteres especiales. Saludos. Eva ________________________________ De: Javier Marcuzzi <javier.ruben.marcuzzi@gmail.com> CC: r-help-es <r-help-es@r-project.org> Enviado: Martes 16 de julio de 2013 23:34 Asunto: Re: [R-es] Sqldf y codificación \u00b0 para el grado Estimada Eva Yo pase por ese problema, sobre todo al cambiar de sistema operativo, o etc. Lo que yo pienso: 1) usar la base de datos adecuada con la configuración de caracteres (yo UTF-8, pero...). 2) intentar migrar con alguna herramienta de una base de datos a la otra (estilo navicat), aunque no se si es la solución. 3) crear un script en R donde compare cadenas y coloque el carácter necesario. Javier Marcuzzi bió:> >Buenos días: > >Creo un data.frame del siguiente modo: > >d<-data.frame(a=c("112.45º", "23,56º"), b=c("112.45\u00b0", "23.56\u00b0")) >> d > a b >1 112.45º 112.45° >2 23,56º 23.56° > > >Como podéis ver, para la primera columna vuelco el grado directamente, y para la segunda utilizo \u00b0, que es lo que debo perseguir. > >Ahora obtengo d2 del siguiente modo: > >d2 <- sqldf("select * from d") > >> sqldf("select * from d") > a b >1 112.45º 112.45° >2 23,56º 23.56° > >Es decir, el uso de sqldf hace que la representación de la codificación \u00b0 sea incorrecta, pues muestra "º" en vez de "º". > >¿Cómo puedo resolverlo?. Necesito que funcione también en Mac. > >Gracias. > >Eva > [[alternative HTML version deleted]] > > >_______________________________________________ >R-help-es mailing list >R-help-es@r-project.org >https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]