医学生がプログラミング言語Rを学ぶ3つのメリット!データ解析の眼を養おう!

アイキャッチ画像(med-students-programming-r)

ブログ開設以来やたらとブログ作成に関する記事ばかりを書いていますが、一応私(mcmrc)は卒業したての元医学生です。そこでたまには元医学生らしく、医学生に向けたIT関連の記事を書いてみることにしました。

この記事では医学生が学ぶべきただ一つのプログラミング言語、Rについてご紹介します。


プログラミングよりもIT全般について学ぶ方が遥かに有意義

まず大前提ですが、私は医学生にプログラミング学習は不要という考えを持っています。正確に言うと、プログラミングを学ぶ暇があったらその前にIT全般について広く学ぶ方が有用であるという考えです。詳しくはこちらの記事に書いているので、よろしければお読みください。

ただこの意見が納得できないという医学生もいるかと思いますので、簡単な例えを考えてみました。

プログラミング言語は抗菌薬

プログラミング言語を抗菌薬と考えてみてください。例えば何か特定の言語の勉強をするということは、スペクトラムやDe-escalationといった基本的な概念を何も知らずにバンコマイシンの使い方をひたすら勉強するようなものです。

運よく(?)患者さんがグラム陽性菌に感染していれば治療できますが、その他の菌やバンコマイシン耐性腸球菌に感染していた場合はお手上げになります。

またバンコマイシンについてしか学んでいないので、起因菌特定のための血液培養や、標準予防策といった概念も欠落しているかもしれません。もはやこれでは医師ではなく、ただのバンコマイシン投与botです。


医師はプログラミング技術でなく、ITという概念を学ぶべし

餅は餅屋といいますが、プログラミングの仕事も専門家に任せる方が効率的です。しかしあまりにもITの知識が欠如していると専門家に相談することすらままなりません。

個々の抗菌薬(プログラミング言語)の細かい情報を覚えるよりも、感染症内科(ITの専門家)にコンサルできるような知識(IT全般の基本概念)を身に着けることを優先すべきだと私は思います。

Pythonで画像解析ができるだけの医師と、プログラミングは全くできないけれどもネットワークやセキュリティ、保守といったITの基本概念は押さえている医師……医学生としてどちらを目指したいかをよく考えてほしいと思います。

Rは全医学生が学ぶ価値がある

R logo

The R logo is © 2016 The R Foundation.

散々プログラミング学習は後回しといっておきながら、これから紹介するプログラミング言語Rに関しては全ての医学生が学んでおくべきだと私は考えています。

Rはデータ解析に特化したプログラミング言語です。紛らわしいですがその開発実行環境(ソフトウェア)もまたRと呼ばれています。医師のキャリアパスを考えると、人生のどこかで一度は大学院に行く機会があるかもしれません。基礎・臨床・疫学研究どれをとっても避けられないのが、データ解析です。Rを学んでおくと、高度な解析を簡単に行うことが可能になります。

またRを学習する過程でデータ解析に関する基本的な概念、つまりデータを見る眼を修得することも可能です。このプロセスは将来研究を行わない医師にとっても非常に有用であると私は思います。

この記事ではRの魅力を3つの観点からご紹介します。

(1)無料

R(ソフトウェア)はフリーウェアなので、誰でもいつでも無料ですぐに使用することができます。でも医学生ですでに研究室に所属している方の中には「私の研究室ではSPSSを使っているから、わざわざ無料のものは必要ないな……」と思う方もいるかもしれません。

無料というと「自分がタダで使える」ということに注目しがちですが、真に注目すべきは「他の人もタダで使える」という点です。共同研究先がSPSSを使っていない場合、解析の共有はどうすればよいでしょうか? 高額なSPSSと違い、Rであれば何の気兼ねもなくインストールが可能なので、簡単に解析を共有することが可能です。

(2)とっつきやすい

プログラミング言語を初めて学ぶ際の最大の壁は「意味の分からなさ」です。大抵のプログラミング学習はまず"Hello, World!"と画面に表示させることから始まります。そのあとは変数の定義や四則演算、条件分岐、繰り返し処理などなど基本的な流れというものがあり、体系的に学習は進んでいくのですが、あるとき突然我に返って「これが何の役に立つんだ?」と思ってしまうのです。

その点Rではサンプルデータセット(花の色や大きさなどの情報が含まれるIrisが有名)が用意されており、いきなりデータ解析を体験することが可能なので、「プログラミングが実生活でどう役立つか」をすぐに感じることができます。

(3)データ解析用のライブラリが豊富

Rにはデータ解析用のライブラリ(道具)が豊富です。例えばデータをヒストグラムで表示したり、データの個数を数えたり、統計検定をしたりといったことがちょっとしたコードで可能です。

画像の可視化のためのライブラリも豊富なので、以下のように疫学データをマッピングした世界地図を表示することも簡単にできます(私が以前実際に作成したものです)。

Rで疫学データを可視化

Rとデータ解析を合わせて学ぶ

Rは人気のプログラミング言語なので、教材が豊富にあります。しかしそのほとんどは具体的な手法にフォーカスしたものとなっています。つまりデータ解析の基本的な手順は頭の中に入っていることを前提としているのです。

データ解析においても抗菌薬の例えが言えて、個々の手法よりもまず全体的な概念を押さえる必要があります。

例えば以下のような表があったとします。男女で海好きと山好きの傾向に差があるかという有名な例ですね。統計をかじったことがある人であれば、カイ二乗検定をしたくなるのではないでしょうか。

海の方が好き 山の方が好き
男子 1 29
女子 7 23

でも実はこの表ではカイ二乗検定は適用できないので、正しくはフィッシャーの正確格率検定を行う必要があるのです。

残念ながらRだけをひたすら勉強しても、データ解析ができるようにはなりません。カイ二乗検定やフィッシャーの正確格率検定のような検定の書き方を知っていても、いつそれを使えばよいのかまでは分からないからです。

そこでこの記事では、Rとデータ解析の基礎を同時に学ぶことができるおすすめ教材、edXをご紹介します。

edXとは

edX logo

EdX is a registered trademark of edX Inc. All Rights Reserved.

edXはMITなどアメリカの大学が中心となり提供している、オンライン学習プラットフォームです。歴史や文学、量子力学、生物学など多様な講座の動画講義を無料で受講することができるという、太っ腹のサービスです。

Rのコースだけでも複数あるのですが、私のおすすめは「Statistics and R」です。こちらはハーバード大学が提供するR初心者のためのコースで、Rのインストール方法から解説が始まります。

Rにおけるデータの読み込み・整形を学んだあと、確率分布や中心極限定理、t検定やp値などの意味について、実際に自分で手を動かしながら学ぶことができます。コースは全て英語ですが、動画の低速再生や字幕の表示が可能なためぜひ試してみてください。

ちなみにedXには専用アプリもありますが、あまり使い勝手が良くないのでパソコンのブラウザからアクセスすると良いでしょう。

まとめ

データ解析のいろはを理解している人にとってRはとても強い武器となります。しかし医学生という立場上、データ解析のコンセプトを学ぶ機会は限られているのが実情です。

edXはRの基本的な使い方とデータ解析の心得を並行して教えてくれる素晴らしいサービスなので、ぜひ試していただければと思います。