【最新】RStudioの使い方を勉強できる書籍セレクト – 入門・基礎から独学へ

RStudioをマスター!

 

プログラミング言語としてのRを始めようと思う場合RStuidioの動作の環境を知っておくとさらなる知識の理解を促せ、時間等も短縮できます。ここではRStudioの使い方がメインで書かれた書籍をご紹介します。

 

おすすめ書籍一覧
出典:出版社HP

 

目次 – はじめてのRStudio: エラーメッセージなんかこわくない

Rで分析前でつまずくところ

Rを使って分析したい!そのためには、RとRStudioを インストールし、Rマークダウンが使えるように準備する必要があります。ところが、この準備段階に意外な落とし穴があることに気づきます。それは、実に多様でやっかいな「エラー」です。「自分のパソコン上でRStudioを実際に使えるようになること」はそれほど簡単なことではありません。一度すんなりインストールいかなかった場合、エラーに度々出くわした時に是非本書の通りに進めて見ましょう。

はじめに

データサイエンスの分野でAIやビッグデータなどが注目されるなか、RやRStudioを使ったデータの解析書が数多く出版されています。また、RStudio上でデータ解析を実行する有益なツールとしてRマークダウンの活用方法に関する解説書が次々と出版されています。しかし、残念ながら「自分のパソコン上でRStudioを実際に使えるようになること」はそれほど簡単なことではありません。

本書はRStudio上でRマークダウンを使えるようになるまでの手引き書です。著者は複数の大学(大学院と学部)で計量分析に関する授業を担当しています。計量分析をするために、履修者はまず各自のノートパソコンにRとRStudioを インストールし、Rマークダウンが使えるように準備する必要があります。ところが、この準備段階に意外な落とし穴があることに気づきます。それは、実に多様でやっかいな「エラー」です。RStudioの設定プロセスでエラーが起きると、それ以上、先には進めず、お手上げ状態になってしまいます。大学院生のTeaching Assistantの助けを借りつつ、履修者が直面している多種多様なエラーを解決して全員がRマークダウンを使えるようになるまでに90分授業を2回分、ときには3回分も費やすことになります。

Twitterでは、実際にRやRStudioを使って計量分析を教え始めた大学の先生が、設定時に直面するエラーのために多くの時間と労力が要求されるとつぶやいています。「スムーズにRStudio上でRマークダウンを設定すること」は、RやRStudioを使って計量分析し始める人にとって、最優先で解決すべき課題だと思われます。これが本書を執筆した動機です。

たとえば、2018年に共立出版から出版された『再現可能性のすゝめ-RStudioによるデータ解析とレポート作成』という本ではRStudioやRマークダウンの有益な使い方を解説しています。しかし、問題はデータ解析を始めるスタート地点まで、なかなかたどり着けないということです。この点は意外と見落とされており、RStudio関連の解説書は「ユーザーは簡単にスタート地点にたどりつける」と過大評価しているように思われます。これはおそらく、既存のRやRStudioに関する本が対象としているのは、ある程度コンピューター・リテラシーが備わった理系の(あるいはそれに準じた)読者であることに由来しているからでしょう。特に、大学入試で数学を受験していない政治経済学部、経済学部、商学部、経営学部、文学部、法学部、そして社会学部など、いわゆる「文系」学部の学生がRやRStudioに「出会って」から実際に「使い始める」ようになるためには、さらに親切な手引き書が必要です。また、近年のスマホの普及により、フリック入力などに慣れている学生にとって、意外にもパソコンを使用するということはそれほど身近なことではなく、キーボードの操作はおろか、パソコンの基礎的な操作から教える必要のある学生も少なからず存在しているのが大学教育の現状です。

本書の目的は、RStudioの設定に費やす時間を最小限に抑え、いわゆる「文系」の学生が快適にRマークダウンを使い始めるまでの最短の方法を提供することです。本書の最大の「売り」は、実用性です。「必要は発明の母」といわれますが、まさに本書はRStudioを教える現場の必要性から生まれたものです。著者の浅野と中村は、早稲田大学、横浜市立大学、拓殖大学などで実証分析に関する授業やゼミナールを担当しており、そこで履修者が実際に直面した具体的なエラーをひとつひとつ解決してきました(実際には現在進行形で、解決しようと奮闘し続けています)。本書は、これらの授業で蓄積された多種多様なエラーを踏まえ、コンピューター設定において文系の学生が犯しがちな「ありがちな間違い」を示しながら、具体的な対処法を紹介することで「確実にRマークダウンを使える状態まで導く」方法を提供します。

2018年10月
浅野正彦・中村公亮

[1] Rはコマンドを入力して実行するフリーの統計ソフトウェアです。Rをより機能的・効果的に作動させるためにさまざまな統合開発環境(IDE:Integrated Development Environment)が日々開発されていますが、RStudioはその中でも最も人気のあるオープンソース・ソフトウェアであり、GitHub 上で日々絶え間なく開発され続けています。RマークダウンはRStudioを使って得られた分析結果を出力するツールです。目的に応じてHTMLやPDF, Word形式にも出力できます。

[2] 著者(浅野)が担当している授業は次のとおりです。「計量政治学 01,02,03」(早稲田大学政治経済学部)、「政治分析A」(早稲田大学社会科学部)、「社会調査法」、「Methods of Social Survey」(早稲田大学大学院アジア太平洋研究科),「実証政治学ゼミ」(拓殖大学政経学部)。また、著者(中村)がTAとして、「演習 II」(横浜市立大学国際総合科学部)を担当しています。

浅野 正彦 (著), 中村 公亮 (著)
出版社: オーム社 (2018/11/2)、出典:出版社HP

目次

はじめに
第I部 Rマークダウンのセットアップ1
第1章 RとRStudioのインストール
1.1R:Windows 10
1.2 R:Mac OS
1.3 RStudio: Windows 10
1.4 RStudio:Mac OS

第2章 R マークダウンのセットアップ
2.1 R 7-57929: Windows 10
2.1.1 プロジェクトの作成
2.1.2 Rマークダウンのインストール
2.1.3 エラーとその対処法
ここで起こり得るエラー (1)
ここで起こり得るエラー(2)
New R Markdown を使う
2.2 Rマークダウン: Mac OS
2.2.1 プロジェクトの作成
2.2.2 R マークダウンのインストール
2.3 チャンクの使い方
2.4 ショートカットの使い方
2.4.1 Insert のショートカット設定
2.4.2 Knit のショートカット設定
2.5 保存および出力方法
2.6 R プロジェクトの保存と終了方法.

第3章 R packages のセットアップ
3.1 インストール時の方法およびエラーとその対処法
3.1.1 パッケージのインストール.
3.1.2 インストールが失敗した場合の画面
3.1.3 想定されるエラーの原因とその解決策
3.2 ロード時の方法およびエラーとその対処法
3.2.1 パッケージのロード
3.2.2 ここで起こり得るエラー (1)
3.2.3 想定されるエラーの原因とその解決策
3.2.4 ここで起こり得るエラー(2)

第II部 Rマークダウンを使った分析とアウトプット
第4章 Rマークダウンを使った実際の分析事例
4.1 データ(CSV ファイル)の読み込み
4.1.1 CSV ファイルを取り込むためのプロセス
4.1.2 CSV ファイルのダウンロードと保存方法:Windows 10
4.1.3 CSV ファイルのダウンロードと保存方法:Mac OS
4.1.4 CSV ファイルの読み取り
4.2 記述統計
4.2.1 stargazer パッケージのインストール方法
4.2.2 想定されるエラーの原因とその解決策
4.2.3 stargazer パッケージのロード
4.3 データの可視化(Data Visualization)
4.3.1 Data Visualization (1):ヒストグラム
4.3.2 Data Visualization (2) :幹葉図
4.3.3 Data Visualization (3) :箱ひげ図
4.3.4 Data Visualization (4): 散布図
4.3.5 Data Visualization (5) :折れ線グラフ (1)
平均寿命の時系列データ(日本人)
平均寿命の時系列データ(日本人と中国人)
4.3.6 Data Visualization (6) :折れ線グラフ (2)
衆議院議員の得票率の折れ線グラフ
選挙別の政党データを分析する
4.4 回帰分析とその結果の解釈
4.5 モンティ・ホールのシミュレーション
4.6 Birthday Paradox

第5章 Rマークダウンを使ったレポート・論文作成
5.1 章の割り付け
5.2 脚注の挿入方法とボールドの指定方法
5.3 画像の挿入
5.4 文字のイタリック指定

補論 CSV ファイルへの変換方法
▶︎ .xlsx ファイルと .csv ファイルの違い
▶ .xlsx ファイルから.csv ファイルへの変換: Windows 10
▶ .xlsx ファイルから.csvファイルへの変換: Mac OS
あとがき
索引

浅野 正彦 (著), 中村 公亮 (著)
出版社: オーム社 (2018/11/2)、出典:出版社HP

目次 – RStudioではじめるRプログラミング入門

RStudioも学びながらのスタンダードテキスト

RまたはRstudioについても,ウェブでの解説も探せばでてきますが、利用するのがはじめての場合,このような書籍を1冊もっていても損はないかと思います。また付録でこれらのフリーツールの概要,ダウンロード,インストールとの順序でせつ説明されております。

もちろん既にプログラム経験者,あるいはEmacsなどの他のテキストエディタを使いたい人などには,RStudioを第一番にお勧めできるわけではありませんが,1つのウィンドウ上でプログラムを書き込むテキストエディタ,グラフビューワー,コンソールと様々な機能が使える点でRstudioは優れており,慣れてくれば,より使いやすくなってくるかと思います。

Garrett Grolemund (著), 大橋 真也 (監修), 長尾 高弘 (翻訳)
出版社: オライリージャパン (2015/3/25)、出典:出版社HP

序文

本気でデータを理解したいなら、プログラミングを学ぶことは重要である。データサイエンスはコンピュータ上で実行しなければならないことは当然のことながら、その際の選択肢はGUIを学ぶかプログラミング言語を学ぶかしかない。Garrettと私は、データを本格的に操作するつもりならプログラミングは必要不可欠なスキルだと確信している。GUIは確かに便利だが、優れたデータ分析のために必須の3つの要素について自由がきかないので、最終的にそれが足かせになってしまう。

再現性
科学では、過去の分析を再現できることが本質である。
自動化
データが変わったときに(データはかならず変わるものだが)分析をすぐにやり直せること。
コミュニケーション
コードは単なるテキストであり、簡単にコミュニケーションできる。メール、Google、Stack Overflow、その他どこであっても、助言をもらうためにはコミュニケーションのしやすさが 鍵を握る。

プログラミングを恐れないようにしよう。プログラミングは、意欲が続けば誰でも習得できる。そして、本書はその意欲を保てるように構成されている。本書はリファレンスではない。実際に試すことができる3つの課題を中心として構成されている。これらの課題を制覇していく過程でR プログラミングの基礎が身につき、ベクトル化コード、スコープ、S3 メソッドなどの中級レベルの知識でさえ頭に入る。現実の課題は学習の王道だ。これを解決するために必要になったときに関数を学習し、内容抜きに関数を記憶するようなことはしないからだ。人は、読むのではなく、する ことによって学習するのである。

プログラムの学習が進んでくると、フラストレーションを感じるようになるだろう。新しい言語を学ぶとき、新しい言語を流暢に話せるようになるには時間がかかる。しかし、フラストレーションはそんな自然現象のようなものではなくて、実際には、注視すべきポジティブなサインなのである。フラストレーションは、脳が怠けたがっているということだ。脳は、難しいことを止めて、簡単なこと、楽しいことをしたがる。身体を鍛えたければ、苦しくても身体を追い込まなければない。同様に、プログラミングを上達させたければ、脳を追い込む必要がある。いつフラストレーションを感じるかを意識して、それをよい兆候と考えるようにしよう。自分の力でストレッチをするようになっているのである。毎日少しずつ余分に自分を追い込んでいけば、じきに自信のあるプログラマになれる。

本書は、親しみやすく、対話的で、意欲がわくように書かれている。この本は、Rプログラミングを私か Garrettから直接学べない人にとっては、それに代わるものである。読者も、私と同じように本書を楽しく読めるだろう。

Holley Wickham
ーハドレー・ウィッカム
Studio チーフサイエンティスト

P.S.
Garretは慎み深いので決して言わないが、彼のlubridateパッケージを使えば、Rの日付、時刻の操作は劇的に楽になる。是非試していただきたい。

はじめに

本書は、Rでプログラムを書く方法を学ぶためのものです。データのロードから始まって、独自関数の開発まで進みます(この関数は、ほかのRユーザーの関数よりも高いパフォーマンスを発揮するでしょう)。しかし、本書はRのありふれた入門書ではありません。私は、読者がコンピュータサイエンティストになるとともにデータサイエンティストになるための力をつけてもらい たい、と考えているので、本書はデータサイエンティストにとって特に大切なプログラミングスキ ルに焦点を絞り込んでいます。

本書は、3つの実践的なプロジェクトに沿って構成されています。3つともかなり本格的なプロジェクトなので、複数の章にまたがっています。私がこれらのプロジェクトを選んだことには2つの理由があります。まず第一に、これらは R言語の守備範囲をカバーしています。本書では、データのロードの仕方、データオブジェクトの組み立てと解体、R の環境システムの操作方法、独自 関数の書き方を学ぶことができ、if else 文、for ループ、S3 クラス、Rのパッケージシステム、Rのデバッグツールなど、Rのあらゆるプログラミングツールを利用します。また、これらのプロジェクトでは、ベクトル化されたRのコードの書き方も学びます。ベクトル化は、Rの利点を使って非常に高速なコードを書くためのスタイルです。

しかし、それよりも重要なのは、これらのプロジェクトから、データサイエンスのロジスティクス面での問題の解決方法を学べることです。そして、ロジスティクスの問題はたくさんあります。データを操作するときには、エラーを起こさずに大規模な値を格納、読み込み、操作する必要があります。本書は、Rによるプログラムの書き方ばかりでなく、データサイエンティストとしての仕事をサポートするためにプログラミングスキルをどのように生かしていくかも、読み進めていくうちに学んでいけるようにしてあります。

すべてのプログラマがデータサイエンティストになる必要はありませんし、すべてのプログラマがこの本のことを役に立つ本だと思うわけでもありません。この本が役に立つと思うのは、次のタイプのどれかに属する人々です。

1.すでに統計ツールとしてRを使っているものの、Rで独自関数やシミュレーションを書く方法を学びたいと思っている人々です。
はじめに
2.プログラムの書き方を独習したいと思っており、データサイエンスに関連する言語を学ぶ意義がわかっている人々。

本書ではRの伝統的な応用であるモデルやグラフを扱わず、Rを純粋にプログラミング言語として扱っていますが、それは特に意外に感じられることでしょう。なぜ、このように焦点を絞り込んでいるのでしょうか。Rは、科学者がデータを分析するときに役立つツールとして設計されています。グラフを描いたり、データのモデリングに役立つ優れた関数を無数に持っています。そのため、多くの統計学者は、ソフトウェアの1つであるかのようにRを使うことを覚えています。彼らは、自分の望むことをする関数だけを覚え、それ以外のことを忘れてしまうのです。

Rの学習方法として、これは理解できるものです。データの可視化とモデリングは、科学者が全神経を集中して取り組まなければならない複雑なスキルです。データセットから信頼できる解釈を引き出すためには、専門能力や判断力、集中力が必要です。データサイエンティストがこの分野の基本理論と実践を完全に習得するまで、コンピュータプログラミングなどに気を散らすことはお勧めできません。データサイエンスという仕事を学びたいと思うなら、本書の姉妹書として2016年 末に刊行された拙著『R for Data Science』(邦題『Rではじめるデータサイエンス』)を読むことをお勧めします。

しかし、プログラミングの学習は、すべてのデータサイエンティストのto-doリストになければならないことです。プログラムの書き方の知識があれば、より柔軟なアナリストになれるし、自分が持っているデータサイエンスの能力をあらゆる面から補強してくれます。Greg Snow が2006年5月のRhelpメーリングリストでこのことをうまい比喩で説明しています。Rで書かれた関数を使うのはバスに乗ることで、R でプログラムを書くのは車を運転することだというのです。

バスは非常に簡単に利用できます。どのバスに乗ったらよいか、どこで乗ってどこで降りたらこのよいかを知ってさえいればそれでよいのです(あと、料金を払わなければなりませんが)。それに対し、車を運転するためにはずっと多くの仕事が必要です。何らかの地図や道順の説明(頭の中の地図かもしれませんが)が必要で、頻繁に給油もしなければなりません。そして、交通規則を知っていなければなりません(何らかの運転免許が必要でしょう)。しかし、車には、バスが行かないさまざまな場所に行くことができ、バスでは乗り換えが必要になるようなちょっとした旅行では早く着けるという大きな利点があります。

この喩えを使うと、SPSSのようなアプリケーションはバスです。標準的な仕事には簡単に使えますが、アプリケーションが対象としていないことをしようとすると非常にイライラさせられます。

それに対し、Rは四駆のSUV(ただし環境に優しいもの)です。しかも、トランクには自転市屋根の上にはカヤック、座席にはウォーキング、ランニング用のよいシューズを載せ、登山、探検用の道具もひと通り揃っています。

Rは、時間を割いて使い方を学べば、行きたいところにはどこにでも連れて行ってくれます。しかし、そのためには SPSSでバス停の場所を頭に入れるだけだったことよりもはるかに長い時間がかかります。

Greg Snow
GregはRとSPSSを比較していますが、彼はRのパワーをフル活用することを前提として話をしています。つまり、これはRプログラムを習得することを仮定しているのです。Rにもともとある関数を使っているだけなら、RをSPSSのように使っているだけです。それでは、決められた場所にしか連れていってくれないバスのようなものです。
データサイエンティストにとっては、この柔軟性が重要です。メソッドやシミュレーションの細部は、問題によってそれぞれ異なります。状況に合ったメソッドを作れなければ、既存の不適切なメソッドしか使えないというだけの理由で、とかく非現実的な仮説を立てようとしてしまい、そのような自分にブレーキをかけなければならなくなるでしょう。

本書は、バスの客から車のドライバーへの変身を支援します。本書は初心者プログラマ向けに書かれています。コンピュータ科学の理論については話していません。ビッグオー(O()やリトルオー(o()の話題はありませんし、遅延評価の仕組みなどの高度な細部にも踏み込んでいません。こういったことは、理論的なレベルでコンピュータ科学について考えるなら面白いのですが、まずプログラミングの方法を学びたいときには学習への集中が途切れてしまいます。

この本では、それらに代わって3つの具体的なサンプルを使ってプログラムの書き方を説明していきます。これらのサンプルは短く、理解しやすく、知らなければならないことをすべて網羅しています。

この素材は、RStudio におけるマスターインストラクタとしての仕事の中で何度も教えてきたものです。私は教師としての経験から、具体例を示すと生徒たちが抽象的概念を早く飲み込めるようになることを知っています。サンプルには、すぐに実践に移れるというメリットもあります。プログラミングの学習は、外国語の学習と似ています。実践すれば、早く進歩するのです。実際のところ、プログラミングの学習は、他言語の学習です。本書のサンプルを追いかけ、アイデアが浮かんだときにすぐに試すようにすれば、最良の結果が得られるはずです。

本書は『R for Data Science」の姉妹書です。『R for Data Science」では、Rを使ったプロットの作り方、データのモデリングの方法、レポートの書き方を説明します。また、それらの課題をプログラミングの練習としてではなく(実際にはそういう側面があるのですが)、判断力と専門知識を必要とするデータサイエンスのスキルとして説明します。それに対し、本書はR言語によるプログラミングの方法を説明します。姉妹書で説明されているデータサイエンスのスキルをマスターしていること(そうするつもりがあることも)を前提として書かれているわけではありません。しかし、Rプログラミングのスキルがあれば、データサイエンスのスキルも上がります。そして、両方をマスターすれば、コンピュータができるデータサイエンティストという力のある存在になれます。高い報酬を受け取り、科学的なことが話題になったときには人々に影響を与えられるようになるでしょう。

Garrett Grolemund (著), 大橋 真也 (監修), 長尾 高弘 (翻訳)
出版社: オライリージャパン (2015/3/25)、出典:出版社HP

凡例

本書では、次のような表記法を使います。
ゴシック(サンプル)
新しい用語を示します。
等幅(sample)
プログラムリストに使われるほか、本文中でも変数関数、データベース、データ型、環境変数、文キーワードなどのプログラムの要素を表すために使われます。
コード表記について
この本では、ハッシュタグ記号を使ってRコードの出力を表示します。コードのコメントには1個のハッシュタグ記号(#)、コードの実行結果には2個のハッシュタグ記号(#)を使います。特別な理由がない限りプロンプト(>)と出力の先頭の([1])等は省略します。
ヒント、参考情報を示します。
一般的なメモを示します。
警告、注意を示します。
問い合わせ先
本書に関するご意見、ご質問などは、出版社にお送りください。
株式会社オライリー・ジャパン
電子メール japan@oreilly.co.jp
本書には、正誤表、サンプル、追加情報を提供するウェブページがあります。http://bit.ly/HandsOnRからアクセスできます(日本語版はhttp://www.oreilly.co.jp/books/9784873117157/)。
本書に関するご意見、技術的な質問については、bookquestions@oreilly.com にメールしてください。
弊社書籍、講座、カンファレンス、ニュースなどについては、http://www.oreilly.comのウェブサイトを参照してください。
Facebook: http://facebook.com/oreilly
Twitter: http://twitter.com/oreillymedia
YouTube: http://www.youtube.com/oreillymedia

謝辞

私担当の編集者である Courtney Nash と Julie Steele、デザイン、査読、索引作成を担当してくれたO’Reilly チームのその他の人々など、多くの人々が本書の執筆を助けてくれました。また、Greg Snowは、この序文で彼の文章を引用することを許してくれました。これらの人々全員に心から感謝の意を捧げます。
私のRについての考え方、教え方を形作ってくれたHadley Wickhamにも感謝の言葉を捧げたいと思います。本書に含まれているアイデアの多くは、Rice 大学の博士課程に所属していたときにHadley が教え、私が手伝っていたStatistics 405に由来するものです。
それ以外のアイデアは、私が RStudioを教えるために実施している「Data Science with R」というワークショップの生徒と教師からもらったものです。彼ら全員に感謝しています。特に、私の助手を務めてくれているJosh Paulson、Winston Chang、Jaime Ramos、Jay Emerson、Vivian Zhangには深く感謝しています。
また、RStudio IDEを開発している RStudioの JJ Allaireを始めとする同僚たちにも感謝しています。RStudio IDEは、Rを使い、教え、文章で説明する仕事を大幅に楽にしてくれるツールです。
最後に、本書執筆中、私を理解し支援してくれた妻 Kristinに感謝の気持ちを捧げたいと思います。

Garrett Grolemund (著), 大橋 真也 (監修), 長尾 高弘 (翻訳)
出版社: オライリージャパン (2015/3/25)、出典:出版社HP

目次

序文
はじめに
I部プロジェクト1:ウェイトをかけたサイコロ
1章 基本中の基本
1.1 Rのユーザーインターフェイス
1.2 オブジェクト
1.3 関数
1.4 元に戻すサンプリング
1.5 独自関数の書き方
1.5.1 関数のコンストラクタ
1.6 引数
1.7スクリプト
1.8 まとめ

2章 パッケージとヘルプページ
2.1 パッケージ
2.1.1 install.packages
2.1.2 library
2.2 ヘルプページに教えてもらう
2.2.1ヘルプページの構成要素
2.2.2さらにヘルプがほしいときに
2.3 まとめ
2.4プロジェクト1のまとめ

II部プロジェクト2:トランプ
3章Rのオブジェクト
3.1 アトミックベクトル
3.1.1倍精度浮動小数点数
3.1.2 整数
3.1.3 文字
3.1.4 論理値
3.1.5 複素数とraw
3.2 属性
3.2.1 名前
3.2.2 次元
3.3 行列
3.4 配列
3.5クラス
3.5.1 日付と時刻
3.5.2 ファクタ
3.6型強制
3.7 リスト
3.8 データフレーム
3.9 データのロード
3.10 データの保存
3.11まとめ

4章 Rの記法
4.1 値の選択
4.1.1 正の整数
4.1.2 負の整数
4.1.3 ゼロ
4.1.4 スペース
4.1.5 論理値
4.1.6 名前
4.2 カードのディー
4.3 デッキのシャッフル
4.4 ドル記号と二重角カッコ
4.5 まとめ

5章値の書き換え、
5.1 その場での値の変更
5.2 論理添字
5.2.1 論理テスト
5.2.2. ブール演算子
5.3 欠損情報
5.3.1 na.rm
5.3.2.is.na
5.4 まとめ

6章 環境
6.1 環境
6.2 環境の操作
6.2.1 アクティブな環境
6.3 スコープルール
6.4 割り当て
6.5 評価
6.6 クロージャ
6.7 まとめ
6.8 プロジェクト2のまとめ

Ⅲ部プロジェクト3:スロットマシン
7章 プログラム
7.1 戦 略
7.1.1順次的なステップ
7.1.2 並列するケース
7.2 if文
7.3 else文
7.4 ルックアップテーブル
7.5 コードのコメント
7.6 まとめ

8章 S3
8.1 S3システム
8.2属性
8.3ジェネリック関数
8.4 メソッド
8.4.1 メソッドのディスパッチ
8.5クラス
8.6 S3とデバッグ
8.7 4とR5
8.8 まとめ

9章 ループ
9.1 期待値
9.2 expand.grid
9.3 for ループ
9.4 while ループ
9.5repeat ループ
9.6 まとめ

10章スピード
10.1 ベクトル化コード
10.2 ベクトル化コードの書き方
10.3 Rで高速な for ループを書く方法
10.4 ベクトル化されたコードの実際
10.4.1 ループとベクトル化コード
10.5 まとめ
10.6 プロジェクト3のまとめ

付録A RとRStudioのインストール
A.1 Rをダウンロード、インストールする方法
A.1.1 Windows
A.1.2 Mac
A.1.3 Linux
A.2 Rの使い方
A.3 RStudio
A.4 Rの起動方法

付録B Rパッケージ
B.1 パッケージのインストール
B.2 パッケージのロード

付録C Rとパッケージのアップデート..
C. 1 Rパッケージ

付録 D Rにおけるデータのロードと保存
D.1 Base R のデータセット
D.2 作業ディレクトリ
D.3プレーンテキストファイル
D.3.1 read.table
D.3.2 read ファミリー
D.3.3 read.fwi
D.3.4 HTMLリンク
D.3.5 プレーンテキストファイルの保存
D.3.6 ファイルの圧縮
D.4 Rファイル
D.4.1Rファイルの保存
D.5 Excelスプレッドシート
D.5.1 Excelからのエクスポート
D.5.2 コピー&ペースト
D.5.3 XLConnect
D.5.4 スプレッドシートの読み込み
D.5.5 スプレッドシートへの書き込み
D.6 ほかのアプリケーションのファイルのロード
D.6.1データベースへの接続

付録E Rコードのデバッグ
E.1 traceback
E.2 browser
E.3 ブレークポイント
E.4 debug
E.5 trace
E.6 recover
索引

Garrett Grolemund (著), 大橋 真也 (監修), 長尾 高弘 (翻訳)
出版社: オライリージャパン (2015/3/25)、出典:出版社HP

目次 – RユーザのためのRStudio[実践]入門−tidyverseによるモダンな分析フローの世界−

データ整形と可視化、レポート作成についての流れも知る

データを加工して分析できるデータへ整形からデータや分析結果の可視化は、適切なグラフのタイプを選択し、適切なオプションを設定してデータや結果の特徴を出さなければならず、最終的にはレポート、ペーパーに落とし込む作業を忘れてはいけません。本書はその流れでつまづきやすいところを含めてRでデータ分析をする、あるいはしたいと思っているすべての方にRStudioの使い方を伝授してくれます。

はじめに – 本書の特徴

本書はRを用いて一連のデータ分析ワークフローを遂行するためのガイドブックです。近年、RおよびRに関連する環境の発展は目覚ましく、またそれに比例して国内外問わず多くのR関連書籍が執筆/出版されています。数多くの良書が出版されていますが、本書はその中でも、他の書籍にない次のような特徴があります。

・ Rによる分析ワークフローの完結
・充実したRStudio機能の紹介
・ tidyverseへ準拠

Rによる分析ワークフローの完結

1つ目は、Rを用いた一連の分析ワークフローについて、1冊で完結させている点です。データ分析には、多少異なるにしろ大枠となるワークフローがあります(図0.1)。

まずは1分析を実行するための環境を整備し、2分析の対象となるデータを取得します。デー タはさまざまな形で提供されます。必要に応じてWebからスクレイピングして取得することもあります。そして取得したデータをRに読み込みます。データを読み込んだあとは、3データを加工して分析できるデータへ整形します。通常、収集/受領したデータはそのままでは分析に使用できないことが多く、通称「前処理」と呼ばれる加工が必要となります。加工を終えたらいよいよ分析の実行です。データや分析結果の4可視化は、3の処理や分析と同時並行で行われます。適切なグラフのタイプを選択し、適切なオプションを設定してデータや結果の特徴を把握していきます。分析や可視化の結果によって、また違う観点で分析を行うために再度3に戻ることもあるでしょう。このように3データ加工と分析、の可視化を繰り返し、最終的な分析結果をまとめあげていきます。

ここまでで分析のワークフローは完了に思えますが、5レポーティングを忘れてはいけません。そもそも分析は何らかの目的があって遂行するものです。その目的が達成できたかどうか、また経過を他者に報告したり公開したりすることとなるでしょう。そのためにレポートやダッシュボードを作成します。これにて分析は完了となります。
Rにはこれらの一連の分析ワークフローを実施するためのパッケージ群がすでに準備されていますので、R上ではじめから終わりまでを完結できます。これはRを利用した分析においては、大きなメリットといえるでしょう。そして本書はこのワークフローにそって、Rで行う場合の具体的な手順を詳細に解説します。つまり、本書は「Rを用いて一連のデータ分析ワークフローを完了/完結するためのガイドブック」という位置づけといえるでしょう。

充実したRStudio機能の紹介

2つ目は、RStudioに特化した内容だという点です。Rはコマンドを入力して実行していくソフトウェアです。他のプログラミング言語と同様に、Rにも統合開発環境(IDE)が提供されています。その中でも国内外問わず最も支持を集めて人気なのがRStudioです。

RStudioはGitHub上で開発が進められているオープンソース・ソフトウェアです。豊富なメニュー、ボタンなどのGUI、統合的なグラフィック・ビューワなどさまざまな機能が提供されています。またRStudioは開発が活発なのも特徴で、日々新しい機能が追加されています。

本書はこのRStudioの各種機能をフルに活用して分析ワークフローを進めていくノウハウを紹介しています。既存の書籍でもRStudioの機能を紹介したものはいくつかありますが、本書は執筆時で最新のRStudio v1.1.423をベースにしています。RStudioの基本的な機能から最近組み 込まれたものまで、初めての方でも体験できるようにまとめています。また開発が速いために、本書で紹介する内容が役に立たなくなるのではと思う方がいるかもしれません。執筆陣でもその点は留意し、できるだけ長く参照に足る書籍となるように配慮して執筆しました。RStudioが新しくなったとしても、本書の内容はきっと多くの方に役立つことでしょう。

tidyverseへ準拠

3つ目は、tidyverseに準拠している点です。R界隈で最も有名な人物であるHadley Wickham 氏が提唱したtidy dataという考え方があります。tidyverseは、そのtidy dataから派生したデータ分析に使われるツールデザインに対する枠組みです。tidyverseについては重要な概念ですので、「はじめに」のあとに紹介しています。本書を読み進める前に一読することをお勧めします。

本書は「モダンなRによる分析」を目指すため、これらtidyverse群のパッケージをメインで紹介し、解説します。そのため「tidyverseなパッケージを駆使して分析するためのガイドブック」とも本書はいえるでしょう。

本書の構成

本書は上述のとおり、一般的に行われる分析ワークフローにそった構成をとります。
1章では導入としてR、RStudioの解説を行います。RやRStudioのインストールから、RStudioの各種機能について説明します。まずはRとRStudioの基本操作を押さえることを念頭に置き、その上でRStudioを自分好みにカスタマイズする方法などを試してください。2章ではRによるデータ収集として、Web上のデータをダウンロード/取得する方法としてスクレイピングを紹介します。実務においてWeb上からデータを取得する機会は頻繁にあり、Rにはそれを実行できるパッケージがすでに公開されています。これらの技術を駆使し、データを取得するスキルを習得します。

3章では取得したデータを分析できるような形式に加工するための前処理のノウハウを解説します。ここではdplyr/tidyrパッケージを用いてデータを整形し、コンピュータが処理しやすい「tidyな」データを作る方法を紹介します。この前処理はRでデータを扱う上で誰しも避けられない処理であり、Rを使いこなす上で重要なポイントとなるでしょう。

4章ではデータの可視化について解説します。Rによるデータの可視化として、現在はggplot2パッケージとggplot2の機能を拡張するパッケージがよく利用されています。可視化により大量のデータから主要な情報を効率的に伝えられるようになることを目指し、また豊富な用例を紹介することで実践的なテクニックが身につきます。

5章ではrmarkdownパッケージを用いて、Rによる処理をシームレスにドキュメント/レポートへ出力する方法を紹介します。基本的な設定方法を説明し、多様な出力フォーマットへの対応、および日本語利用における注意点なども解説します。

本書は、1章から順に読んでいくことを想定して構成していますが、関心がある章や項目からスムーズに読み進められるように考慮しています。したがって、自身が気になる箇所から読みはじめても構いません。しかし、折をみて他の箇所を読むことで、よりワークフロー全体の理解へとつながるでしょう。

本書の対象読者

本書が想定している読者は、「Rでデータ分析をする、あるいはしたいと思っているすべての方」です。いまやRStudioはRを実行する環境として高いシェアを占めています。そのRStudioの最新のテクニックをこれだけ広範囲で必要最低限きっちりとまとめた書籍は他にありません。きっと多くのRユーザにとって得るものがあるでしょう。また、特に以下のような方にはピッタリといえるでしょう。

・ R/RStudioでモダンな分析環境を手にしたい
・分析フローを意識した業務/解析をしたい

Rユーザであればあちこちで耳にするtidyverseへの理解やRStudioの便利機能を駆使できるようになるためです。その導入書として最適です。また、これまで各種ソフトウェアを駆使し、その結果をまた別のソフトウェアで可視化/レポーティングしていた方には、分析のワークフローを一気に遂行するための「ちょうど良い」テキストとなるでしょう。

本書で解説しなかったこと

本書では、Rを使う上での重要なポイントであったとしてもコンセプトを重視して取り上げなかった内容がいくつかあります。
まず、分析手法、統計的な説明については一切ふれていません。現在Rで実現できる分析手法は膨大な数にのぼり、それらを網羅することは困難を極めます。本書はあえてこの具体的な箇所を他書に譲ることで、専門領域によらない共通要素を充実させることとしました。

次に、パッケージ開発やShinyアプリケーションについてもふれないこととしました。Rの パッケージ開発はRの醍醐味の1つであり、RStudioにはそのためのさまざまな機能が提供され ています。またShinyアプリケーションはRをバックグラウンドとしたアプリケーションをデプロイできる重要なフレームワークとなります。しかしこれらはRによるプログラミング知識が必須であり、またR自体に対する深い理解が求められます。これは本書のコンセプトから少々逸脱するものと判断しました。

そしてRStudio ServerやR環境の仮想化については省略します。近年では分析環堵の再現性が重要視され、そのためにDockerなどを活用した分析環境の構築・共有が提案されています。またAWSなどクラウドサービスの利用も活発です。しかしこれらは分析環境のインフラ整備が要であったり、また実施する分析自体に大きく依存する事項が多くなります。これらを解決したい場合には、自分が所属する各部署との調整が最優先でしょう。

さあ RStudioで分析を

以上より、本書の特徴や位置づけが伝わったかと思います。ぜひ本書を読んで「Rによるモダンな分析フロー」をRStudioで実施してみましょう。Enjoy!

tidyverseとは

本書では、tidyverseと呼ばれるパッケージ群を積極的に使います。tidyverseは、単なるパッケージの寄せ集めではなく、さまざまな操作を統一的なインタフェースで直感的に行える「tidyなツール群」を目指すものです。その開発は、Hadley Wickham氏をはじめRStudio社の著名な開発者を中心に進められています。

tidyverseのパッケージ

tidyverseに含まれるパッケージは、tidyverseという名前のパッケージ1をインストールすることでまとめてインストールできます。
install.packages(“tidyverse”)
library(tidyverse)を実行すれば、tidyverseに含まれるパッケージのうちよく使われるもの をまとめて読み込んでくれます。Attaching packagesに表示されているのが読み込まれたパッケージです。
library(tidyverse)
–Attaching packages ———————————————–tidyverse 1.2.1—
–Attaching packages——————————————————————-
———————————————————————————tidyverse
1.2.1 —
√ ggplot2 2.2.1.9000 √ purr 0.2.4
√tibble 1.4.1 √ dplyr 0.7.4
√tidyr 0.7.2 √stringr 1.2.0.9000
√readr 1.1.1.9000 √forcats 0.2.0
–Conflicts——————————————————————————–
———————————————————————————–tidyverse
conflicts()—
x dplyr::filter() masks stats::filter()
x dplyr::lag() masks stats::lag()
注0.1 tidyverse パッケージは、いわゆるメタパッケージと呼ばれる種類のものです。このパッケージ自体が機能を提供するというよりも、複数のパッケージを依存関係で結び付けることを主な目的としています。

注0.2 Conflicts に表示されているのは、すでに読み込まれている関数と名前が衝突しているという警告ですが、ひとまず無視して大丈夫です。

本書執筆時点(バージョン1.2.1)では以下のパッケージが読み込まれます。
・ggplot2: データを可視化するためのパッケージ
・dplyr: データにさまざまな操作を加えるためのパッケージ
・tidyr: データを tidy dataの形式に変形するためのパッケージ
・readr: さまざまなフォーマットのデータを読み書きするためのパッケージ
・purrr: 関数型プログラミングのためのパッケージ
・tibble: tibbleというモダンな data.frame を提供するパッケージ
・stringr:文字列を操作するためのパッケージ
・forcats: 因子型ベクトルを操作するためのパッケージ
これ以外にもさまざまなパッケージが含まれています。一部を紹介すると、以下のようなものです。
・jsonlite: JSON データを扱うためのパッケージ
・xml2: XMLデータを扱うためのパッケージ
・httr:WebAPIを使うためのパッケージ
・rvest: Webスクレイピングのためのパッケージ
・lubridate: 日付型/時間型データを操作するためのパッケージ
・hms: 時刻を表すデータ型を提供するパッケージ
・blob: バイト列を表すデータ型を提供するパッケージ
tidyverseは「tidyなツール群」としてはまだまだ試行錯誤中の状態なので、パッケージの顔ぶれも今後変化していくものと思われます。特にモデリングに関しては、現在はmodelrというパッケージが含まれていますが新たなパッケージで置き換えられることがほのめかされています

tidyverseの過去

tidyverseの前身は、Hadley が作成した数々のパッケージを指す「Hadleyverse」というバズワードでした。彼が中心となって作り上げたさまざまなパッケージがR界を一変させたことを称えてこう呼ばれました。しかし、Hadleyはこの名前を嫌い、useR!2016で「tidyverse」という呼び方を提案します注5。このRの一大エコシステムを作り上げているのは自分一人ではなく、R を愛する多くの開発者なのだ、というメッセージだと筆者は考えています。注0.6

注0.3 素のRには日付型データ(Date) や時間型データ(POSIXctなど)はありますが、時刻(例:12:34:56)を表すデータ型が存在ません。hms パッケージはそれを補完するためのものです。
注0.4 URL https://www.tidyverse.org/packages/の「Model」という項目を参照してください。

tidyverseの未来

tidyverseが目指すところを宣言した「tidy tools manifesto」には以下の原則が提案され
ています。

1. 再利用しやすいデータ構造を使う(Reuse existing data structures)
2. 複雑なことを1つの関数で行うよりも、単純な関数をお%(パイプ)演算子で組み合わせる(Compose simple functions with the pipe)
3. 関数型プログラミングを活用する(Embrace functional programming)
4.人間にやさしいデザインにする(Design for humans)

「tidy」と聞くと、このあと3章で説明する「tidy data」を思い浮かべるかもしれません。しかし、この原則を見れば分かるように、tidyverseはもっと広範な「tidyさ」をスコープとするものです。その野望の大きさゆえに、この原則もまだまだ未完成なものです。これからtidyverseがどのような地平を切り拓いていくのか、刮目しましょう。
注0.5 URL https://twitter.com/drob/status/748196885307920385
注0.6 実際、Hadley 本人もそのようなツイートをしています。
URL https://twitter.com/hadleywickham/status/774008060549312512
注0.7 URL https://cran.r-project.org/web/packages/tidyverse/vignettes/manifesto.html

松村 優哉 (著), 湯谷 啓明 (著), 紀ノ定 保礼 (著), 前田 和寛 (著)
出版社: 技術評論社 (2018/6/29)、出典:出版社HP

目次

はじめに
本書の特徴
Rによる分析ワークフローの完結
充実したRStudio機能の紹介
tidyverseへ準拠
本書の構成
本書の対象読者
本書で解説しなかったこと
さあ RStudioで分析を
tidyverseとは
tidyverseのパッケージ
tidyverseの過去
tidyverseの未来

第1章 RStudioの基礎
1-1 RStudioのダウンロードとインストール
macOS
Windows
1-2 RStudioの基本操作
RStudioのインターフェース
プロジェクト機能
プロジェクト機能とは
プロジェクトの新規作成
Rスクリプトの新規作成と保存
Rのコマンドの実行
オブジェクトの確認
データフレーム
リスト
関数
補完機能
オブジェクト内の要素名の補完
ファイル名の補完
コードスニペット
1-3 RStudioを自分好みにカスタマイズ
RStudio全般
コーディング
Editing:編集
Display:表示
Saving:保存
Completion:補完
Diagnostics: コード診断
外観
エディタの見た目
Pane Layout
Terminal
キーボードショートカット
便利なショートカット
1-4 ファイルの読み込み
Rの標準関数の問題点
データの大きさの問題
読み込み型の問題
readrパッケージ
CSV,TSVファイルの読み込み
エンコーディングの指定
その他の読み込みオプション
ファイルの書き出し
Excelファイルの読み込み
SAS,SPSS,STATAファイルの読み込み
RStudio (GUI) によるデータの読み込み
ファイルの選択
Import Option
Code Preview ファイル読み込みのまとめ
1-5Rで困ったときは
ヘルプを使う
Vignetteを見る
チートシートを使う
1-6 まとめ

第2章 スクレイピングによるデータ収集
2-1 なぜスクレイピングが必要か
スクレイピングとは
手作業によるデータ取得の限界
2-2 スクレイピングに必要なWeb知識
HTML
タグ
属性と値
スクレイピングによるHTML構造の抽出
CSS
CSSセレクタによるHTML構造の抽出
XMLとXPath
2- 3Rによるスクレイピング入門
rvestパッケージ
Webページタイトルの抽出
URLの読み込み
DOM
HTMLの要素を取得
%>% (パイプ) 演算子
%>%演算子が利用できるパッケージ
2-4 スクレイピング実践
表形式のデータを取得
複数のページから取得
2-5 ブラウザの自動操作
ブラウザ自動操作の必要性
RSelenium パッケージの導入
Rによるブラウザの操作
2-6 API
APIとは
rtweetパッケージによるTwitterデータの収集
準備
ツイートの収集
COLUMN Webスクレイピングをするときの注意点

目次
2-7まとめ
参考文献

第3章 dplyr/tidyrによるデータ前処理
3-1 tidy dataとは
tidy dataの定義
tidyではないデータ
3-2 tidyrによるtidy dataへの変形
gather()による縦長データへの変形
spread()による横長のデータへの変形
3-3 dplyr による基本的なデータ操作
tibble とデータフレームの違い
dplyr の関数の概要
1つのデータフレームを操作する関数の共通点と%>%演算子による処理のパイプライン化
filter()による行の絞り込み
COLUMN dplyrの関数内でのコード実行
arrange()によるデータの並び替え
select()による列の絞り込み
mutate()による列の追加
summarise()によるデータの集計計算
3-4dplyr による応用的なデータ操作
グループ化
COLUMN ウィンドウ関数
COLUMN selectのセマンティクスとmutateのセマンティクス、tidy eval
mutateのセマンティクス
selectのセマンティクス
tidy eval
複数の列への操作
tidy dataへの変形
scoped function
3-5dplyrによる2つのデータセットの結合と絞り込み
inner_join()によるデータの結合
さまざまなキーの指定方法
inner_join()以外の関数によるデータの結合
semi_join()、anti_join()による絞り込み
3-6 まとめ

第4章 ggplot2 によるデータ可視化
4-1 可視化の重要性
4-2 ggplot2パッケージを用いた可視化
準備 エステティックマッピング
水準ごとの識別1:グループ化
COLUMN グラフに肉付けする
水準ごとの識別2:ファセット
統計的処理:stat
COLUMN X軸に離散変数をマッピングした場合における折れ線グラフ
軸の調整
特定の範囲を切り出す
特定の範囲を拡大表示する
X軸とY軸を反転させる
グラフの保存
4- 3他者と共有可能な状態に仕上げる
テーマの変更
文字サイズやフォントの変更
配色の変更
手動で色を変更する
半自動で色を変更する
カラーパレットを変更する
ラベルを変更する
4-4 便利なパッケージ
GUIベースでggplot オブジェクトを作成する
複数のグラフをパネルで並べる
表示される水準の順番を変更したい
4- 5まとめ
参考文献

第5章 R Markdown によるレポート生成
5-1 分析結果のレポーティング
ドキュメント作成の現場
手作業によるドキュメント作成の問題点
5-2 R Markdown入門
Hello, R Markdown
Rmdファイルと処理フロー
Markdownの基本
見出し
段落と強制改行 箇条書き
リンク
画像ファイル
引用
強調
コードブロック
数式

Rチャンク
チャンクラベルとチャンクオプション
インラインチャンク
ドキュメントの設定
フロントマター
出力形式とテンプレート
RStudioで使える便利なTips
Knitボタン
設定ボタン
チャンク挿入・コード実行・アウトライン表示
キーボードショートカット
5-3 出力形式
html_document形式
html_document形式の概要
スタンドアロン
見出しの一覧
data.frame の表示方法
htmlwidgets パッケージによる可視化
外部ファイルによるヘッダやフッタの差し込み
テーマ変更とデザイン編集
Markdown ファイルの保存
pdf_document 形式
pdf_documentの概要
LateXエンジンの指定
texファイルの保存
word_document形式
word_document形式の概要
word_document形式の制約
書式設定の取り込み
スライド出力
R Markdownの出力形式を提供するパッケージ
COLUMN 日本語環境での注意点
文字コード
pdf 出力での日本語の利用
見出しへの日本語の利用
5-4まとめ
参考URL
著者プロフィール
索引

松村 優哉 (著), 湯谷 啓明 (著), 紀ノ定 保礼 (著), 前田 和寛 (著)
出版社: 技術評論社 (2018/6/29)、出典:出版社HP

目次 – Rをはじめよう生命科学のためのRStudio入門

生命科学以外にも役に立つRStudio本

人工知能やビッグデータといった方にも、この本はそのどちらも扱っていませんが、データサイエンスの一分野には代わりありません。この本はデータサイエンスのもっとも重要な基礎を身に付けるためのものなので、ビッグデータ解析に興味を持っている人も使える1冊になります。もちろん生命科学の中での方でしたら更に役立つ1冊です。

訳者からの序文

この本は、たとえば大学で研究室配属になって「ああ……これから統計解析の勉強をしなきゃ・・・やっぱパソコンとか使わないといけないよね……」と憂鬱な気分になっている学生が、とりあえず何も考えずに買っても大丈夫な本です。この本にしたがって統計解析の実習をやることで、解析作業の基礎的なステップが身に付きます。使うのは、パソコンとRStudioです。世の中ではパソコンと言えば Windowsが多い一方、生命科学分野の研究室ではMacが増えていると思いますが、RStudioの使い方はどちらでも同じです。

さらにRStudioはパソコンがなくても、タブレットでも使えます(RStudio Cloudというのがブラウザから使えます)。つまりいろんな人が、この本1冊で勉強できるわけです。大学の研究室や高校の部活(学生だけでなく先生たちにも)、またデータサイエンスに興味を持つ企業の研究チームなどにも最適です。Rはバージョンアップがよくありますが、この本にはRversion 3.5.1/RStudio 1.1.463をWindows 10での結果を載せています。Rのバージョンなどによっては実行結果が少し違ったりするかもしれませんが、大きな問題になることはないだろうと思います。

この本には、統計そのものの原理や検定の理論の解説はほとんどありません。統計解析の知識が少しある人に向けて、堅実な結論を出すための作業手順をケーススタディで練習する内容です。なので、最初のページから順に進んでいくように書いてあります(知りたいところだけを必要な時に抜き出して読む、というような書き方にはなっていません)。このような作業手順を身に付けるのは、間違った結論を出して、そうとは知らずに堂々と主張する、といった悲劇を避けるためです。

多くの統計検定には、データの分布やモデルの当てはまり方などについて前提条件があります。また、データを観測した時の実験計画の意図をよく理解していないと、適切なモデルを選べません。これらの点について繰り返し実習して、どんなデータ形式にどんな検定法を使うのかを体験しつつ、作業手順を体で覚えるのがこの本の目的です。

近年、人工知能やビッグデータといったキーワードが注目されていますが、この本はそのどちらも扱っていません。ただ、これらはデータサイエンスの一分野です。そしてこの本はデータサイエンスのもっとも重要な基礎を身に付けるためのものです。生命科学分野でビッグデータ解析に興味を持っている人も、基礎的な解析作業を身に付けておいて損はありません。むしろ、身に付けておくべきだろうと思います。これが、自分の扱おうとしているデータがビッグデータかどうかを判断する力の基礎にもなるでしょう。

生命科学分野では、遺伝子発現データを始めとして大規模な数値データがよく見られますが、これらは必ずしもビッグデータではありません。遺伝子数が多くてもサンプル数が少なければ、各遺伝子についてはむしろ小サンプルです。小サンプルデータの解析にはしばしば落とし穴があって、出版されている論文でも怪しい統計解析がときどきあります。その原因の一部は、モデルが適切でなかったり、データの分布が前提を満たしていなかったりすることです。これにはやはり、適切で堅実な作業手順を身に付けることが重要です。

この本はまさにそのための本です。「基礎的で堅実な作業方法」が主題なので、これ一冊あれば生命科学分野の統計解析法は一通りわかるといった網羅性は(全然)ありません。実際の研究現場では、この本に載ってない解析法をたくさん調べて使う必要があります(たとえば、フィッシャーの正確確率検定とかウィルコクソンの順位和検定とか、またいろんな次元縮約も重要です)。RStudio(が内部で使っているR)には必要な機能はほぼすべて揃っていますが、それを使うためには、自分でやり方を調べる必要があります。と言っても臆することはありません。この本で基本的な考え方と作業の流れを理解したなら、応用的なことを理解する力も備わっていると言えるでしょう。この本の中では「Rのヘルプ画面が役に立つ」と書いてありますが、全部英語なので、敷居が高いと思ったら調べものはネット検索か、または自分にとってわかりやすい解説書を探すとよいと思います。

この本は、楽しい本です。また、難しい統計の理論は(ほとんど)ないので、わかりやすいと思います。ちゃんと解析して、堅実な結論を出して、きれいな図を描くと、一流の研究者がやっているのと同じ統計解析が自分にもできた、この結論は自信を持って発表できるのだ、という喜び、うれしさが沸いてきます。「自信が持てる結論と発表のための解析手順を身に付けて、楽しく、みんなの役に立つ研究ができる」のが幸せな研究生活だろうと思います。みなさんがそうできるよう、心より祈っています。この本の原著者らは楽しくやってそうですしね。

2019年2月
富永大介

Andrew P. Beckerman (その他), Dylan Z. Childs (その他), Owen L. Petchey (その他), 富永 大介 (翻訳)
出版社: 羊土社 (2019/3/15)、出典:出版社HP

目次

訳者からの序
前書き
この本を書いた理由
この本は何の本なの?
この本の構成
Rを使う理由
この本のアップデート
謝辞

第1章 Rと仲よくなろう
1.1 はじめてみる
1. 2まずはRをインストールする
1.3 RStudioをインストールする
1.4 どこからはじめるか
1.5 とりあえずデカい電卓として使ってみよう
1.6 スクリプトを書いてみる
1. 7総まとめ(ここまでの)
1.8 大事なのはパッケージ
1.9 いつでもヘルプ
1.10 本格的な例(ちょっとだけ)
1.11 最初のうち(そして今後も)うまくやっていくコツ
付録1a課題の解答例
付録1b ファイルの拡張子とOSによる違い

第2章 データを読み込む
2.1 読み込むデータを用意する
2.2Rにデータを読み込む
2 2.3 読み込まれているのが自分のデータかどうか、ちゃんと確認する
2.4ありがちなトラブル
2.5 まとめ
付録2 応用編 – うまく整理されていないデータをどうにかするにはうにかするには

第3章 dplyrでデータを整える
3. 1各変数の統計量を見る
3.2 dplyrの命令
3. 3行や列の取り出
3.4 データの変換と追加
3.5 ソート
3.6 ここまでのまとめと、2つの技
3.7 データの各群の要約統計
3.8これまでに学んだこと
付録3a dplyrとそれを使わない方法の比較
付録3bdplyr 応用編

第4章 データを図で見る
4.1 どんなデータでも最初に図を描く
4. 2ggplot2の作法
4.3 箱ヒゲ図
4. 4分布の様子:数値変数のヒストグラム
4.5 プレゼンや論文に使う図を保存する
4.6 終わりに

第5章 統計解析をちゃんとした手順でやってみる
5.1 まずはRで統計解析をはじめてみよう
5.2 x^2分割表を使った解析
5. 3 二標本t検定
5. 4線形モデルという種類の解析法
5.5 シンプルな線形回帰
5.6 一元配置分散分析(one-way ANOVA)
5.7 まとめ
付録5 CRAN以外からのパッケージのインストール

第6章 もっと高度な統計解析をやろう
6.1 さらに高度で複雑な統計解析
6.2 二元配置分散分析(two-way ANOVA)
6. 3 共分散分析(ANCOVA)
6.4 この章の概要:解析のはじめから終わりまでの流れ

第7章一般化線形モデル(GLM)を使ってみる
7.1 はじめに
7. 2計数データと比率データ:ポアソン GLM
7. 3ダメなやり方がどうダメなのか、やってみる
7.4 正しいやり方 – ポアソン GLM
7. 5計数データなのにポアソン GLMが適さないときは?
7. 6まとめとポアソン回帰の先

第8章 プロットをきれいに整える:ggplotで座標軸とテーマをいじる
8.1 ここまでに出てきたプロットの技
8.2 新しいプロットの準備
8. 3変えたいところはたくさんある
8.4 軸ラベル、軸の範囲、注釈
8.5 プロット範囲と目盛り
8. 6theme()で全体の様子をいじる
8.7まとめ

第9章 終わりに:最後のコメントとはげまし

巻末付録
巻末付録1データの出典
巻末付録2 参考文献
巻末付録3RMarkdown
索引

Andrew P. Beckerman (その他), Dylan Z. Childs (その他), Owen L. Petchey (その他), 富永 大介 (翻訳)
出版社: 羊土社 (2019/3/15)、出典:出版社HP

前書き

この本を書いた理由

Rは、オープンソースのプログラミング言語の実行環境であり、かつ統計解析の統合プラットフォームです。この本を読めば、Rが使えるようになります。統計解析そのものについての解説はこの本の目的ではありません。みなさんの人生(つまり、研究活動の積み重ねですね)を少しでも楽にする助けになれば、と思って書きました。

「R?聞いたことならあるけど」という人たちに「Rならいつも使っているよ」という人になってもらおうと思って、私たちは数年前にこの本の初版を書きました。当時すでにRを使ったデータ解析や統計解析の本は山ほど出ていましたが、たとえば、パソコンと言えばExcelをちょっと使ったことがあるくらいで、わざわざその勉強をする時間がないような人、または、Rっていうのが便利らしい、やってみたら楽しいかもね、くらいに思っているような人たちに向けた本はなかったと思います。加えて正直に言えば、勉強のしかたにもよりますが、Rは初心者には取っつきにくい面があります。そこで初版は、「統計解析のソフトウェアにもその他のアプリにも詳しくない、でもとにかく今すぐパソコンで解析をはじめたい」という人たちに向けて書きました。その結果、短期間でがんばって必要な量のスキルを学ぶ本になってしまい、のんびり公園を散策する気分で気楽に勉強、とはいかなくなりました。

しかし、この5年で大きく状況が変わりました。もっとも重大な点は、Rがデータ解析、データ管理、グラフィクス作成のための統合プラットフォームへと成長したことです。といってもまぁ、進化したのはそこだけと言えばそこだけで、Rをこれから使っていこうとする人たちは昔と同じように、ヘルプを見ながら、自分のしたい解析はどういう手順でできるのかを調べつつ学びつつ、作業を進めていく必要があります。そこでこの本を書くとき、2つの点を重視しました。1つ目は、初版の「読者が実際にRを使うようになる」という目的を維持することです。私たちは、Rを使う人が増えるのがうれしくて、もう15年もRの入門コースをやっています。この本は敷居は低く間口は広く、読み進めれば大学の学部生にも大学院生にも、これからRを使いたい教官にも十分に役に立つ内容なのがわかると思いますが、気付いた点やご意見があれば、ぜひお知らせください。

2つ目は、著者である私たち自身がRを使う方法、したがってこれからみなさんにお教えするRの使い方を、初版から大きく変えたことです。新しいやり方のよい点や、無駄がなく直観的でスタイリッシュな使い方をこの本で取り入れました。これによってRの使い方そのものに煩わされることが減り、データそのものや解析の結果により集中できます。よいことです。

この本の英語原著の初版を持っている人がいたら、第2版と比べてみてもよいでしょう。第2版ではデータを整理したり図を作ったりするのに、Rに最初から入っているbaseと呼ばれるパッケージのツール群には頼らず、dplyrとggplot2というパッケージを使うことにしました。また統計解析の基本の例題として、初版での共分散分析(ANCOVA)の例に加え、新しいデータセットとシ ンプルな線形回帰、一元配置および二元配置の分散分析(one-wayおよび twoway ANOVA)の例を増やしました。3つ目に、一般化線形モデルの新しい章を丸々1つ付け加えました。そう、そのために本書の著者にディラン Dylan が新しく加わりました。

初版と何がそんなに変わったの?

(訳注:まず、厚さが2倍になっています。)この本では、定量的な統計解析の一般的な手順に沿って話を進めます。まず最初の疑問、つまり解析しようとしているデータはそもそも何を明らかにするために観測されたのかを明確にし、その答えが得られるように正しくデータを集め、データの様子を要約統計量やいろいろな図で確認し、データの様子をわかりやすく示す図を作り、最初の疑問に基づいた統計モデルを当てはめ、そのモデルが成り立つ条件が満たされていることを確認し、モデルを解釈してみて予想していた答えを肯定あるいは否定し、最終的な解析結果と結論を明確に示す美しい図を作る、という流れです。

GRにはそれぞれ使い方の異なる多くのツールがあり、それらを組み合わせて使うことで解析の流れを進めていきます。初版ではRのbase パッケージ(デフォルトでインストールされているツール)に含まれる「旧来」のツールによる方法を紹介しました。旧来といってもこれらのツールは当時から、そして今でも十分に使えます。私たちは大学の授業で何年もこのやり方を教えてきたし、自分の研究でも使ってきました。今でも時々使います。みなさんがRを使いはじめて、他のRユーザーと情報交換したりコードを共有したりしていくと、古い方法を使っている人が今も大勢いるのがわかると思います。

しかし旧来のツールや使い方は設計されたのがかなり昔で、いたるところで、独特な記号や書き方が必要になります。たとえばデータセットから一部分を取り出したいときには角括弧()を使い、変数名の指定にはドル記号 を使います。また同じような機能のツールなのに使い方が全然違うこともあります。こういった独特なやり方や面倒な事情のおかげで、Rのコードを読んだり、書き方を習得するのが難しくなっているのです。

そこで私たちは検討を重ね、また様々な使い方を実践した上で、この本ではハドリー・ウィッカム卿(「卿」というのは、彼の素晴らしい功績を讃えて、私たちが勝手に祭り上げて付けてるだけです)とその仲間たち(http://had. co.nz/)が作った、比較的新しいのにすでに広く使われているツール群を導入することにしました。これらのツール群はいくつかのパッケージに分けてまとめられていますが、使い方は首尾一貫して統一されています。この本では、このツール群の機能と使い方を正しく学びます。また、baseパッケージについても一部分だけ学びます。一部分といってもけっこうな量がありますけどね。

私たちが、baseパッケージからこの新しいやり方に乗り換えた理由をいくつか 挙げてみます。

・「自然言語」により近くなったので、コードの読み書きがしやすい。
・使い方が統一されているので、覚えやすい。
・小さな簡単な問題を、非常に簡潔に解けるように作られているが、それを自然にかつ直観的に拡大することで、複雑で大規模な問題に適用できるようになっている。
・用意されたツールで、データ管理、統計解析、きれいな図の作成などの一般的な作業手順の各ステップをすべて網羅できる。
・著者陣がそれぞれ別々に新しいやり方を導入してみた結果、最終的に、みんなこのやり方のよさを確信したこと(アンドリューには無理やり使わせたような気もするけど)。

私たちは、Rの初心者には新しいやり方を教えることこそ正しい道だと確信していますが、よいことばかりでもありません。特に、旧来のやり方で書かれたコードを読んだり、そういうコードを書く人たちと共同作業を行うのは容易ではなくなると思います。また、Rをこれから学ぶ学生に、世間に定着しているとは言えないかもしれない「新しい」やり方を教えるのはいかがなものか、と他の教員が言ってくるかもしれません。旧来の方法を教えないときはなおさらです(しかしこういう人に限ってRを使ったこともなかったりするのです。まったく石頭です)。しかしこういった懸念ももっともだとも思うので、第3章(データの操作法の章)に旧来の方法と新しい方法の比較を載せておきます。「老犬は新しい芸を覚えたがらない」っていう諺もありますが、今でも旧来の方法でやった方がよい場面はありますから。

また、新しいツールや外部パッケージを使ったりするのは「応用的」「発展的」で、まず基礎を学ぶべき初心者にいきなり教えるのは大変ではないかという意見もあるでしょう。base パッケージでは何か足りないのか?と言われれば、少なくとも初心者に必要なものは全部揃ってるに決まっています。それでも初心者はもちろん、Rを使い慣れたプロの研究者にとっても、使い方が首尾一貫して統一されている外部パッケージは便利で有用です。さらに、「base」は「basic」ではない、つまり「base」を基本的あるいは基礎的と読むべきではないし、また外部パッケージであることを示す「add-on」を「advanced」、つまり応用的あるいは発展的と読むべきでもありません。base パッケージにも応用的な関数がたくさんあるし、非常に基本的な機能を提供する外部パッケージもたくさんあります。みなさんが、この本を楽しんでくれることを願っています。

この本は何の本なの?

私たちはRが好きです。日々の研究生活や教育活動でRを使っています。でもそれ以外にも、著者の1人のオーウェンは自分の赤ちゃんの世話を記録し、調べるのに使っています。私たちは進化環境学あるいは社会環境学という分野の黎明期から第一線で研究を行っていますが、この15年というもの、最初は各自で、次第に一緒に、Rへの愛をはぐくんできました。この本では、著者3人分を合計すると40年以上になる経験に基づいて、Rがいかに簡単で、重要で、しかも楽しいかを伝えたいと思います。私たちは3~5日間のR入門コースを世界のあちこちでやっていますが、この本はそれをもとにしています。このコースは学生に加えて、Rはどうにも取っつきにくいんだけど、何とか使えるようになりたい、と願う教員も対象にしています。

私たちがやっている入門コースの受講者やこの本の読者は、スプレッドシートや統計、グラフィクスのソフトウェア(Excel、SPSS、Minitab、SAS、JMP、 Statistica、SigmaPlot など)のいずれかを使ったことがあると想定しています。また受講者、そしてできればみなさんにも、x検定、t検定、ANOVAといった定番の統計解析の知識を期待しています。受講者は数日間の時間と引き換えに、Rの使い方と、Rだけでどうやってデータ管理、グラフィクス、統計解析を行うかという知識を得ます。Rを使うことで私たちの研究生活は変わりました。これまでの受講者もそうだと言ってくれています。

私たちは入門コースやこの本を書くのに労力を費やしていますが、それでもそれは、Rを開発してるR Core Development Teamの努力に比べると微々たるものです。Rを使って解析を行い、新たな発見を発表しようとするとき、Rそのものと、様々なパッケージの開発者に対する感謝を忘れてはいけません。

読むときには知っていてほしいこと

みなさんがこの本の内容を各自パソコンで試して、身に付けるためには、パソコンと統計解析について知っておいてほしいことがいくつかあります。もうインターネット時代になって長くたつので、多くの読者はすでにご存知の内容だと思いますが、念のために列挙しておきます。

・インターネットからファイルをダウンロードする方法。これはWindows、Mac、Linuxのどれも原理的には同じですが、実際の操作法はそれぞれ少しずつ違います。自分が使うOSの種類、ウェブブラウザの種類、マウスやトラックパッドの使い方を確認してください。
・ 自分のパソコンでフォルダを作り、そこにファイルを保存する方法。整理整頓しながら効率よく作業を進めるためには大事なことです。
・必須とまでは言えないのですが、自分のパソコンにおける「パス」の書き方。パスとは、パソコン内でのフォルダやファイルのアドレスのことです(ファイルへのパス、などと言います)。Windowsでは、OSのバージョンにもよりますが、パスにはドライブ名とコロン(:)と円マーク(¥)、フォルダ名が含まれます。MacやLinuxを含むUnix系OSでは、ハードディスク名と、ユー ザーのホームディレクトリ名かチルダ (-)と、フォルダ名とスラッシュが含 まれます。
・ 最後に、統計解析のやり方と、なぜ統計解析を行うのかについての最小限の基礎的な理解が必要です。
t検定、X検定、線形回帰、分散分析、共分散分析のそれぞれで、どんなデータから何がわかるのかを知っていれば、この本を読まなくてもある程度は、自分で統計解析を行うときに、結果がどうなるかを考えることができます。統計解析そのものを教えるのはこの本の目的ではありません。統計解析でみんながよく作るプロットやよくやる計算をRで実現する方法、そしてRがみなさんに何を返してくるのかを理解することが目的です。この本ではこの方針で話を進めていきます。

Andrew P. Beckerman (その他), Dylan Z. Childs (その他), Owen L. Petchey (その他), 富永 大介 (翻訳)
出版社: 羊土社 (2019/3/15)、出典:出版社HP

この本の構成

この本では、生命科学分野での日常の研究活動を想定してRの使い方を紹介します(でも、他の分野でもほぼ同じです)。つまりみなさんの手元には何らかのデータがあり、そこから何か言えることを導き出したいと考えているような状況です。一般的な流れでは、まずデータを整形するなどし、どんなデータなのか 様子を見て(プロットしてみるなど)、そして解析作業を行います。我々は、解析作業の前には、図を描くことをお勧めします。いやむしろ、必ず図を見ろ!と命令したいと思っています。何らかの現象を観測したデータを解析したりモデリングするときには、どんなメカニズムでその現象が生じるのかを考え、それに基 づいた統計モデルを構築し、そのモデルが要求する前提が満たされているかどうかを確認します。これをやってはじめて、モデルの持つ意味を解釈することができます。このための堅実で無駄のない作業手順、つまりRでデータの様子を調べて可視化し解析するための作業テンプレートを示すのが、この本の目的です。データを理解し知りたいことを知る、というゴールを常に意識していれば、この本が示す作業の手順を身に付けて、活用できるようになるはずです。

第1章はまず、Rって何?です。たとえば、これから友達になるかな、いやどうだろうな、というような人にはじめて会うときは、お互いを知るための時間が少し必要です。第1章はそんな感じです。そしてRStudioという1人の友人を紹 介します。Rもですが、RStudioとも仲良くなってください。知り合いになれば、彼らに惚れ込むことになるのは間違いありません。

第2章は、データの準備のしかたと、Rへの読み込み方、ちゃんと思った通りに読み込まれているかを確認する方法です。こういったことを十分に教える入門コースは少ないのですが、無駄のない作業をするには重要なことなので、この章でしっかり説明します。十分な成果を得るためには、十分な準備が必要です。データ読み込みのときに間違いやすいことと、間違いの見つけ方と直し方を示します。

第3章は、データを読み込んだらまず何をするか、です。プロットを描いたり統計解析をしたりする前に、データの整形作業が必要になることがよくあるし、データの一部を抜き出したり、平均値±標準誤差を計算したいかもしれません。非常に簡潔で明解な方法があるので、それを取り上げます。

第4章は、データの可視化です。統計解析の章の前に作図の章です。私たちはプロとして常に、いかなる統計解析でもその前に必ず、データを図で見るからです(これはこの後も、何度でもまた言います)。ここでは散布図、ヒストグラム、箱ヒゲ図を取り上げます。もっと後半の章では平均値と標準誤差のプロットについても説明します(しかしエラーバーのある棒グラフはやりません。これは憎むべき存在だからです)。

第5章、第6章、第7章でついにやっと、統計解析をやります。第5章は「基礎的」な統計検定(t検定、x2分割表、簡単な線形回帰、一元配置分散分析 (one-way ANOVA))、第6章はさらに複雑な検定(二元配置分散分析(two-way ANOVA) と共分散分析(ANCOVA))、第7章は私たちが新たに踏み込む領域、一般化線形モデル(GLM)の中でもっともシンプルなポアソン回帰です。この本ではRの操作法がメインで、統計解析そのものはそんなにやらないと言いはしましたが、これらの章を学習すれば、Rから出てくるものの統計的な意味をちゃんと理解できるようになります。生命科学では様々な解析アプローチが必要になるので、その助けになればと思ってこの「一般化線形モデル(GLM)を使ってみる」の章を加えました。少しでも多くの解析法を見て知って、それが自分の研究を進め統計解析をさらに学ぶエネルギーと自信につながるとよいと思います。

第8章は再び、グラフィクスです。ここまでに出てきた図よりもより美しく見える作り方、つまり言ってしまえば、見せかけの飾り方です。プロットのタイトルや軸ラベル、色、サイズの調整、その他もろもろ、いろいろ調整して少しでも目を引き、解析結果がわかりやすく見えるきれいな図の作り方を説明します。ただし、このような飾りは使いどころを間違えると、ひどい図にもなり得ます。みなさんも気をつけましょう。

最後の第9章では、要するにこの本はどういうものだったのか、そして今後の指針はどうあるべきかについて、短くまとめました。ここまで来たみなさんは、Rについて十分な知識とスキルが身に付いていて、もっと知りたい、持っているデータを片っ端からどんどんRに投げ込みたい、という気持ちになっているはずです。そういう気持ちが湧いてくることこそが、Rの使い方が身に付いた証拠だ、とも言えるでしょう。

注1 http://dx.doi.org/10.1371/journal.pbio.1002128

この本での表記のしかた

この本では、Rの入出力の意味がわかりやすいように、全章を通じて文字の色やフォントの使い方を決めています。それでちょっとカラフルな感じになっています。みなさんの中には色の使い方などについて、視覚認識デザイン的見地から何か助言などのある人もいるかもしれませんが、ご意見は無用です。とにかく紙面上で何が何なのかハッキリ見分けがつくようにしました。
またみなさんが自分のパソコンで試せるところには、本文の脇にパソコンのアイコンを載せました(この横にあるヤツです)。
最後に、この本に出てくるデータセットはすべて、http://www.r4all. org/the-book/datasets/に置いてあります。いつでもダウンロードできます。

Rを使う理由

Rの使い方を勉強しようしている人は、「統計解析のソフトウェアはたくさんあるのに、Rを使うのはなぜ?」とは、今さら考えないかもしれません。でもみなさんの中には、プロの研究者としていろんな統計解析やグラフ作成ソフトウェアを使っている人もいるでしょう。またこれから研究者になるつもりの人で、指導教官やラボ内のみんなが使っているものがいいのかな、それか思い切ってRでやってみようかな、と悩んでいる人もいるでしょう。ラボではみんなRをバリバリ使ってるんだけど、自分はまだ使えなくて、いちいち調べるのが面倒な事柄がズバリ書いてあるような本を探してるんだけど……という人もいるでしょう。初心者がRに慣れるのにも、慣れた人が日々使うのにも、研究者としてのキャリアの長さや分野に関わらず、Rとはどういうものかを筋道立てて説明してあれば役に立つと思います。そこで、Rの特徴あるいは特性のうち、大事な点を列挙しておきます。Rを使いはじめる理由はいろいろあるでしょうが、以下のことはRを使うときにも、他のソフトウェアからRに移行するときにも参考になるでしょう。

1つ目は、Rは無料で自由に使え、クロスプラットフォームであることです(WindowsでもMac (OS X)でもLinuxでも使えます)。どこにいても同じ仕事をする、つまり共通のデータ形式で作図、解析作業ができ、しかもその一連の作業を自動で行う計算機プログラムを作ることができます(コードあるいはスクリプトと呼びます)。世界中どこでも、誰でも、パソコンが WindowsでもMacでもLinuxでもRは使えます。しかも利用許諾やライセンスの購入は必要はありません。大学の学部、あるいは全学で予算を割いていくつも統計解析ソフトウェアを使っているのなら、Rに乗り換えれば相当な金額が浮くでしょう。たとえ転職や異動があっても、Rはその異動先でまったく問題なく使えます。自分のコードが使えなくなることはありません。

2つ目は、Rは計算機言語のインタープリター型の実行環境だということです。マウスでメニューをクリックしていくような操作ではなく、コマンドをキーボードで打ち込んでいきます。したがって、解析作業全体の各作業ステップにおいて、Rに何をさせたいか、それはRにどう命令すればよいのか、そして何がRから返ってくるのかを知っておく必要があります。メニューのどこかをクリックしていけば何かいいものが出てくる、というわけにはいきません。これは見方を変えれば、Rを使っていくことで統計解析やデータ解析の詳細な作業手順について学び続けることになる、とも言えるでしょう。

3つ目は、Rはフリーだということです。無料だとは先に言いましたが、正確には、無料で自由に使えるということです。しかしRは、たくさんの人たちの甚大な労力によって作られており、また今も開発が続けられていて、この労力自体にはコストがかかっています。Rを使うときには、このことを心にとどめておきましょう。

4つ目は、統計解析の作業ではいくつもの定番のソフトウェアを組み合わせて使うことがよくありますが、Rの場合は全部Rだけですむ、ということです。 ちょっと挙げてみるだけでもExcel、Minitab、SAS、Systat、JMP、SigmaPlot、 CricketGraphなどがありますが、たくさん使えばそれだけライセンス料がかさみます。それに、データの様子、要約を見て、プロットを作り、統計解析の結果をまとめたいのに、作業結果は各ソフトウェアそれぞれの独自形式のファイルで保存され、パソコンのあちこち(や机の上)に散らかることになります。様々なファイル形式、有料ソフトウェアのデータ形式、使ったツール群をまとめて整理して管理するのは、うんざりで面倒に決まっています。また複数のソフトウェアの間でデータをやり取りしようと思ったら、そのためだけに作業ステップが増えることになります。そうやってまとめた結果を論文雑誌に投稿して数ヶ月あるいは半年後、論文が査読コメントともに返ってきて、解析内容を修正する必要が生じて、そしてまた結果をまとめ直すことを考えたらもう、笑うしかありません。Rを使えるようになれば、こういったストレス源は消え去ります。

5つ目は、出版に耐える十分な品質の図をRで作れることです。RだけでPDFをはじめとする様々な画像形式のファイルが作れるし、それはそのまま出版社で使ってもらえる品質です。私たちは普段、プロットを作るのにはRしか使いません。また論文を雑誌に投稿するときも、図はRで作ったPDFファイルをそのまま送っています。PDFファイルには、図の品質が解像度によらないという利点があります(どんなに拡大してもガタガタにならない)。したがって雑誌を作る出版 社も、図をどんなレイアウトに入れたとしても、まったく品質を落とさずにすむわけです。もし雑誌に載った自分の論文の図の品質が低かったとしても、悪いのは自分じゃない、出版社側の作業が原因だ!ってことがわかるわけです。

最後に、Rでやることはすべて、簡単に書いて保存できるということです。これをスクリプトと呼びます。スクリプトは解析作業の記録とも言えますが、これはいつまでも何度でも使え、自由に説明を記入でき、クロスプラットフォームで、誰でも見られるし使えるものなのです。観測結果の生データや実験ノートのデータをRに取り込むときから、図を作って解析作業を終えるまで、すべての作業を1つのスクリプトに入れることができます。これは安全で、再現性があり、また十分なドキュメントを備えたものになります。

まるで魔法みたいでしょう?Rを学ぶことには十分な価値があります。さあ、はじめましょう!

この本のアップデート

RStudioは今も活発に開発が続いているので、自分のパソコンで表示されるものが、この本のものと少し異なることはあり得ます。たとえば、この本の英語原著の印刷がはじまったすぐ後に、RStudioでデータの取り込み方法が新しく変わりました。その他にも変更点がありますが、それらについてはこの本のウェブサイトwww.r4all.org/the-bookに載せています。

謝辞

まず著者の妻たち、ソフィー、アマンダ、サラへ、あらゆる面において感謝したいと思います。ここ数年で彼女たちもRに詳しくなってしまいました。またオックスフォード大学出版局のイアン・シャーマンとルーシー・ナッシュには、いろいろなアドバイスだけでなく、サポート、応援もいただきました。ダグラス・メーキソンの素晴らしい校正、それに何度も我慢強く「最終校正」をやってくれたフィリップ・アレクサンダーにも感謝を捧げます。

Andrew P. Beckerman (その他), Dylan Z. Childs (その他), Owen L. Petchey (その他), 富永 大介 (翻訳)
出版社: 羊土社 (2019/3/15)、出典:出版社HP