/ / Використання спеціальних символів в Rstudio - r, кодування, rstudio

Використання спеціальних символів в Rstudio - r, кодування, rstudio

Я працюю з деякими спеціальними символами в Rstudio. Він приховує їх простими літерами.

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

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

Чи є спосіб читати в точних оригінальних персонажах. Наступна інформація може бути корисною: Кодування за замовчуванням 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

Відповіді:

1 для відповіді № 1

Це не є виключно проблемою Робудіо.

Набрати print("Safarzyńska2013") на консолі RGui також перетворює їх на прості букви. Запуск цього коду з кодуваного сценарієм utf-8 в RGui повертає [1] "Safarzy?ska2013".

Я не думаю, що це хороша ідея набирати такі спеціальні символи на консолі. x <- "SomeString"; Encoding(x) повертає "unknown" і це, мабуть, проблема: R не має уявлення про те, яке кодування ви використовуєте на консолі, і, мабуть, не має шансів отримати вихідне кодування.

Я кладу "Safarzyńska2013nMаorin" у текстовий файл, закодований за допомогою utf-8. Потім наступні роботи добре:

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

Якщо ви дійсно хочете використовувати консоль, вам, мабуть, доведеться маскувати спеціальні символи. В ?Encoding ми знаходимо наступний приклад, щоб створити слово з спеціальними символами:

x <- "faxE7ile"
Encoding(x)

Насправді я не знаю на даний момент, як отримати ці коди для ваших спеціальних символів і ?Encoding також не має натяків ...