R

実験で出た大量のデータを処理するのにRというソフトを使っている。ただの[R]でウェブ検索するだけで大量の情報が得られると思う。
Rとは平たく言えば、統計を行う為の環境だ。ただ、計算やグラフ表示などの機能が強力なので、数値計算などにも応用が可能だ。
それを実験データの処理に使ってしまおうというわけだ。
通常は、センサから吐き出された信号をアンプで電圧なりに変換し、それをパソコンで物理量に変換した後、cvs形式で保存する。従来はそれをエクセルで開き、ちまちまと繰り返し計算するということをしていた。でも、例えば、1秒間に1000サンプルから10000サンプルの5種類のデータを取り込み、それぞれのデータポイントでしかるべき演算を行う必要があり、そう言うファイルが一回の測定で50ファイル発生したりすると、実質的に解析自体が不可能になる。
もちろん、記録時にある程度の演算を済ませておく方法もあるが、あまり余計な仕事をさせると処理が追いつかず、サンプリング数を稼げなくなったりするのだ。
で、その大量のファイルをRがいとも簡単に処理してしまう。
例えば、6信号ある各信号を1kサンプル/秒で1秒間の測定を50回行い、ファイル1の3列と4列、5列目と6列目のxyプロットを作成し、それをpdfファイルに吐き出すなんてことをするとする。測定はさておき、ファイルの処理だが、Rを使うと、50ファイルを読み込み、100枚のxyプロットを得た後、それをpdfファイルにするという作業がものの数秒で完了してしまう。最初実行したときはあまりの速さに、エラーが出てるんじゃないのかと思ったが、きちんと100個のグラフがpdfとして記録されていた。
Rはコマンドベースの環境なので、慣れるまではエクセルよりも不便だと感じる。でも、ある程度慣れてしまえば、エクセルよりも遥かに便利な場合が多い。例えば、一連の計算をさせておいて、その途中の変数の散布図をちょいと見たいという場合なんかはplot(df1[,3])などと打ち込むだけでいい。便利か〜?って思うけど、例えば、5個目のファイルで同じグラフを描いてみようと思ったら、さっきのコマンドの1の部分を5に変えるだけだ。操作としてはカーソルキーを一発押して履歴を表示した後に1を5に書き換えればいい。これをエクセルでやろうとしたら、いちいちファイルを開き、しかるべきところを指定して、グラフ書いてちょとしなくてはならない。もちろん、エクセルにはエクセルならではのメリットがないわけでもないが、Rの方が優れた点が多い。Rの場合は、一度、データフレームなりなんなりにデータを入れ込んでしまえば、エクセルでいうところのファイルが全部開いている状態として作業が可能なのだ。
こういう作業はあまりなじみがないし、まだ始めたばかりで、全然使いこなせていないが、とりあえず、大量のファイルを読み込み実験のデータの簡単な解析をする所まではなんとかできた。基礎を学び始めてからはちょっと時間が経っているが、今回のコードを書いたのは実質1日だ。たった数十行のコードなので、慣れた人ならものの30分で仕上げてしまうだろう。
まだ、Rのほんの入り口をかじっただけだが、そのおもしろさは体験させてもらった気がする。
これがフリーウェアなんだから、いい時代になったものだ。
ちなみに、OS XのRもある。インストールはインストーラがやってくれるし、インストール後は通常のアプリとして扱えばよい(ターミナルとかでの作業は不要)。