2016-07-06 8 views
3

私はRから中国語を読んだり、RStudioで中国語を見ることができます。しかし、私はどのようにRコードからそれらの中国語単語をプリントアウトするかを理解することはできません。ここ は、コンソール上のコードの例を次に示します。Rから漢字を印刷するには?

fi <- 'c:\\R_Routines\\Ch.txt' 
g <- readLines(con=fi, encoding='UTF-8') 
g 
# [1] "发动机测谎报告" 
fo <- 'c:\\R_Routines\\Ch1.txt' 
fa <- file(fo, encoding='UTF-8') 
writeLines(g, con= fa) 
fi <- 'c:\\R_Routines\\Ch1.txt' 
g <- readLines(con=fi, encoding='UTF-8') 
g 
# [1] "<U+53D1><U+52A8><U+673A><U+6D4B><U+8C0E><U+62A5><U+544A>" 

どのように出力(ディスクに書き込み)私は、ファイルから読み込ん中国語の単語のテキストファイルへ?

答えて

1

本当に答えはありますが、私の検索では、あなたがRStudioで最初にエンコードに問題がないことを示すいくつかの投稿が見つかりました。

froma Windowsユーザースクリーンショットだった

enter image description here

:デフォルトはでアクセス可能です。あなたはSys.setlocaleを使用することも必要かもしれませんが、あなたができたかのようにそれはそう以来、私は最初敬遠しがちRStudioデフォルト値を変更してみたい

enter image description here

:私は、Mac上のデフォルトの設定のための可能な場所を発見したところ、これがあります最初に文字を印刷する。私はMacがR.app GUIを実行しているまたはMac上でRStudioを実行する上で、あなたの問題を確認することができないよ:

> fi <- '~/test.txt' 
> g <- readLines(con=fi, encoding='UTF-8') 
> g 
[1] "发动机测谎报告" 

のUnicodeの高い値が引用バックスラッシュ-'u'-番号引用符で処理されます。ヘルプページを参照してください:

?Quotes 

'\u53D1' 
[1] "发" 

しかし、Rパーサは、16進数に続くせずに裸「\ U」を受け付けませんので"\U""<U+"を交換しようとすると、失敗します。

+0

ありがとうございます。ロケールの設定は機能しません。なぜなら、私は同じプログラムから多くの言語のレポートを印刷する必要があるからです。あなたの例では、Macで中国語を読むことができます。それで私はWindowsでやりました。私のコードは、一部のエディタで作成された中国語のテキストを完全に読み込んで、RStudioで正しく表示することを示しています。私は中国語のテキストを中国語のように見せる(ディスクに書き込む)ことはできません。 Windows上のRは、RStudioインターフェイスに表示される中国語の文字を印刷(書き込み、書き出し)しません。それが問題だ。 – user3276530

+0

多くの場合、問題は、特定のUnicode文字のグリフを持たない特定のアプリケーションで使用される特定のフォントです。使用しているアプリケーション(RStudio?)の名前と一般的な動作が同じであっても、Rで使用されるデフォルトのフォントはMacとWindowsで異なります。 –

関連する問題