実験データの解析はエクセルではなくRを使った方がその研究は成功する

日付;2022/04/20 (水)

なぜエクセルやGraphPad Prismが今も主流なのか

基礎医学や生物学の研究者は未だマイクロソフトのエクセルを使っている者がほとんどでは無いかと思う。その理由は、これらの分野での主な実験は、ある遺伝子をノックアウトしたり、逆にその遺伝子発現を増やしたり、その結果として起こる生物学的な変化を観察したりして、その分子が関連するメカニズムを解明することであり、極端な話、簡単な棒グラフや折れ線グラフ以外必要ないためだ。これまでそのような状況だったので現時点(2022年4月)では多くの生物学の研究室のPI(Principal Investigator; PI)は、Rなどを使った解析への心得はなく、むしろ苦手と思っている。そして、そんな中育ってしまったウェットを主な仕事とする生物学系の学生や研究者は、エクセルや他のソフトとしてGraphPad Prism(世界標準)やKaleidagraph(日本人のとある分野の者)などを一生使うことが多い

しかし、個人的には、エクセルやGraphPad Prismを基礎医学、生物学の研究で使うのはもはや時代錯誤になってきていると思う。さらに悪いことに、エクセルやGraphPad Prismなどは、統計の知識がゼロでも統計解析ができてしまうという欠点がある。さらにエクセルに至ってはテーブルのフォーマットが自由すぎでそのテーブルを作った本人(このひとたちは当然、データベースで使われるようなテーブルのフォーマットに関する知識などあるはずもない)にしか読めないという再現性にとって最悪な特徴さえある。なので、このご時世、基礎医学、生物学研究でしっかりしたデータを得ようとするならば、RやSASを使って解析をするべきだろうと個人的には思っている。

ここでは、そう思う理由を述べたいと思う。自分は今は解析では主にRを使っているので、以降はRについて述べる。

Rを使い始めた理由

自分は修士課程のときからRとSASの利用を始めた。最初はSASを使い出した。修士課程で在籍した研究室は、自分の卒業研究の他に臨床研究の解析を手伝わされており、その臨床研究でSASを使っていた。そのころは、こういったコンピューター解析なんかロクにやったことがなく、エクセルを使ってグラフを描く、くらいのものだった。しかし、修士課程のときの自分の研究テーマでは、コロニー形成法によるがん細胞の生存率を測定する必要があり、さらにその解析では、ある特殊なモデルにフィッティングする必要があった。しかも、それを適切に行うためには非線形回帰を使う必要がある。これをエクセルで正確に計算するのは難しいのではないだろうか。色々勉強した挙げ句、そのような非線形回帰曲線にはLevenberg-Marquardt法というヤツを使えば、上手いことフィッティングできるということを知った。

実際にはその研究室はKaleidagraphというソフトがインストールされたiMacがあり、そのiMacを起動させて、そのソフトを使えば特に問題なく解析ができた。しかし、そのiMacは1998年のヤツで、すごく古く、正直に言って使いたくなかった。

そこで、SASには臨床研究の解析の手伝いで慣れていたし、研究室にSASのマニュアルがあったという理由で、まずはSASを使った。当然、数値解析は完璧にできる。さすがSASというところである。ちなみに当時は臨床研究で統計が必要ならばSASを使っておけば間違いはない、という感じだったと思う。しかし、当時は、確か年間ライセンスで研究室あたり100万円くらいしたのを覚えている。こんな高級はソフトなので、沢山使ってやろうと思ったのが動機だったと思う。今ではSAS University Editionというフリー版があると思う。

しかしこのSASというソフトは、グラフィックが良くない。ということで、次に目をつけたのが、無料で利用できるRだった。しかし、RでLevenberg-Marquardt法(minpack.lmというライブラリ)というヤツを使おうとすると、けっこうちゃんとしたRの知識が必要だったりするので、その当時の自分は挫折してしまった。その代わりに使ったのがGnuplotだった。このGnuplotは無料のグラフ作成ソフトであり、なぜかフィッティングの結果がすごく正確である。今でもIC50などの計算で正確な数字が必要なときはRを使って各パラメータの初期値を探し、Gnuplotで正確に計算する、ということをやっている。

RによるLevenberg-Marquardt法はほぼ挫折した(今ではちゃんと使えている)が、色々やっているうちにT検定、中央値検定、分散分析がエクセルなんかの比べ物にならないくらい良い事に気づき、Rを実験結果の統計解析に使いだした。

基礎医学・生物学研究でのRの利用が理解されてきた

10年くらい前は、医学、生物学の分野でRを統計解析のソフトとして使用するのは、一般的ではなかったと思う。実際、自分は学生だったころ論文のMaterials and Methodsに「統計ソフトとしてRを使った」という表記は全くとして良いほど見かけなかった。この理由の一つに、もしかしたら医学系の体質とも言える事があるかも知れない。例えば、当時臨床研究でRを使ったといえばどんな反応が帰ってきただろう。論文の査読のときには 「Rは臨床データの統計解析では一般的ではないし、信頼性も乏しい」だとか言われるかも知れないし、これを修士のときの研究室の教授に話たら「Rなんて怪しいもの使うな。SASを使え。」とか言われそうである。実際、その当時の臨床研究の統計解析は、SASかSPSSのソフトが広く使われていた。「使った計算はSASとかSPSSとかと同じですよ??」とか言うても、聞いてくれなかっただろう。修士の時、自分は無料ゆえのRの便利さに気がついてしまっていたので、こららを全く理解できなかったことを覚えている。

しかし、今ではRを研究の統計解析に使用しても文句を言うヤツなんかいない。居たら見てみたいものだし、そんな研究室は早く潰れたほうが世のためである。現在では、DNA-seqやRNA-seqの解析ではRはほぼ必須であり、RNA-seqの解析ではなく、単に統計解析だけで使ったとしてもそれで問題ないであろうと思う。Rはもはや世界中で使用されており、実際に使用している論文だって多いためである。むしろすべての統計解析をRを用いて行っている方が論文のレビューをしやすくて良いのではないだろうか。逆に、例えばSPSSのとかGraphPad Prismとかの、すごく怪しい検定方法を2群の比較に使ってきたらこちらのほうがレビューアーに指摘されるだろう。実際にレビューをしていると腹立つくらいデタラメな解析を行ってくる輩が多い。

統計は研究の発展に明らかに影響する

上述した通り、エクセルは統計ソフトでもグラフソフトではない。一応、何かよくわからん統計の機能は付いているようだが、研究を行っていく上では明らかに不十分である。検定統計量をいちいち各種関数を使って求めてからp値を計算するのだろうか。そんな時間はないし、計算のチェックが面倒くさい。計算が間違っていたら、将来的に非常に面倒くさい。第一種の過誤を大々的に採用してしまい、それを元に次の大きな実験をやってしまったりしたら、最悪である。また、作図だってこの上なく貧弱で、基本的には科学論文のクオリティーのグラフは作成できない。例えば、棒グラフの上に各データ点をプロットしたり、ヒートマップなどを必要に応じて作図をすることができない。更にエクセルには、上述した通り、入力のフォーマットが自由するぎるという欠点もある。科学計算、というか、コンピュータに入力するデータのフォーマットは基本的にどんな場合でも整然としている必要がある。それを同じシートに沢山のテーブルを任意のフォーマットで並べられたら、ちゃんとラベルされていても解読にかなりの年月が必要だろう。エクセルは「表計算機能付きメモ帳」である。

GraphPad Prismはどうだろうか。これは統計としては悪くはないかもしれない(もちろん、良くはない)が、ごくごく小さなデータセットしか扱えないだろう。すなわち、大規模なデータ、TCGAのデータ、ゲノム、遺伝子発現プロファイルのデータは扱えないだろう。そしてそのような小さなデータセットであれば、RやPythonで簡単に、かつ、完璧に扱える。また、この手の科学ソフトには値段の問題がある。GraphPad Prismは永続ライセンスでは20万円位するし、年間のライセンスで5万以上とか、狂気の沙汰である。個人で買うにしても、その施設がボリュームライセンスを取得するにしても、同じソフトを別の組織に行ったときにに使えるかどうか怪しいし、最悪の場合、別の人がそのデータを解析もしくはチェックする必要になった場合、GraphPad Prismを購入しないと行けないなどの引き継ぎに関する問題もある。エクセルに引き継ぎに関する問題は無さそうに見えるが、エクセルは入力フォーマットが自由であり、多くの場合、入力した本人にしか解読不能であるため、やはり問題である。

さらに、GraphPad Prismなどでは個人的に嫌いな特徴が一つある。それは、どんな計算を使ってカーブフィッティングしているのかわからない事である。丸め誤差だってものすごく大きく、結果で表示されたパラメータの値をエクセルに入力して計算してみても、同じ結果にならないとか良くある。これで困るののは自分である。

基礎医学生物学の統計なんか高が知れている

基礎医学生物学の統計解析っていうのは、昔からある既存の方法を用いる。というか、そのような広く知られている統計手法を適切に用いることで、研究を進めていく必要がある。医学生物学研究では、そのような信頼性のおける研究手法に対して評価対象を落とし込んで解析する。逆に言うと、一般的ではないトリッキーな解析で結果を出しても、その解析が信頼できるもであることを示すために一苦労してしまうことになる。これはおそらく論文投稿のときにレビューアーから指摘を受けるだろうと思う。また、解析のアルゴリズムの開発などは、もはや統計学や解析学の分野になってしまい、医学生物学の範疇から外れてしまう。

既存の方法を用いるということは、統計解析自体にはそんなにアタマを使う必要がないということになる。簡単に言えば、同じようなデータ、例えば、2群の比較なら2群の検定、他群なら他群の検定までの流れを、そのデータの統計分布に合わせて使用すればよく、似たような解析を使っている以上データのフォーマット(表のフォーマット)はほとんど変わらないことになる。つまり、一度Rのコードを書いてしまえば、似たようなデータのフォーマットの場合は、そのコードを流用できる。これの良いところは、いつも同じフォーマットのグラフを、簡単に得られる点にある。結果として再現性はエクセルやGraphPad Prismより良いと思う。また、このような解析に使う統計なんて、ちょっとコードを変えるだけで簡単に変更できる。悪いところとしては、初めにちゃんとコードを書く必要があるが、どんなソフトにせよ統計解析にせよ、初めは勉強しなくてはならないのは同じことである。

まとめ

現在の基礎医学生物学研究では、Rは必要不可欠と言って良い。今ではDNA-seqやRNA-seqの解析ではRは必須であり、そのほかの統計解析についても多くの論文で採用されているので、医学生物学研究で利用可能である。論文を作成するのに十分なクオリティーの作図も可能である。Rのコードになれる必要があるが、医学生物学研究では一般的に広く知られている解析方法を採る必要があり、一度覚えれば似たような解析に簡単に対応できる。一方、エクセルや、GraphPad Prismのようなソフトウェアでは、大規模なデータ解析、データのフォーマット、データの引き継ぎや再解析、価格の面においてRに及ばない。また、採用されている統計解析方法も非常にあやしい場合も多く、特にエクセルでは統計解析だけでなく作図の機能も論文投稿のためには不十分である。

言いたいこと

ということで、今後、自分のキャリアで使ってきたRのコードについて書いていこうと思う。この記事はそれを行うためのイントロダクションみたいなもんである。