Rパッケージの作成方法は以下を参照してください。
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
Macではencodingの指定をするだけで問題なく日本語が使えるが、Windowsでは問題があるのでメモ。
- 今のところWindows環境では roxygen2 (4.1.0) を使って日本語ヘルプ(*.Rd)は生成できないようだ。Windowsで日本語ヘルプを利用するには自分で *.Rd を書く必要がある。
- 重要な点はヘルプの 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 参考