/ Používanie špeciálnych znakov v Rstudio - r, kódovanie, rstudio

Použitie špeciálnych znakov v Rstudio - r, kódovanie, rstudio

Pracujem s niektorými špeciálnymi postavami v Rustudio. Zakrýva ich do obyčajných listov.

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

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

Existuje nejaký spôsob, ako čítať presné originálne znaky. Nasledujúce informácie môžu byť užitočné: Rastudio predvolené kódovanie je 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

odpovede:

1 pre odpoveď č. 1

Tento problém nie je výlučne RStudio.

písanie na stroji print("Safarzyńska2013") na konzole RGui ich tiež prevádza na obyčajné písmená. Spustenie tohto kódu zo skriptov kódovaných utf-8 v RGui sa vráti [1] "Safarzy?ska2013",

Nemyslím si, že je dobré umiestniť na konzolu také špeciálne znaky. x <- "SomeString"; Encoding(x) výnos "unknown" a to je pravdepodobne problém: R nemá vedieť, aké kódovanie používate na konzole a pravdepodobne nemáte šancu získať pôvodné kódovanie.

Dala som "Safarzyńska2013nMāorin" do textového súboru zakódovaného s utf-8. Potom nasledovné funguje dobre:

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

Ak naozaj chcete používať konzolu, pravdepodobne budete musieť maskovať špeciálne znaky. v ?Encoding nájdeme nasledujúci príklad na vytvorenie slova so špeciálnymi znakmi:

x <- "faxE7ile"
Encoding(x)

V skutočnosti momentálne neviem, ako získať tieto kódy pre vaše špeciálne znaky a ?Encoding nemá tiež žiadne rady ...