Rコマンダーに自作メニューを追加する

基本的にRjpWikiとか、船尾先生のサイトに載ってる情報で十分なんだけど、実際やってみると色々面倒なことが。

まず何が面倒って、俺のマシンがVISTAだということ。コマンドを走らせているとき、いちいちpermission deniedを食らうのだ。我慢していたけど、UACはもう切ることにしました。SPSSも起動の度にうるさかったしな。

手続きに当たって、RtoolsとかTeXが要るように書いてあるんだけど、実際、RCMDはR本体をDLしたら入ってるし、TeXは以前から持っていたので別に要らなかったんじゃないかな。
ただし、Windows用のHTML形式ヘルプファイルを作るツール、Microsoft HTML Help Workshopは必要で、サイトに行ったら「日本語対応版」みたいなのがあったので、こっちでいいやと思ってDLしたら、これに肝心のhhc.exeが入ってなかったのでHtmlhelp.exeを取り直した。やれやれ。

さて、関数をビルドしてパッケージに入れる方法はそれほど苦労しなかった。が、プログラムにありがちな「些細なミス」で二度ほど躓いた。
一つめは、メニューを作るときに、関数の大文字小文字の別が一カ所違っていたので失敗。
二つめは、これは日本語化の失敗なんだろうけど、ダイアログを初期化する関数、initializeDialogのスペルミス。間抜けなことに、最初inisialize-と書いていて、エラー。これはすぐに訂正できた。次は少し難問で、エラーメッセージが「initializedDialogがない」と言ってくる問題。これまたスペルミスだろう、と思ってみていたけど、ソースにはちゃんとinitializedDialogと書いてある。なんでー?なんでー?と思ったが、サンプルファイルを見て分かった。正解はinitializeDialogなのである。過去形にしちゃ駄目なのだ。エラーは過去形で注意してくるんだけど、実際のコマンドは現在形ってオチ。

この辺をなおしたら、いとも簡単にダイアログを表示するところまでは行けた。
後は中身の関数。もちろんこれが一番大事。そして、ダイアログボックスを描画するtcltkのコマンドがよくわからんということだ(T先生もそういっていた)。

しかしこれになれておけば、自分の好きな形での統計パッケージが出来、それを公開できるというのだから、少し頑張ってみるのも悪くない。少なくとも、学内or山口県下ではRcmdrPlugin.Kosugittiを使うように吹聴したいね(笑)
そのためには、パッケージの作り方をもう少し勉強してみる必要があるかも。ヘルプ、ドキュメント、サンプルデータをセットにして配布するのが習わしみたいだから。

関連サイト:
パッケージを作る
RcmdrPlugin超入門 – RjpWiki
Rcmdrの機能 – RjpWiki
続・わしの頁

UACを切る
Windows Vista UAC(ユーザーアカウント制御)機能を無効にする方法

TeXのインストール
TeX installers for Windows – TeX Wiki