Как правильно отобразить китайский текст в R Studio? - PullRequest
1 голос
/ 03 февраля 2020

Я китаец, и часто имею дело с китайскими иероглифами. Я до сих пор не могу найти способ правильно кодировать китайский.

На данный момент лучший способ - read.csv(file_name, fileEncoding = "UTF8"). Но когда я перечисляю все файлы в wd, используя dir(), он выглядит искаженным:

> dir()
[1] "16PF.csv"       "codebook.html"  "Table_2.xls"   
[4] "win-library"    "鏈牎鏂囩.csv" "鏈牎鏂囩.R"

Это после того, как я установил системный языковой стандарт:

> Sys.setlocale(category = "LC_ALL", locale = "chs") #cht for traditional Chinese, etc.
[1] "LC_COLLATE=Chinese_People's Republic of China.936;LC_CTYPE=Chinese_People's Republic of China.936;LC_MONETARY=Chinese_People's Republic of China.936;LC_NUMERIC=C;LC_TIME=Chinese_People's Republic of China.936"

В Global Options -> Code -> Saving, кодировка по умолчанию установлена ​​в UTF8.

Я также wi sh, чтобы заставить R Studio читать китайский текст без необходимости каждый раз использовать команду Я открываю это.

Обновление : метод, предоставляемый @niki, хорош для простого чтения текста: https://imgur.com/a/6XtwmzC

Однако мне нужно иметь дело с китайским символы в кадрах данных.

Я только что обнаружил, что read.csv(file_name, fileEncoding = "UTF8") на самом деле не работает:

> grades=read.csv("grades.csv",fileEncoding="UTF-8")
Warning messages:
1: In read.table(file = file, header = header, sep = sep, quote = quote,  :
  invalid input found on input connection 'grades.csv'
2: In read.table(file = file, header = header, sep = sep, quote = quote,  :
  incomplete final line found by readTableHeader on 'grades.csv'

Если я не установил системный языковой стандарт:

> Sys.setlocale("LC_ALL","Chinese")
[1] "LC_COLLATE=Chinese (Simplified)_China.936;LC_CTYPE=Chinese (Simplified)_China.936;LC_MONETARY=Chinese (Simplified)_China.936;LC_NUMERIC=C;LC_TIME=Chinese (Simplified)_China.936"
> grades=read.csv("grades.csv",fileEncoding="UTF-8")
> head(grades[,c(3,6,8)],3)
  文理类型 学生类型 数学
1     文科     应届  138
2     文科     应届  134
3     文科     应届  119

Потому что устанавливать локаль системы каждый раз, когда я запускаю R Studio, неудобно, я пытался вставить Sys.setlocale("LC_ALL","Chinese") в Rprofile, но это не сработало.

Update 2: I Похоже, что вы нашли неправильный файл RProfile. Теперь это было решено.

...