[R-es] Problemas con tildes y otros caracteres en R y RStudio

giltrapo giltrapo en gmail.com
Mar Jun 21 16:48:05 CEST 2016


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



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