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

amy cg acarolinagc en gmail.com
Mie Jun 22 05:27:49 CEST 2016


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
>

	[[alternative HTML version deleted]]



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