RGtk2によるRのGUI環境―DFBrowser ベータ版リリース

現在はDFBrowserの開発は凍結し,より高度なデータ管理機能を備えたmemiscGUIパッケージを開発しています。詳細はこちら

文系ユーザーにRを進めるうえで最も障害になるのは,RのGUIの弱さです。

弱いといってもデフォルトでGUI環境がついてくる言語なんてほとんどないのでその意味では充実しているのですが,SPSS,Stataなど社会科学でメジャーな統計解析パッケージとは比較にもなりません。

Rにはプログラミング言語としての側面と統計解析環境としての側面がありますが,統計解析環境としての機能は(個々の関数はともかく)ほとんどありません。

そろそろ書くのがめんどくさくなってきましたが,「なければ作れ」,という天の声が聞こえてきたので作りました。

http://www.screentoaster.com/watch/stWEtdS0BIR19aRl5cXlJeVlRS/dfbrowser_demo

たどたどしいデモですみません。目標は手軽さと柔軟さの融合です。ちなみにデモで用いているデータはhttp://www.spss.co.jp/support/sample.htmlのものです。

インストール

いまとのころ全ての動作を確認できているのはWindowsだけです。Linuxでも一応動きましたが,ところどころ変な動きをします。以降はWindowsでの話です。他のプラットフォームについてはコメントやtwitterhttp://twitter.com/phosphor_m)で問い合わせてください。ただし答えられるとは限りません。

まず,RGtk2,Hmiscをインストールする必要があります。パッケージのインストールはすんなりいくと思いますが,RGtk2を動かすためにはGtk2の実行環境が必要です。library(RGtk2)で読み込むとエラーが出てGtk2の実行環境をインストールするかどうか聞かれるので,そのまま従ってインストールしてください。http://gladewin32.sourceforge.net/から自動的にダウンロードしてきてインストールできます。Gtk2の実行環境は公式含め複数ありますが,他の実行環境では僕はRGtk2を動かせなかったので,これを使っておくのが無難だと思います。

次に,そのままではパスが読み込まれていないので,再起動してください。ログアウトでも大丈夫かもしれませんが試してません。

library(RGtk2)で正しく読み込めることを確認したら,メニューバーからパッケージ>ローカルにあるzipファイルからの…を選んで下記から落としたDFBrowserのzipファイルをインストールしてください。あとはlibrary(DFBrowser)で読み込んだあとDFB()で起動できます。

DFBrowser.exeはおまけです。Rの実行ファイルにパスを通してDFBrowser.exeを起動すると,スタンドアロンでDFBrowserを使うことができます。ただ,実用的ではないと思います。

もう一つおまけがあって,DFB(highlight=TRUE)で起動すると,微妙にシンタックスハイライトがつきます。でもとても微妙です。そのうえキーを押し続けたりするとR本体を巻き込んで落ちるので,遊び以外では決して使わないでください。

使い方

エディタ周辺は,開く,保存,元に戻す(ctrl+z),やり直す(ctrl+y),実行(ctrl+r)しか機能がありません。オブジェクトブラウザはメニューバー(ツールバーではない)からリロードしないかぎり更新されません。version 1.3.6から,コード実行時に自動で更新されるようにしました。実行の仕組みとしては,選択したテキスト(もしくはカーソルのある行)にtextConnectionでつないで,コネクションをsourceで読み込んでcapture.outputで出力を取得という手順を取っています。そのような仕組みなので,デフォルトのGUIでは構文の途中で送っても続きを待ってくれますが,DFBrowserではエラーになります。この部分をデフォルトのGUIに近づけるうまい方法があったら,ぜひ教えてください。

DataFrame View(タブで開くやつ)はいちおうDFBrowserのメインです。いまのところSPSSのデータを前提に作っていますが,DataFrameなら特に制限無く読み込めます。data(iris)とでもしてツールバーの更新ボタンを押せば,irisが選択できるようになっていると思います。ここでは変数名,変数ラベルの書き換え,変数の削除ができます。変数名,変数ラベルをダブルクリックするとそれらを書き換えられます。行を右クリックすると変数を削除できます。これらの操作は全て大局的環境に反映されるので注意してください。行にカーソルを合わせたときに出るツールチップは行番号です。元のdata.frameでは列番号ということになります。あと,行をダブルクリックすると変数の概要が下に出ます。Hmiscのdescribeを使っています(Hmiscの関数はここにしか使ってません)。行の先頭のアイコンは変数のクラス(尺度)を表しています。折れ線がnumeric,組織図みたいなのがfactor,棒グラフがorderedです。Data Viewはいまのところただのおまけなので見ることしかできません。

右上の巻き戻しみたいなボタンを押すと分析メニューが出てきます。だいたいの使い方は動画でわかると思います。入力ボックスに関数名を入れてエンターキー(もしくは右のボタン)で関数のオプションの入力エリアが出ます。右端のボタンでは入力欄にある関数のヘルプが開きます。関数のオプションは左側にプールした変数から選ぶこともできますし,直接入力もできます。Formulaとして入力する場合(Formulate),変数プールで選択されているものが従属変数側に来ます。オプションを選択するか入力してエンターキーを押すと,スクリプトが下に出力されます。実は上の部分はスクリプト生成器にすぎないので,ここで自由に書き換えて実行できます。実行は下のボタンです。ここで変数への付値もできますが,スクリプトは関数の一時環境の中で実行されるので,<-のかわりに<<-を使って永続付値にする必要があります。

DFBrowserは内部版のときに一度全面的に書き直していますが,分析メニューだけ手つかずです。今後大幅に変わると思います。

ファイル(2010/2/11更新)

バージョン番号は,(メジャーバージョン).(マイナーバージョン).(細かい修正)となっています。奇数のマイナーバージョンはベータ版です。

Change Log

  • version 1.3.6
    • Importの拡充(Rバイナリ,csv等テキスト形式データに対応)
    • Editorタブでコードを実行した際にObject Viewerが自動で更新されるようにした
    • その他細かい修正

注意点

ベータ版です。自己責任で,テスト利用の目的のみで使うようにしてください。

名前募集

最初は純粋にdata frameの概要をみるだけのものだったんですが,機能を足していくうちにData Frame Browserの域を出てしまいました。いい名前ないでしょうか?

バグ報告,機能リクエスト歓迎

バグは優先的に直していきます。機能は基本的に自分の付けたいものから付けていきますが,リクエストも歓迎します。コメント,twitterでどうぞ。