[R-es] Problemas con tildes y otros caracteres en R y RStudio
Carlos Ortega
cof en qualityexcellence.es
Mie Jun 22 09:53:33 CEST 2016
Hola,
Por si las recomendaciones de los de RStudio te pueden ayudar:
https://support.rstudio.com/hc/en-us/articles/200532197-Character-Encoding
Gracias,
Carlos Ortega
www.qualityexcellence.es
El 22 de junio de 2016, 5:27, amy cg <acarolinagc en gmail.com> escribió:
> Saludo:
> Estoy usando knit y markdownToHTML y aún tengo problemas con las tildes y
> ñ. Estoy en windows. Tengo esto en mi código
>
> knit("xxxx", quiet = TRUE,encoding = "utf-8")
> markdownToHTML("x.md","xx.html", title="x", stylesheet="xx.css",
> options=c(markdownHTMLOptions(defaults = TRUE), "toc"))
>
> ----
> Resultado ejemplo
> Número de lÃÂneas : 1891714
>
> DESDE YA MUCHAS GRACIAS.
>
> l
>
>
>
>
> El 21 de junio de 2016, 11:48, giltrapo <giltrapo en gmail.com> escribió:
>
>> 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]]
>>
>> _______________________________________________
>> 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