アジア文字は、matrix
、またはvector
に含まれていて、data.frame
には含まれていない場合、印刷可能です。ここでは例一部のUnicode文字は行列内に表示されますが、Rのデータフレームは表示されないのはなぜですか?
q<-'天'
q # Works
# [1] "天"
matrix(q) # Works
# [,1]
# [1,] "天"
q2<-data.frame(q,stringsAsFactors=FALSE)
q2 # Does not work
# q
# 1 <U+5929>
q2[1,] # Works again.
# [1] "天"
は明らかに、私のデバイスは、文字を表示することが可能であるが、それはdata.frame
であるとき、それは動作しません。
掘り出しをいくつか行って、print.data.frame
関数が各列でformat
を実行していることがわかりました。 、
format(q)
# "<U+5929>"
をformat.default
に掘り、私はそれは私がそれ以上掘る前にC.
で書かれた、内部format
を呼び出していることがわかります:それはあなたが直接format.default
を実行する場合、同じ問題が発生することが判明します私は他人がこの行動を再現できるかどうかを知りたい。 これらの文字をdata.frame
秒以内に表示するためのRの設定がありますか?
マイsessionInfo()
、それは場合に役立ちます:
R version 3.0.1 (2013-05-16)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_Canada.1252 LC_CTYPE=English_Canada.1252
[3] LC_MONETARY=English_Canada.1252 LC_NUMERIC=C
[5] LC_TIME=English_Canada.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] tools_3.0.1
'Sys.setlocale(locale =" UTF-8 ")'を設定してみてください。レンダリングに一貫性がないというのは少し奇妙です。しかし、「English_Canada.1252」はアジアの文字を扱うことを意図していません。 –