R パッケージのCコードを編集する
emdistというパッケージを使おうとしたが、ソースにも書いてある通り、行列のサイズ制限や計算回数に制限が設けられており、都合が悪かったのでソースコードから変更することにした。備忘として、その手順を記す。
- まず、ここからemdist_0.3-1.tar.gzをダウンロード
- unixコマンド:tar vzxf emdist_0.3-1.tar.gzとして展開
- 展開後のフォルダのsrcフォルダにあるemd-rubner.hファイルをviモードで編集。unixコマンド:vi emd-rubner.h
- その後、展開後のフォルダを再圧縮。unixコマンド:tar cvzf emdist.tar.gz emdist/
- もともとインストールされていたemdistを削除。unixコマンド:R CMD REMOVE emdist
- Rのライブラリフォルダにて、先ほど圧縮したemdistフォルダを再展開:unixコマンド:R CMD INSTALL emdist.tar.gz
これで警告が出なくなった!
【追記】
パッケージをインストールした時点で、ほとんどのソースコードは隠ぺいされてしまう。したがって、パッケージをカスタマイズするにはインストール前に一度展開&修正し、改めて圧縮&解凍・展開をすれば良い。
【追記2】
行列のサイズ制限は無くなったが、やはりメモリを確保出来るか否かの壁は突破出来ず…。