2014/12/26

Windows 版 R に RSVGTipsDevice をインストール

[SVG][R][Windows]
最近の R は標準で svg 出力できますが、myuhe さんの R-SVG.org にあるとおり文字がベクタ化(図形化)される難点があります。そこで CentOS + Qt + R の自作アプリでは、上記 R-SVG.org で紹介されている RSVGTipsDevice というパッケージを使いました(検討の過程は 2014/10/01 を参照)。

このパッケージを Windows 版の R にも入れようとしたらバイナリがなく、install.packages 関数で type オプションを設定してもなぜかエラーになりましたが、Rtools を使って一応コンパイルできたので経過をメモ。Rtools 自体も未出だったのでインストール経過を書きました。環境は Windows 7 32bit + R 3.1.2(普通にインストーラで入れたもの)です。

↓ まず普通に(バイナリがある想定で)install.packages を実行すると、ソースしかないとメッセージが出て終わります。


↓ ソースからコンパイルするオプション type='source' を指定しても、なぜか失敗。


R 本体をソースから入れてやり直すことも考えましたが、先に Rtools を試したらコンパイルできました。まず Building R for Windows から Rtools31.exe をダウンロードします。


↓ インストーラを起動し、順番に進みます。若干のオプション設定があります。




↓ コンポーネントの選択。今回はパッケージをコンパイルするだけなので package authoring installation に。R 本体の場合は Extras to build …も必要です。


↓ パスとレジストリが最後の設定。今回は外して進みました。





これでインストール完了。Rtools はアプリでなくコンパイラはじめ各種コマンドラインツールの集合なので、スタートメニューには何も追加されません。

先ほど install.packages で失敗した際、RSVGTipsDevice のソースが ↓ こんな感じで一時フォルダに保存されているので(場所は環境次第)、これを使います。


方法はいろいろありますが、今回はソースと同じ場所にバッチファイル ↓ を作って実行しました。バッチの内容は、パスを通して R でソースからインストールするだけ。

@ECHO OFF
SET PATH=C:\R\3.1.2\bin\i386;C:\Rtools\bin;C:\Rtools\gcc-4.6.3\bin
R CMD INSTALL --build RSVGTipsDevice_1.0-4.tar.gz
PAUSE



最後に DONE と出たので、パッケージがインストールできました。順序が前後しますが Rtools にパスを通さず実行すると ↓ 冒頭でコンソールで失敗したのと同じエラーになります。


以上で準備完了。R のコンソールを起動し(先ほどから開いたままの場合、いったん閉じて起動し直して)簡単なテスト ↓ を実行します。

# 標準の svg 関数で出力
svg('R:/test_svg.svg'); plot(runif(99)); dev.off()

# RSVGTipsDevice パッケージで出力
library(RSVGTipsDevice)
devSVGTips('R:/test_devSVGTips.svg'); plot(runif(99)); dev.off()


↓ 1枚目が標準の svg 関数、2枚目が RSVGTipsDevice パッケージの devSVGTips 関数で出力した SVG。ともに Chrome で開き 50% 縮小表示しています。画像をクリックすると SVG 本体が開きます。RSVGTipsDevice の方は、マウスカーソルにツールチップが追従して表示されます(パッケージ名の Tips はこのこと)



ツールチップだけでなくサイズや余白など、標準の svg 関数と RSVGTipsDevice パッケージでは多くの違いがあります。詳しくは R-SVG.org2014/10/01 の記事を参照。とりあえず Windows に RSVGTipsDevice パッケージを入れるまでの経過でした。


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。