/ / Uso di caratteri speciali in Rstudio - r, encoding, rstudio

Utilizzo di caratteri speciali in Rstudio - r, encoding, rstudio

Sto lavorando con alcuni caratteri speciali in Rstudio. Li ricopre in lettere semplici.

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

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

C'è un modo per leggere i caratteri originali esatti. Le seguenti informazioni potrebbero essere utili: La codifica predefinita di 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

risposte:

1 per risposta № 1

Questo non è un problema esclusivamente RStudio.

Digitando print("Safarzyńska2013") sulla console di RGui anche li converte in lettere semplici. Ritorna questo codice da uno script con codifica utf-8 in RGui [1] "Safarzy?ska2013".

Non penso che sia una buona idea digitare caratteri speciali sulla console. x <- "SomeString"; Encoding(x) ritorna "unknown" e questo è probabilmente il problema: R non ha idea di quale codifica si sta utilizzando sulla console e probabilmente non ha alcuna possibilità di ottenere la codifica originale.

Ho messo "Safarzyńska2013nMāorin" in un file di testo codificato con utf-8. Quindi funziona come segue:

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 vuoi davvero usare la console, probabilmente dovrai mascherare i caratteri speciali. In ?Encoding troviamo il seguente esempio per creare una parola con caratteri speciali:

x <- "faxE7ile"
Encoding(x)

In realtà non so al momento come ottenere questi codici per i tuoi caratteri speciali e ?Encoding non ha anche suggerimenti ...