LoginSignup
12
12

More than 5 years have passed since last update.

Rのパッケージのヘルプを日本語で書く

Last updated at Posted at 2015-03-01

Rパッケージの作成方法は以下を参照してください。
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法

Macではencodingの指定をするだけで問題なく日本語が使えるが、Windowsでは問題があるのでメモ。

  1. 今のところWindows環境では roxygen2 (4.1.0) を使って日本語ヘルプ(*.Rd)は生成できないようだ。Windowsで日本語ヘルプを利用するには自分で *.Rd を書く必要がある。
  2. 重要な点はヘルプの title には日本語は使わない方が良いということ、使えないわけではないが使えない漢字がある。しかし title では使えない漢字も、description 内では使えるという(何故に?)。

encodingの指定は下のようにする。

DESCRIPTIONファイルに以下の文を追加する。
Encoding: UTF-8

roxygen2でヘルプを生成する場合は Rのソースコード(R/*.R)に以下の文を追加する。
#'@encoding UTF-8

ヘルプの元ファイル(man/*.Rd)に以下の文を追加する。
\encoding{UTF-8}

man/*.RdがShift-JISで\encoding{Shift-JIS}を指定すると、RのヘルプファイルはUTF-8に変換されるようだ。

Rstudio利用時の不具合

この設定でビルドすればヘルプが日本語のパッケージが完成する。オリジナルのRではこれで問題は発生しない。しかし、WindowsのRstudioではまだ問題があり解決できていない。「?関数名」などでヘルプを表示させると正常に表示される。RStudioでは、コンソールで関数名の途中まで入力しタブを押すと残りが補完され、さらに、ヘルプの内容がポップアップする。ここでエラーが出る。おそらく問題はWindows版RStudioのコンソールの文字コードがShift-JISになっているためと考えられる。試しに、man/*.RdをSHIFT-JISで作成し、\encoding{UTF-8}と記述すると、タブで補完した時にポップアップで日本語が表示されるが、?関数名で表示されるヘルプは文字化けする。コンソールの文字コードを変えるにはロケールを変える必要があるが。Sys.setlocale("LC_ALL", "ja_JP.UTF-8")としてもロケール変更が拒否される。

WindowsではJapanese_Japan.932以外の日本語のロケールの設定が拒否される。どうやらこれはWindowsのCのライブラリがShift-JIS以外に対応していないためのようだ。参考

Sys.setlocale(locale="C")とすると関数名の補完時のエラーは発生しない。しかし、ポップアップに日本語は表示されない。

932はShift-JISのこと、codepageというらしい。utf-8は65001 参考

12
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
12