/ / Използване на специални знаци в 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

Това не е изключително проблем за RStudio.

Писането 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 също няма намеци ...