/ / Usando caracteres especiais no Rstudio - r, codificação, rstudio

Usando caracteres especiais no Rstudio - r, codificação, rstudio

Eu estou trabalhando com alguns caracteres especiais no Rstudio. Ele os cobre em letras simples.

print("Safarzyńska2013")
[1] "Safarzynska2013"

x <- "Māori"
x
[1] "Maori"

Existe alguma maneira de ler os caracteres originais exatos. As informações a seguir podem ser úteis: A codificação padrão do Rstudio é utf-8

sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] tools_3.1.1

Respostas:

1 para resposta № 1

Este não é um problema exclusivamente RStudio.

Digitando print("Safarzyńska2013") no console do RGui também os converte em letras simples. Executando este código de um script codificado utf-8 em RGui retorna [1] "Safarzy?ska2013".

Eu não acho que é uma boa idéia digitar esses caracteres especiais no console. x <- "SomeString"; Encoding(x) retorna "unknown" e esse é provavelmente o problema: R não tem idéia de qual codificação você está usando no console e provavelmente não tem chance de obter sua codificação original.

Eu coloquei "Safarzyńska2013nMāorin" em um arquivo de texto codificado com utf-8. Então o seguinte funciona bem:

tbl <- read.table("c:/test1.txt", encoding = "utf-8", stringsAsFactors = FALSE)
tbl[1,1]
tbl[2,1]
Encoding(tbl[1,1])  # returns "utf-8"

Se você realmente quiser usar o console, provavelmente terá que mascarar os caracteres especiais. Dentro ?Encoding Encontramos o seguinte exemplo para criar uma palavra com caracteres especiais:

x <- "faxE7ile"
Encoding(x)

Na verdade eu não sei no momento como obter esses códigos para seus caracteres especiais e ?Encoding também não tem dicas ...