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

Carlos Ortega cof en qualityexcellence.es
Mar Jun 21 14:09:31 CEST 2016


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