統計解析言語Rを使って対話型のプログラムを作成できる

※アーカイブの成果情報は、発表されてから年数が経っており、情報が古くなっております。
同一分野の研究については、なるべく新しい情報を検索ください。

要約

Rで対話型のプログラムを作成する方法を簡便にまとめた。Rの画面の使い方とプログラムの構造を工夫することによって対話形式で実行するためのプログラムを作成でき、Rに不慣れな利用者でも簡単にプログラムを実行できるようになる。

  • キーワード:R、グラフ化、対話型プログラム、統計計算
  • 担当:中央農研・データマイニング研究チーム
  • 代表連絡先:電話029-838-8948
  • 区分:共通基盤・情報研究
  • 分類:研究・参考

背景・ねらい

フリーウエアの統計解析言語Rは、最新の高度な統計手法のための豊富な機能がライブラリで用意され、統計計算や結果のグラフ化を手軽に実行するための手段として世界中で急速に普及しつつあり、研究者向けの統計研修でも用いられることが多い。しかし、Rを使って高度な統計計算や複雑なグラフ化を行うためにはコマンドの入力やプログラムの作成を行わなければならず、そうした作業に不慣れな利用者には使いにくい。そこで、Rの高度な機能をRに不慣れな利用者にも簡単に利用してもらえるように、Rを使って対話型のプログラムを作成する方法を提案する。

成果の内容・特徴

  • Rにおけるコンソール画面(図1の左側)で数値や文字の入力する。グラフィックス画面(図1の右側)では、グラフを描く、ボタンを描く、どの位置でマウスがクリックされたかを検出し、位置に応じた処理を行う。これらを実行するためのRプログラムをサンプルとして公開している。
  • それぞれの作業を1つのサブルーチンに担当させる。サブルーチンの進行にあたっては間違いの訂正などのために以前に実行したサブルーチンに戻るときにも新たなサブルーチンを起動する手順をとる(図2)。このため以前の状態を気にすることなく、見通しの良いプログラムとなる。サブルーチンの深さはどんどん深くなるが、最後に強制終了させることによってプログラムを停止する。その際にエラーメッセージが表示されないように指定する(opt<-options(show.error.messages=FALSE) on.exit(options(opt)) stop()を用いる)。
  • データファイルを選択する際には、Rに標準で所収されている機能を用いる(図3)。
  • 得られた結果をグラフに表示することができる(図4)。数値を出力して、より詳細なグラフを描いたり、別の統計計算において利用したりすることもできる。

成果の活用面・留意点

  • Rは無償で利用できWindowsで利用できるため、本手法で作成したプログラムを作成することにより、Rの高度な統計機能を使った処理が農業現場でも行える。
  • Rは頻繁にバージョンが更新され、機能や使い方が変わるので、対話型のプログラムを作成して配布するときにはどのバージョンを使ったかを明記する必要がある。
  • 大きいディスプレイの利用を前提にして画面構成を設計すると、ディスプレイが小さいパソコンでは利用できなくなる。
  • この技法を使った簡単なサンプルプログラムがhttp://cse.naro.affrc.go.jp/takezawa/taiwa.txtで公開されている
  • この技法のより詳しい内容については担当者に問い合わせる。

具体的データ

図1 メニュー画面の例 左がコンソール画面 右がグラフィックス画面(画面を最前列に配置するためにbringToTop()を用いる)

図2 作業の進行に伴ってサブルーチンが深化していく様子(作業が中断しないようにtyr()を多く用いる)

図3 用いるファイルを選択するときの画面(file.choose()を用いる)

図4 計算結果のグラフ表示(上下の2つの機能を持たせるためにpar(mfrow = c(2, 1))を用いる)

その他

  • 研究課題名:多様かつ不斉一なデータの融合によるデータマイニング技術の開発
  • 課題ID:222-c
  • 予算区分:基盤研究費
  • 研究期間:2006-2010年度
  • 研究担当者:竹澤邦夫
  • 発表論文等:竹澤邦夫(2008) RによるノンパラメトリックDVR法プログラム、
                       職務作成プログラム 機構登録番号機構-A15竹澤邦夫(2008) システム農学 24(4):263-269.