(ここに辿り着いた方は多分Macでシステム言語を英語にしてる人な気がする…)
Windows版でR言語とかをいじっていればなにも問題なく使えるのですが、mac版だとR言語に限らず何かと問題が出ますね。それでも使いたくなっちゃうのがApple信者というものでしょうか…
さて本題ですが、Mac版のR言語を本格的に使いだそうと思ったら普通に日本語が文字化けしてました。テキストマイニングとかやろうと思ったので死活問題です。
Rを立ち上げると
During startup – Warning messages:1: Setting LC_CTYPE failed, using “C”2: Setting LC_COLLATE failed, using “C”3: Setting LC_TIME failed, using “C”4: Setting LC_MESSAGES failed, using “C”5: Setting LC_PAPER failed, using “C”[R.app GUI 1.50 (6126) x86_64-apple-darwin9.8.0]
という警告が出て、そのまま使い続けることができるのですが、日本語が文字化け。
そこでRコンソールで言語環境を見てみると多分下のようにjpがなんたらとなってます。
>Sys.getenv(“LANG”)
LANG=”en_JP.UTF-8″
これをUS.UTF-8にして[1]
>Sys.setenv(LANG=”en_US.UTF-8″)
再起動したら警告も出ず日本語も問題なく表示された。
これでめでたしと思ったら作図した時にQuartzで日本語がうまく表示されてない…
そこで、ターミナルでR言語のワークディレクトリに移動し、.Rprofileというファイルを作成する。そして以下をコピペ[2]。
setHook(packageEvent(“grDevices”, “onLoad”),
function(…){
grDevices::quartzFonts(serif=grDevices::quartzFont(
c(“Hiragino Mincho Pro W3”,
“Hiragino Mincho Pro W6”,
“Hiragino Mincho Pro W3”,
“Hiragino Mincho Pro W6”)))
grDevices::quartzFonts(sans=grDevices::quartzFont(
c(“Hiragino Kaku Gothic Pro W3”,
“Hiragino Kaku Gothic Pro W6”,
“Hiragino Kaku Gothic Pro W3”,
“Hiragino Kaku Gothic Pro W6”)))
# grDevices::quartz.options(family=”sans”)
}
)
attach(NULL, name = “MacJapanEnv”)
assign(“familyset_hook”,
function() { if(names(dev.cur())==”quartz”) par(family=”sans”)},
pos=”MacJapanEnv”)
setHook(“plot.new”, get(“familyset_hook”, pos=”MacJapanEnv”))
#setHook(packageEvent(“grDevices”, “onLoad”),function(…) grDevices::ps.options(family=”Japan1″))
options(X11fonts = c(“-alias-gothic-%s-%s-*-*-%d-*-*-*-*-*-*-*”,
“-adobe-symbol-*-*-*-*-%d-*-*-*-*-*-*-*”))
setHook(packageEvent(“grDevices”, “onLoad”),
function(…) grDevices::ps.options(family=”Japan1Ryumin”))
これでQuartz上でも日本語が表示されるようになった。めでたし。
参考サイト
[1] osx – Installing R on Mac – Warning messages: Setting LC_CTYPE failed, using “C” – Stack Overflow
[2] MacOSXのRでコンソール上では日本語使えるのにplotすると文字化けする場合の対処法 – konisimple log