Rでプログラムをしたことについての、所感。
Rで自分で関数を作ったのは初めてだったので、「ソートってどうやるんだよ」とか「実数部だけ取り出すにはどうしたらいいんだ」とか、「散布図にラベルを入れるのは?」といった、ごく初歩的なところに逐一つまづいたけれども、ありがたいことにネット上の資料でほとんど解決できた。ありがたい、は二つの意味があって、そういう解説サイトが多い、という意味と、Rがそもそも強力な関数群を保っている、という意味です。VB6で作っていたとき、まず複素数を使う型がなかったので、自分で構造体をつくって、関数を自前でつくって、とかなり面倒な所からはじめました。もちろん、固有値分解に至ってはもひとつ大変で、ウンウンうなって作ったものです。
「車輪の再発見をしてないか?」という標語を知るにあたって、確かにそうだ、利用できるものは利用しよう、と思った次第。一から作るのは、ユーザーフレンドリーにしたい、という思いがあってのことなんだけど、Rがここまで便利でここまで普及していると、ある程度作る側からユーザーに「こっちこいよ」と行っても許されるか、と思い始めたというのも、今回プログラムを作ろうと思うに至った次第。
RはGUIで使うこともできるけど、基本はコマンドプロンプト。でも、インタプリタというか、対話型というか、一つ命令を入れたら、結果をすぐに返してくれるので、プログラムを書くときもトライアル&エラーの精神でもって、こうか、あぁか、あ、できた、イタダキ、という感じでやっても十分なのである。いちいちコンパイルせねばならない他言語に比べ、習熟するスピードはこっちの方が速いのではないか。実際、今回作ったプログラムも、作ったというよりまずやってみて、そのときのコマンド履歴をまとめた、というだけなのである。これは楽しいですよ。
アルゴリズムを知らなくても、一歩ずつ進んでいくことのおもしろさ、ってのを感じられるので、Rは本当にお薦めです。