2016-06-17 19 views
2

セルビア語アルファベットには英字の上に5つの追加文字(š、đ、ž、č、ć)があります。問題はRがčとćを認識しないことです。文字š、đ、および¾はうまく動作しますが、čとćを使用しようとすると、Rはそれらをcと解釈します。Rは発音記号(č、ć)で特定のセルビア語文字を受け入れません。

>š 
Error: object 'š' not found 
>ž 
Error: object 'ž' not found 
>đ 
Error: object 'd' not found 
>č 
function (..., recursive = FALSE) .Primitive("c") 
>ć 
function (..., recursive = FALSE) .Primitive("c") 

ファイルをRに読み込むと、常にčとćがcで置き換えられます。

これを回避する手段はありますか?

>Sys.getlocale() 
[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252" 

答えて

1

システムロケールを特定の言語に変更すると役立ちます。あなたが読んだとき が

read.table("file.txt",encoding="UTF-8") 

「UTF-8」の形式を使用して特殊文字 を維持すべきであるあなたは、ファイルを作成している場合は、この

con <- file("path/filename.txt", encoding = "UTF-8") 
    write(x, file = con) 
+1

ような何かを行うことができますこれは、CおよびCが、presereveすべてを行いそれをcに変換します。 – magasr

+0

良好な観察。以下の回避策があなたに役立つかもしれない http://stackoverflow.com/questions/29957678/utf-8-characters-get-lost-when-converting-from-list-to-data-frame-in-r入力のために – user5249203

+0

Thx。私はもう少しテストをしました。私がencoding = "UTF-8"を使ってファイルを読むと、それはčとćを正しく読みますが、私がencoding = "utf-8"でそれを行うと、それはしません。何故ですか?問題はまだ残っていますが、rコンソールでčとćを使う方法があるので、私はそれを開いたままにします。 – magasr

関連する問題