giltrapo
2016-Jun-21 11:15 UTC
[R-es] Problemas con tildes y otros caracteres en R y RStudio
Hola, Carlos. A mí también me resulta raro, porque no me pasa siempre. Es un poco aleatorio. Imagino que habrá alguna razón, y que el código de la página estará relacionado, claro, pero no consigo averiguar a qué se debe. Además las pruebas que hago me dejan todavía más perplejo. Esto Encoding(capitales) me dice que el encoding es "unknow", pero luego esto validUTF8(capitales) me dice que sí, que todo es "TRUE". También probé guess_encoding(" https://es.wikipedia.org/wiki/Anexo:Capitales_de_provincia_de_Espa%C3%B1a_por_poblaci%C3%B3n ") y el resultado es encoding language confidence 1 ISO-8859-1 es 0.70 2 ISO-8859-2 ro 0.43 3 ISO-8859-9 tr 0.16 4 UTF-8 0.15 5 UTF-16BE 0.10 6 UTF-16LE 0.10 7 Shift_JIS ja 0.10 8 GB18030 zh 0.10 9 EUC-JP ja 0.10 10 EUC-KR ko 0.10 11 Big5 zh 0.10 He ido probando cada uno de esos encodings, al llamar a la función read_html, pero nada, sigue sin codificarlo bien. También probé a utilizar iconv, pero sin resultados positivos. En fin, seguiré investigando. Muchas gracias y saludos! Jose Ignacio 2016-06-21 12:07 GMT+02:00 Carlos J. Gil Bellosta <cgb en datanalytics.com>:> Hola, ¿qué tal? > > Son los dichosos "encodings". De todos modos, me parece raro que rvest > lo haga mal: promete que va a interpretar lo leído de acuerdo con el > "encoding" declarado en la página, por lo que no debería haber > problemas en ninguna plataforma. De todos modos, tienes una opción en > rvest para indicar el juego de caracteres. Igual indicando "latin1" > funciona. > > También he visto problemas llamando a ggmap::geocode desde Windows > cuando la cadena contiene caracteres no ascii. Hay información aquí: > > https://github.com/dkahle/ggmap/issues/89 > > No sé si tratar de transformar la cadena de búsqueda a UTF8 con iconv > ayudará o no a resolver el problema. > > Un saludo, > > Carlos J. Gil Bellosta > http://www.datanalytics.com > > El día 21 de junio de 2016, 11:52, giltrapo <giltrapo en gmail.com> escribió: > > Hola. > > > > Tengo algún tipo de problema con las tildes, a la hora de trabajar en R o > > en RStudio, que no sé resolver. > > > > Intentando reproducir en dos PCs distintos, ambos con Windows 7, uno de > los > > últimos ejercicios que ha publicado Carlos Gil Bellosta en su blog ( > > > https://www.datanalytics.com/2016/06/20/6602-767-km-alrededor-de-espana-para-visitar-todas-sus-capitales-de-provincia/ > ), > > me ocurre que al ejecutar el código > > > > library(rvest) > > library(caRtociudad) > > library(reshape2) > > library(ggmap) > > library(plyr) > > library(TSP) > > > > capitales <- read_html(" > > > https://es.wikipedia.org/wiki/Anexo:Capitales_de_provincia_de_Espa%C3%B1a_por_poblaci%C3%B3n > > ") > > capitales <- html_nodes(capitales, "table") > > capitales <- html_table(capitales[[1]])$Ciudad > > > > obtengo esto: > > > >> capitales > > > > [1] "Madrid" "Barcelona" > > [3] "Valencia" "Sevilla" > > [5] "Zaragoza" "Málaga" > > [7] "Murcia" "Palma de Mallorca" > > [9] "Las Palmas de Gran Canaria" "Bilbao" > > [11] "Alicante" "Córdoba" > > [13] "Valladolid" "La Coruña" > > [15] "Vitoria" "Granada" > > [17] "Oviedo" "Santa Cruz de Tenerife" > > [19] "Pamplona" "AlmerÃa" > > [21] "San Sebastián" "Burgos" > > [23] "Santander" "Castellón de la Plana" > > [25] "Albacete" "Logroño" > > [27] "Badajoz" "Salamanca" > > [29] "Huelva" "Lérida" > > [31] "Tarragona" "León" > > [33] "Cádiz" "Jaén" > > [35] "Orense" "Lugo" > > [37] "Gerona" "Cáceres" > > [39] "Santiago de Compostela" "Ceuta" > > [41] "Melilla" "Guadalajara" > > [43] "Toledo" "Pontevedra" > > [45] "Palencia" "Ciudad Real" > > [47] "Zamora" "Mérida" > > [49] "à vila" "Cuenca" > > [51] "Segovia" "Huesca" > > [53] "Soria" "Teruel" > > > > Es decir, no aparecen ni tildes ni eñes. > > > > Si, en cambio, ejecuto > > > > library(XML) > > library(RCurl) > > > > capitales <- data.frame(readHTMLTable(getURL(" > > > https://es.wikipedia.org/wiki/Anexo:Capitales_de_provincia_de_Espa%C3%B1a_por_poblaci%C3%B3n > > "))) > > > > obtengo un data frame en el que las ciudades ya aparecen con sus tildes y > > sus eñes...aunque en los nombres de las variables siguen apareciendo esos > > caracteres extraños en vez de tildes. > > > > Con el resto del código de Carlos me sigue ocurriendo lo mismo, ya que si > > intento > > > > geocode("Logroño") > > > > me devuelve > > > > Information from URL : > > > http://maps.googleapis.com/maps/api/geocode/json?address=Logro%F1o&sensor=false > > lon lat > > 1 NA NA > > Warning messages: > > 1: In readLines(connect, warn = FALSE) : > > cannot open URL ' > > > http://maps.googleapis.com/maps/api/geocode/json?address=Logro%F1o&sensor=false > ': > > HTTP status was '400 Bad Request' > > 2: In geocode("Logroño") : geocoding failed for "Logroño". > > if accompanied by 500 Internal Server Error with using dsk, try google. > > > > en cambio, si pruebo con > > > > geocode("Logrono") > > > > la respuesta es correcta > > > > Information from URL : > > > http://maps.googleapis.com/maps/api/geocode/json?address=Logrono&sensor=false > > lon lat > > 1 -2.444985 42.46272 > > > > Lo mismo ocurre si intento capturar las coordenadas de Málaga, Castellón, > > etc. Si lleva tildes o eñes, no reconoce el texto. > > > > Entiendo que todo esto se debe a algún problema de codificación, pero no > sé > > cómo arreglarlo. Tampoco sé por qué con read_html capturo los datos mal, > > pero con readHTMLTable y RCurl los capturo bien...a medias. > > > > ¿Alguien tiene alguna idea sobre qué puede estar ocurriendo? > > > > Jose Ignacio > > > > [[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]]
Carlos Ortega
2016-Jun-21 12:09 UTC
[R-es] Problemas con tildes y otros caracteres en R y RStudio
Hola, Creo que esta referencia te puede ayudar: http://stackoverflow.com/questions/29379771/utf-8-encoding-problems-with-r Saludos, Carlos Ortega www.qualityexcellence.es El 21 de junio de 2016, 13:15, giltrapo <giltrapo en gmail.com> escribió:> Hola, Carlos. > > A mí también me resulta raro, porque no me pasa siempre. Es un poco > aleatorio. Imagino que habrá alguna razón, y que el código de la página > estará relacionado, claro, pero no consigo averiguar a qué se debe. > > Además las pruebas que hago me dejan todavía más perplejo. > > Esto > > Encoding(capitales) > > me dice que el encoding es "unknow", pero luego esto > > validUTF8(capitales) > > me dice que sí, que todo es "TRUE". > > También probé > > guess_encoding(" > > https://es.wikipedia.org/wiki/Anexo:Capitales_de_provincia_de_Espa%C3%B1a_por_poblaci%C3%B3n > ") > > y el resultado es > > encoding language confidence > 1 ISO-8859-1 es 0.70 > 2 ISO-8859-2 ro 0.43 > 3 ISO-8859-9 tr 0.16 > 4 UTF-8 0.15 > 5 UTF-16BE 0.10 > 6 UTF-16LE 0.10 > 7 Shift_JIS ja 0.10 > 8 GB18030 zh 0.10 > 9 EUC-JP ja 0.10 > 10 EUC-KR ko 0.10 > 11 Big5 zh 0.10 > > He ido probando cada uno de esos encodings, al llamar a la función > read_html, pero nada, sigue sin codificarlo bien. También probé a utilizar > iconv, pero sin resultados positivos. > > En fin, seguiré investigando. > > Muchas gracias y saludos! > > Jose Ignacio > > 2016-06-21 12:07 GMT+02:00 Carlos J. Gil Bellosta <cgb en datanalytics.com>: > > > Hola, ¿qué tal? > > > > Son los dichosos "encodings". De todos modos, me parece raro que rvest > > lo haga mal: promete que va a interpretar lo leído de acuerdo con el > > "encoding" declarado en la página, por lo que no debería haber > > problemas en ninguna plataforma. De todos modos, tienes una opción en > > rvest para indicar el juego de caracteres. Igual indicando "latin1" > > funciona. > > > > También he visto problemas llamando a ggmap::geocode desde Windows > > cuando la cadena contiene caracteres no ascii. Hay información aquí: > > > > https://github.com/dkahle/ggmap/issues/89 > > > > No sé si tratar de transformar la cadena de búsqueda a UTF8 con iconv > > ayudará o no a resolver el problema. > > > > Un saludo, > > > > Carlos J. Gil Bellosta > > http://www.datanalytics.com > > > > El día 21 de junio de 2016, 11:52, giltrapo <giltrapo en gmail.com> > escribió: > > > Hola. > > > > > > Tengo algún tipo de problema con las tildes, a la hora de trabajar en > R o > > > en RStudio, que no sé resolver. > > > > > > Intentando reproducir en dos PCs distintos, ambos con Windows 7, uno de > > los > > > últimos ejercicios que ha publicado Carlos Gil Bellosta en su blog ( > > > > > > https://www.datanalytics.com/2016/06/20/6602-767-km-alrededor-de-espana-para-visitar-todas-sus-capitales-de-provincia/ > > ), > > > me ocurre que al ejecutar el código > > > > > > library(rvest) > > > library(caRtociudad) > > > library(reshape2) > > > library(ggmap) > > > library(plyr) > > > library(TSP) > > > > > > capitales <- read_html(" > > > > > > https://es.wikipedia.org/wiki/Anexo:Capitales_de_provincia_de_Espa%C3%B1a_por_poblaci%C3%B3n > > > ") > > > capitales <- html_nodes(capitales, "table") > > > capitales <- html_table(capitales[[1]])$Ciudad > > > > > > obtengo esto: > > > > > >> capitales > > > > > > [1] "Madrid" "Barcelona" > > > [3] "Valencia" "Sevilla" > > > [5] "Zaragoza" "Málaga" > > > [7] "Murcia" "Palma de Mallorca" > > > [9] "Las Palmas de Gran Canaria" "Bilbao" > > > [11] "Alicante" "Córdoba" > > > [13] "Valladolid" "La Coruña" > > > [15] "Vitoria" "Granada" > > > [17] "Oviedo" "Santa Cruz de Tenerife" > > > [19] "Pamplona" "AlmerÃa" > > > [21] "San Sebastián" "Burgos" > > > [23] "Santander" "Castellón de la Plana" > > > [25] "Albacete" "Logroño" > > > [27] "Badajoz" "Salamanca" > > > [29] "Huelva" "Lérida" > > > [31] "Tarragona" "León" > > > [33] "Cádiz" "Jaén" > > > [35] "Orense" "Lugo" > > > [37] "Gerona" "Cáceres" > > > [39] "Santiago de Compostela" "Ceuta" > > > [41] "Melilla" "Guadalajara" > > > [43] "Toledo" "Pontevedra" > > > [45] "Palencia" "Ciudad Real" > > > [47] "Zamora" "Mérida" > > > [49] "à vila" "Cuenca" > > > [51] "Segovia" "Huesca" > > > [53] "Soria" "Teruel" > > > > > > Es decir, no aparecen ni tildes ni eñes. > > > > > > Si, en cambio, ejecuto > > > > > > library(XML) > > > library(RCurl) > > > > > > capitales <- data.frame(readHTMLTable(getURL(" > > > > > > https://es.wikipedia.org/wiki/Anexo:Capitales_de_provincia_de_Espa%C3%B1a_por_poblaci%C3%B3n > > > "))) > > > > > > obtengo un data frame en el que las ciudades ya aparecen con sus > tildes y > > > sus eñes...aunque en los nombres de las variables siguen apareciendo > esos > > > caracteres extraños en vez de tildes. > > > > > > Con el resto del código de Carlos me sigue ocurriendo lo mismo, ya que > si > > > intento > > > > > > geocode("Logroño") > > > > > > me devuelve > > > > > > Information from URL : > > > > > > http://maps.googleapis.com/maps/api/geocode/json?address=Logro%F1o&sensor=false > > > lon lat > > > 1 NA NA > > > Warning messages: > > > 1: In readLines(connect, warn = FALSE) : > > > cannot open URL ' > > > > > > http://maps.googleapis.com/maps/api/geocode/json?address=Logro%F1o&sensor=false > > ': > > > HTTP status was '400 Bad Request' > > > 2: In geocode("Logroño") : geocoding failed for "Logroño". > > > if accompanied by 500 Internal Server Error with using dsk, try > google. > > > > > > en cambio, si pruebo con > > > > > > geocode("Logrono") > > > > > > la respuesta es correcta > > > > > > Information from URL : > > > > > > http://maps.googleapis.com/maps/api/geocode/json?address=Logrono&sensor=false > > > lon lat > > > 1 -2.444985 42.46272 > > > > > > Lo mismo ocurre si intento capturar las coordenadas de Málaga, > Castellón, > > > etc. Si lleva tildes o eñes, no reconoce el texto. > > > > > > Entiendo que todo esto se debe a algún problema de codificación, pero > no > > sé > > > cómo arreglarlo. Tampoco sé por qué con read_html capturo los datos > mal, > > > pero con readHTMLTable y RCurl los capturo bien...a medias. > > > > > > ¿Alguien tiene alguna idea sobre qué puede estar ocurriendo? > > > > > > Jose Ignacio > > > > > > [[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 >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
giltrapo
2016-Jun-21 14:48 UTC
[R-es] Problemas con tildes y otros caracteres en R y RStudio
Hola, Carlos. Pues, efectivamente, me ha ayudado. Sobre la utilización de la función geocode con ciudades con tilde, me dio Carlos Gil Bellosta anteriormente la idea de utilizar iconv para transformar la cadena de búsqueda a UTF-8, y yo lo utilicé para intentar transformar el output de html_table sin resultado: capitales <- read_html(" https://es.wikipedia.org/wiki/Anexo:Capitales_de_provincia_de_Espa%C3%B1a_por_poblaci%C3%B3n ") capitales <- html_nodes(capitales, "table") capitales <- html_table(capitales[[1]])$Ciudad capitales <- iconv(capitales, to = "UTF-8") En la referencia que me has pasado he visto que utilizaban la función iconv de una forma curiosa capitales <- iconv(capitales, from = "UTF-8" to = "UTF-8") que, sin saber por qué, ha funcionado perfectamente. Por cierto, Carlos Gil, tu solución para la llamada a geocode basada en iconv también funciona perfectamente, aunque esta vez sin poner el argumento "from" geocode("Málaga", to = "UTF-8") ya que si lo añadimos da error. Muchas gracias a ambos!! Jose Ignacio 2016-06-21 14:09 GMT+02:00 Carlos Ortega <cof en qualityexcellence.es>:> Hola, > > Creo que esta referencia te puede ayudar: > http://stackoverflow.com/questions/29379771/utf-8-encoding-problems-with-r > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > El 21 de junio de 2016, 13:15, giltrapo <giltrapo en gmail.com> escribió: > >> Hola, Carlos. >> >> A mí también me resulta raro, porque no me pasa siempre. Es un poco >> aleatorio. Imagino que habrá alguna razón, y que el código de la página >> estará relacionado, claro, pero no consigo averiguar a qué se debe. >> >> Además las pruebas que hago me dejan todavía más perplejo. >> >> Esto >> >> Encoding(capitales) >> >> me dice que el encoding es "unknow", pero luego esto >> >> validUTF8(capitales) >> >> me dice que sí, que todo es "TRUE". >> >> También probé >> >> guess_encoding(" >> >> https://es.wikipedia.org/wiki/Anexo:Capitales_de_provincia_de_Espa%C3%B1a_por_poblaci%C3%B3n >> ") >> >> y el resultado es >> >> encoding language confidence >> 1 ISO-8859-1 es 0.70 >> 2 ISO-8859-2 ro 0.43 >> 3 ISO-8859-9 tr 0.16 >> 4 UTF-8 0.15 >> 5 UTF-16BE 0.10 >> 6 UTF-16LE 0.10 >> 7 Shift_JIS ja 0.10 >> 8 GB18030 zh 0.10 >> 9 EUC-JP ja 0.10 >> 10 EUC-KR ko 0.10 >> 11 Big5 zh 0.10 >> >> He ido probando cada uno de esos encodings, al llamar a la función >> read_html, pero nada, sigue sin codificarlo bien. También probé a utilizar >> iconv, pero sin resultados positivos. >> >> En fin, seguiré investigando. >> >> Muchas gracias y saludos! >> >> Jose Ignacio >> >> 2016-06-21 12:07 GMT+02:00 Carlos J. Gil Bellosta <cgb en datanalytics.com>: >> >> > Hola, ¿qué tal? >> > >> > Son los dichosos "encodings". De todos modos, me parece raro que rvest >> > lo haga mal: promete que va a interpretar lo leído de acuerdo con el >> > "encoding" declarado en la página, por lo que no debería haber >> > problemas en ninguna plataforma. De todos modos, tienes una opción en >> > rvest para indicar el juego de caracteres. Igual indicando "latin1" >> > funciona. >> > >> > También he visto problemas llamando a ggmap::geocode desde Windows >> > cuando la cadena contiene caracteres no ascii. Hay información aquí: >> > >> > https://github.com/dkahle/ggmap/issues/89 >> > >> > No sé si tratar de transformar la cadena de búsqueda a UTF8 con iconv >> > ayudará o no a resolver el problema. >> > >> > Un saludo, >> > >> > Carlos J. Gil Bellosta >> > http://www.datanalytics.com >> > >> > El día 21 de junio de 2016, 11:52, giltrapo <giltrapo en gmail.com> >> escribió: >> > > Hola. >> > > >> > > Tengo algún tipo de problema con las tildes, a la hora de trabajar en >> R o >> > > en RStudio, que no sé resolver. >> > > >> > > Intentando reproducir en dos PCs distintos, ambos con Windows 7, uno >> de >> > los >> > > últimos ejercicios que ha publicado Carlos Gil Bellosta en su blog ( >> > > >> > >> https://www.datanalytics.com/2016/06/20/6602-767-km-alrededor-de-espana-para-visitar-todas-sus-capitales-de-provincia/ >> > ), >> > > me ocurre que al ejecutar el código >> > > >> > > library(rvest) >> > > library(caRtociudad) >> > > library(reshape2) >> > > library(ggmap) >> > > library(plyr) >> > > library(TSP) >> > > >> > > capitales <- read_html(" >> > > >> > >> https://es.wikipedia.org/wiki/Anexo:Capitales_de_provincia_de_Espa%C3%B1a_por_poblaci%C3%B3n >> > > ") >> > > capitales <- html_nodes(capitales, "table") >> > > capitales <- html_table(capitales[[1]])$Ciudad >> > > >> > > obtengo esto: >> > > >> > >> capitales >> > > >> > > [1] "Madrid" "Barcelona" >> > > [3] "Valencia" "Sevilla" >> > > [5] "Zaragoza" "Málaga" >> > > [7] "Murcia" "Palma de Mallorca" >> > > [9] "Las Palmas de Gran Canaria" "Bilbao" >> > > [11] "Alicante" "Córdoba" >> > > [13] "Valladolid" "La Coruña" >> > > [15] "Vitoria" "Granada" >> > > [17] "Oviedo" "Santa Cruz de Tenerife" >> > > [19] "Pamplona" "AlmerÃa" >> > > [21] "San Sebastián" "Burgos" >> > > [23] "Santander" "Castellón de la Plana" >> > > [25] "Albacete" "Logroño" >> > > [27] "Badajoz" "Salamanca" >> > > [29] "Huelva" "Lérida" >> > > [31] "Tarragona" "León" >> > > [33] "Cádiz" "Jaén" >> > > [35] "Orense" "Lugo" >> > > [37] "Gerona" "Cáceres" >> > > [39] "Santiago de Compostela" "Ceuta" >> > > [41] "Melilla" "Guadalajara" >> > > [43] "Toledo" "Pontevedra" >> > > [45] "Palencia" "Ciudad Real" >> > > [47] "Zamora" "Mérida" >> > > [49] "à vila" "Cuenca" >> > > [51] "Segovia" "Huesca" >> > > [53] "Soria" "Teruel" >> > > >> > > Es decir, no aparecen ni tildes ni eñes. >> > > >> > > Si, en cambio, ejecuto >> > > >> > > library(XML) >> > > library(RCurl) >> > > >> > > capitales <- data.frame(readHTMLTable(getURL(" >> > > >> > >> https://es.wikipedia.org/wiki/Anexo:Capitales_de_provincia_de_Espa%C3%B1a_por_poblaci%C3%B3n >> > > "))) >> > > >> > > obtengo un data frame en el que las ciudades ya aparecen con sus >> tildes y >> > > sus eñes...aunque en los nombres de las variables siguen apareciendo >> esos >> > > caracteres extraños en vez de tildes. >> > > >> > > Con el resto del código de Carlos me sigue ocurriendo lo mismo, ya >> que si >> > > intento >> > > >> > > geocode("Logroño") >> > > >> > > me devuelve >> > > >> > > Information from URL : >> > > >> > >> http://maps.googleapis.com/maps/api/geocode/json?address=Logro%F1o&sensor=false >> > > lon lat >> > > 1 NA NA >> > > Warning messages: >> > > 1: In readLines(connect, warn = FALSE) : >> > > cannot open URL ' >> > > >> > >> http://maps.googleapis.com/maps/api/geocode/json?address=Logro%F1o&sensor=false >> > ': >> > > HTTP status was '400 Bad Request' >> > > 2: In geocode("Logroño") : geocoding failed for "Logroño". >> > > if accompanied by 500 Internal Server Error with using dsk, try >> google. >> > > >> > > en cambio, si pruebo con >> > > >> > > geocode("Logrono") >> > > >> > > la respuesta es correcta >> > > >> > > Information from URL : >> > > >> > >> http://maps.googleapis.com/maps/api/geocode/json?address=Logrono&sensor=false >> > > lon lat >> > > 1 -2.444985 42.46272 >> > > >> > > Lo mismo ocurre si intento capturar las coordenadas de Málaga, >> Castellón, >> > > etc. Si lleva tildes o eñes, no reconoce el texto. >> > > >> > > Entiendo que todo esto se debe a algún problema de codificación, pero >> no >> > sé >> > > cómo arreglarlo. Tampoco sé por qué con read_html capturo los datos >> mal, >> > > pero con readHTMLTable y RCurl los capturo bien...a medias. >> > > >> > > ¿Alguien tiene alguna idea sobre qué puede estar ocurriendo? >> > > >> > > Jose Ignacio >> > > >> > > [[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 >> > > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es >[[alternative HTML version deleted]]