理論生態学におけるプログラミング

プログラミング

なぜ必要なのか、なにをつかうのか

Why need?

理論生態学では数式を扱って個体群や個体の振る舞いを考える。数式を書くのには極論、鉛筆と紙だけでもできるけどそれでは難しいこともある。例えば立式した式をグラフにしたいとき、シミュレーションしたいとき、数値的に計算したいときなど。

コンピュータの力を借りないとできないことや借りたほうが遥かに楽な作業は多くあるのである。そこである程度はできるようにしておきたいということ。

What use?

では具体的にはなんのプログラミング、ソフトを使えばいいのだろうか。

21世紀の現在には多くのプログラミング言語がある。そのなかで用途別に適したものは何だろうか。なおプログラミング言語は多くの機能があり一つの言語で色々なことを行うことが可能であるがあまりおすすめしない。プログラミング言語にも種類があり得意分野は違うのだから。多くの言語を使うのはそれだけ学習コストが多いと感じるかもしれないが一つの言語ができれば2つ目の言語を習得するのは楽になる。それに色々な言語に触れたほうが色々な考え方、思想を学ぶことができる。

なお以下には管理人の思想としてオープンソースであることと自由に何でもできることが優先されています。また基本的に無料のものです。

統計解析

これはまあRでいいんじゃないですかね。理論生態学でも実験データなどを扱うことはありそれの解析の際に必要になる。Rは統計解析に強く自分でコードを書かなくとも多くの統計解析のパッケージが準備されている。生物系ではよく使われており情報も多くプログラミング言語の中ではかなりとっつきやすい部類です。

グラフ作成

これもまあRでいいんじゃないですかね。統計解析したデータをそのままグラフにできるので便利です。標準偏差などを反映させられます。グラフ作成においてできないことはほとんどありません。コードさえちゃんとかけていれば思い通りのグラフが作れます。Excelでのグラフ作成はやめようね。くそださい

このサイトのグラフもほとんどがRでつくられています。

シミュレーション

これが一番問題です。人それぞれの好みがすごくでます。Java,Go,Python,R,Perl etc… 自分の好きなものを使えばいいと思います。プログラミングの勉強をしていく中でこの言語の考え方いいなあみたいなのが見つかったりこの言語使いやすいよなみたいなのがでてきたらそれを使えばいいんじゃないでしょうか。私はいまだに迷走中です。

計算ソフト

自分で微分方程式を解くのが好きな人は鉛筆と紙を使ってください。私は天才ではないしそこまで計算が速くもないので計算ソフトのお世話になります。いまのところMathematicaをつかっています。計算ソフトの選択肢自体、そこまで多くないのでよくわからなければMathematicaをつかえばいいんじゃないでしょうか。ただし有料であるため所属組織が契約してくれてないと少し考えものです。

最後に…

とりあえずRとなにかもう一つプログラミング言語を触ってみるのがいいかと思います。とにかくなんでもいいので。一つやると2つ目はかなり楽になります。その調子で色々触っていきたいですね。

コメント

タイトルとURLをコピーしました