読者です 読者をやめる 読者になる 読者になる

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】

行列のサイズ制限は無くなったが、やはりメモリを確保出来るか否かの壁は突破出来ず…。