おわりに

ver.0.4 (2025/3/18)

  • 文書を修正し、github pagesで公開しました。

この文書をどうするべきか、しばらく悩んでいました。著作権的にはちょっと怪しげな部分があり(helpで表示されるコードとほぼ同じ部分がある、文献は引用はしているはず)、収益性のあるようなものにはできず、自分が勤めている企業のために作成したものであるものの、企業のコンプライアンス的に企業名などを出すのは難しい、しかし自社には読んでくれる人がいない。間違いがあるのも気になるところで、このまま放置してもよかったのですが、せっかく作ったものですので、公開してみることにしました。

この文で収益をあげる意思は全くなく、できればこのテキストをきっかけに参考文献・教科書を購入してRコミュニティに貢献してくれる方が増えるとよいなと考えています。

PythonがRの役割をほぼこなせるようになり、Rの居場所はなくなっていくのかもしれません。しかし、過去のプログラミング言語もなんだかんだで生き残っているものが多いです。Rがしぶとく生き残るために少しでも貢献できるとうれしいです。

ver 0.3 (2024/10/19)

  • 33章(ネットワーク解析)を追加しました。 ― 34章(Rmarkdown・Quarto)を追加しました。
  • 35章(Shiny)を追加しました。
  • 全体を読み直し、修正しました。

ネットワーク解析、Rmarkdown・Quarto、Shinyの解説を書くのに4か月、はじめから読み直して文書やコードを修正するのに2か月かかりました。特にネットワーク解析は一から勉強したのでなかなか大変でした。文章のボリュームが多すぎて、一度読み通すだけでもなかなか大変です。一から学ぶような場合を除けば、興味のある部分から読み進めてもらった方がよいかもしれません。特に地理空間情報、ネットワーク解析、Shinyあたりは使う人・使わない人が大きく分かれる分野のように思います。

この教科書は元々社内教育のために作成し始めたものです。大分ボリュームも大きくなりましたが、社内には読んでくれる人がほぼいません。せっかく作ったものですので、オンラインで公開する準備を進めたいと思います。

2024年のノーベル化学賞・物理学賞にAI関連の技術が選ばれたように、AI開発が花盛りといったところです。AIについては不勉強でよくわからないのですが、基本的には言語モデルであると理解しています。どのAIもGithubなどを学習していると思うので、RのスクリプトもAIに聞けば教えてくれる時代になっていくのだと思います。そのうちAIが機械語を直接書き出すかもしれません。そうなるとAIのやっていることが完全にブラックボックスになってしまうので、未来は面白いことになりそうです。

将来的にAIで直接統計ができるようになるのは間違いないですが、もうしばらくは統計を行うためにRのスクリプトを教えてもらうような使い方が続くんじゃないかなと思います。また、秘密情報の関係でデータをAIに教えられない場合も多々あります。大企業であれば秘密情報を投げられるAIを契約できても、中小企業や個人経営者、大学の研究者などがそのような契約に大金を支払うのは難しいでしょう。

そもそもAIはとてつもなく計算力を食います。つまり全くエコではないので、大企業がエコを歌いながらAIを使い倒す、というのも何だか矛盾しているように思います。早く仕事も研究もAIにバトンタッチしたいところではありますが、そこらへんにいるヒトはArtificialではないですが、運動機能付きのIntelligenceです。精々2000 kcal/日ぐらいで動くIntelligenceであるヒトを使う方がエコなので、まだしばらくはヒトが働く時代が続くのでしょう。まあ、エネルギー面以外ではヒトは非エコですが…。

特に大学の研究者などは、分析をAI任せにはなかなかできません。データを説明可能にすることも研究者の役割の一つです。AIが吐き出してくれた統計のためのスクリプトを理解するために、しばらくはこのような教科書も有用なのではないかと思います。

ver 0.2(2024/4/14)

  • 31章(purrr)を追加しました。
  • 32章(地理空間情報)を追加しました。
  • 26章にspline回帰と加法モデルについての内容を追記しました。

一般化加法モデル(Generalized Additive Model)については名前は知っていたものの、内容がよくわかっていなかったため以前は記載していませんでした。教科書を読んでわかったことを簡単に表記しています。ただし、スクリプト上ではOzoneが正規分布していないのに正規分布しているようなモデルになっています。いずれ修正します。また、同様によくわかっていなかったpurrrと地理空間情報の取り扱いについても学習し、入門の内容程度のものをまとめました。正直purrrを活用しきれる気があまりしません。apply関数群ですらいまいち使えていないのに…。あと3章(ネットワーク解析、Quartoとrmarkdown、Shiny)ほど書いたらどこかにデプロイしようと思います。

ver 0.1(2024/2/19)

とりあえずRプログラミングの基礎、統計の基礎について最低限の内容は記載したので、公開することとします。内容には(特に統計に関わる24章以降は)間違いがあると思います。できれば手元に統計の教科書(少なくとも統計学入門(基礎統計学Ⅰ)(東京大学教養学部統計学教室 1991))を置いて、統計的な正しさを確認しながら読んでいただければ幸いです。

Rではここ10年ぐらいで様々なことができるようになりました。このテキストにはまだ記載していませんが、RmarkdownやQuartoといったライブラリを用いればhtmlやwordの文章を、Shinyというライブラリを用いればWebアプリケーションを、Plumberを用いればweb APIを作成することができ、やや「普通のプログラミング言語」に近づいた感じがあります。ただし、RStudioがPositという社名に変更になり、Pythonにも注力し始めたことから、Rが主要な統計プログラミング言語であり続けられるかどうかは微妙なところです。2010年ぐらいまではPythonは2.0から3.0への移行で躓いていたため、統計や機械学習をRで行うのはそれほど不自然ではありませんでしたが、2023年現在では機械学習はほぼPythonで行うものとなり、統計もかなりPythonでできることが増えています。Pythonは汎用言語であり、Rよりもずっと「何でもできる」言語です。RがPythonに立場を完全に奪われるのか、RはRなりに生き延びるのか微妙なところではありますが、このテキストがRを生き延びさせる一助になれば良いなあと考えております。

教科書を書いて思ったこととしては、我ながらRのことも統計のことも全くわかっていないということです。学べば学ぶほど、よくわからないことが増えるのはどの分野でも同じですが、Rと統計に関してはほとんど独学で、人に学んだ経験がほとんどないため、書けば書くほどよくわからなくなっていく感が強いです。自分の専門であった基礎生物学であれば、細胞の分子生物学を一冊読めばある程度の基礎はわかり、もっと専門的なことは論文を読んでおけば学習はできるのですが、統計は手法ごとに教科書があり、数学的なバックグラウンドを求められるため、なかなか学びを進めるのが難しいものです。

とはいえ、私が始めに統計を学んだときよりもわかりやすい教科書が増え、勉強がしやすくなったとは感じます。このテキストも入門としては必要最低限のところは抑えているつもりですが、できれば参考文献に記載した教科書や、Amazon等で検索し、教科書を数冊読んでみることをおススメします。このテキストを入口として、Rと統計を学ぶ人が増えればと感じます。