4

Rグラフにベトナム語のラベルを付けようとしています。RStudio を使用し、UTF-8 エンコーディングを使用してコードを保存します。コードに入力したベトナム語の文字を適切に処理します。つまり、すべてがコードに正しく表示されます。ただし、私が作成したグラフでは、多くの文字は正常に表示されますが、いくつかの重要な文字は正しく表示されません。

đ - d と誤って表示される

ư - u として誤って表示されます

ơ - o として誤って表示されます

ă - として誤って表示されます

残念ながら、これにより、私のグラフは専門的ではなく、信頼できないものに見えます。

誰かが私がこれを理解するのを手伝ってくれれば、本当に感謝しています。

どうもありがとう!

トラン


@DWin: 私は Windows 7 を使用しています。これが私の sessionInfo() です。

R version 2.15.0 (2012-03-30)
Platform: x86_64-pc-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] MASS_7.3-17    MatchIt_2.4-20 tools_2.15.0  

@krlmlr: 簡単なグラフのコードは次のとおりです。

knorelative.count <- matrix(nrow=5,ncol=1)
knorelative.count[,1] <- c(1579,638,215,100,120)

par(mar=c(2,4,4,2))
barplot(prop.table(knorelative.count),beside=TRUE,
        yaxt="n",ylim=c(0,.6),
        legend=c("không ai biết",
                 "không biết nhiều hơn biết",
                 "nửa biết, nửa không biết",
                 "biết nhiều hơn không biết",
                 "tất cả đều biết"),
        main="Người khác trong gia đình, họ hàng biết hay không")
axis(2,at=seq(0,.6,.1),labels=paste(100*seq(0,.6,.1),"%",sep=""),las=1)

これを実行すると、メイン タイトルの đ と凡例の 2 つの ơ と đ が d と o に変わります。

4

3 に答える 3

4

多くの場合、16 進コードで Unicode 文字を指定する方が安全です。

plot(1:4,rep(1,4),pch=c("\u0111","\u01B0","\u01A1","\u0103"),cex=4)
于 2013-03-01T00:35:31.130 に答える
2

同じ問題に遭遇したベトナム人のために、James が提案した 16 進コードを使用した修正の例を次に示します。

print("trường")

[1]「真実」

print("tr\u01B0ờng")

[1]「トリン」

ベトナム語 (この例では trường) を R コンソールに入力することはできますが、どんな種類の出力 (印刷、グラフなど) でも ư という文字が表示されません。ư を 16 進コードに置き換えると、出力が修正されます。

(注: 以前は貼り付け機能を使用していましたが、James の提案に基づいてこれを編集し、文字列に 16 進コードを貼り付けました。)

このように学べたことにとても感謝しています。これを今書いているレポートに当てはめます。

トラン

于 2013-03-01T16:25:44.360 に答える