2. 統計処理言語Rについて

三浦(医療情報技師)

はじめに

今回は、統計処理のためのフリーソフトR言語について紹介します。 皆様はR言語を利用したことはありますでしょうか? フリーソフトですがとても強力なソフトです。

R言語のプロジェクトの様子は、ホームページ(https://www.r-project.org/)に詳しく掲載されています。全世界の研究者が各種のライブラリーを開発してアップロードしています。ここ10数年にわたってかなりの勢いで進化しているソフトウェアです。

私どもは、健康・医療データの解析の仕事を行っているため、様々な統計処理言語を利用します。ときどき、お客様のところで私どもと同じ処理をしたいというご要望があり、開発したものをRのスクリプトに書き換えて、結果を検証して、処理結果とともにRのスクリプトも納品することがあります。

また処理するデータが大量にあるため「R言語で作成したプログラムをC言語等で書き換えて高速化して欲しい」と言ったご要望もいただくことが増えてきました(場合によりますが、今までの実績では50倍ぐらい高速になっています)。

R言語の歴史

R言語は、AT&Tベル研究所の研究者が開発した統計処理言語Sの仕様を踏襲しています。 スクリプトの処理機能をもつ中心となるソフトウェア部分(これをエンジンと呼ぶ)を、オークランド大学の2人の研究者が開発しました。90年代後半の話です。

ふたりともお名前がRで始まる人(RobertさんとRossさん)だったので、S言語のように一文字で名称を決めてR言語と名付けられたそうです。確率・統計関連の処理は、現在もどんどん新しい方法が開発されています。これらが、どんどんRのライブラリーとして登録されています。ちなみに、2010年8月末時点で2,437個のライブラリーが登録されていました。

これらには純粋な統計処理だけではなく、化学関連の反応定数や様々な計測機器からのデータ処理、例えば、質量分析装置からのデータ処理や、DNAの配列解析支援など様々なライブラリーが含まれています。 日本語の資料はやや少ないですが、ライブラリーを探せばほぼ目的の処理にあったライブラリーが見つかります。 日本からも様々な分野の先生方が開発したプログラム群がライブラリーとして登録されています。

R言語の簡単な紹介

R言語はテキストラインで入力するタイプのソフトウェアです(これをCUI:Charactor User Interfaceと呼びます)。 ですので、見た目はちょっと古い感じがします。 しかし、使ってみるとわかるように、結果がグラフィカルに出力できるので、論文などにそれらの結果を取り込めて便利です。

R言語の紹介ページの最初に「R is a language and environment for statistical computing and graphics.」と紹介されているとおり、統計処理とグラフィカルな出力がこのソフトの売りです。 GUIでなくCUIは古臭いですが、それなりの結果を得ることができます。 弊社のこのホームページでプログラミングの詳しい紹介をすることはできませんが、下記のホームページや書籍が役に立ちます。

もし、プログラミングが面倒でしたら、まずは私どもにご連絡ください。専門のものがベースとなるものを作成して、処理を行って複数の手段で妥当性を検討し、結果をご報告します。 それらを参考にどんどん新しく作り替える方が、立ち上がり部分を飛躍的に効率アップできると思います。

R言語の良さと注意点

とても便利で、無料なのがとても良い点ですが、注意も必要です。長所と短所をまとめておきましょう。

  • 無料で使用できる
  • 様々な解析ツールのライブラリが登録されている
  • 処理結果のグラフ等をPDFファイルや各種画像形式で保存できる
  • 各ライブラリーに論文名が記載されている
  • データもソフトの中に含まれているのですぐに試してみることができる
  • スクリプトのサンプルがほとんどのヘルプファイルに記載されている
  • 新しいライブラリーもインターネットに接続されていれば、すぐにリストから選択して取り込むことができる
  • Windows、Mac、Linuxいずれのプラットフォームでも利用出来る

といったことが挙げられます。データ付きですから、サンプルスクリプトを参考に動かしてみて、その動きを理解することができます。さらにデータを自分のデータに置き換えて、それにあったスクリプトに部分修正を行ないます。そういう意味で、プログラミングと言うよりも、「他人のスクリプトを借りて修正して使う」という感覚のソフトウェアです。


この素晴らしいRを使うためには多少の注意も必要です。続いて短所をあげましょう。

  • 文字入力のインターフェイス(CUI)であるため、なれるまで少し時間がかかる
  • 同一目的のライブラリーが複数あるため、自分の利用目的で最良のものが分かりにくい
  • 個人の責任で利用するのが原則のため、利用したライブラリーにバグなどがないかどうか、複数の手段で検証する必要がある
  • データ量が多い場合には、処理速度が遅いと感じることもある

バイオインフォマティクス・ツールとして

Bioconductorというバイオインフォマティクス関連のツールを作っているプロジェクトがあります。

これらには、DNAマイクロアレイの解析や次世代オートシーケンサからの配列解析支援、各遺伝子の働きを意味付ける(アノテーション)支援、フローサイトメトリー、定量PCR、質量分析装置、プロテオミクス関連のデータ解析支援ツールがまとめられています。部分的にこういったツールを利用することも全体の作業効率アップにつながります。

R言語の参考書

最近たくさんのR言語の書籍が発行されています。利用分野も多岐にわたっています。もっとも基本となる統計処理やテキストマイニング、時系列解析などに使えるおすすめの書籍としては、下記のような書籍があります。