序文
本気でデータを理解したいなら、プログラミングを学ぶことは重要である。データサイエンスはコンピュータ上で実行しなければならないことは当然のことながら、その際の選択肢はGUIを学ぶかプログラミング言語を学ぶかしかない。Garrettと私は、データを本格的に操作するつもりならプログラミングは必要不可欠なスキルだと確信している。GUIは確かに便利だが、優れたデータ分析のために必須の3つの要素について自由がきかないので、最終的にそれが足かせになってしまう。
- 再現性
- 科学では、過去の分析を再現できることが本質である。
- 自動化
- データが変わったときに(データはかならず変わるものだが)分析をすぐにやり直せること。
- コミュニケーション
- コードは単なるテキストであり、簡単にコミュニケーションができる。メール、Google、Stack Overflow、その他どこであっても、助言をもらうためにはコミュニケーションのしやすさが鍵を握る。
プログラミングを恐れないようにしよう。プログラミングは、意欲が続けば誰でも習得できる。そして、本書はその意欲を保てるように構成されている。本書はリファレンスではない。実際に試すことができる3つの課題を中心として構成されている。これらの課題を制覇していく過程でRプログラミングの基礎が身につき、ベクトル化コード、スコープ、S3メソッドなどの中級レベルの知識さえ頭に入る。現実の課題は学習の王道だ。これを解決するために必要になったときに関数を学習し、内容抜きに関数を記憶するようなことはしないからだ。人は、読むのではなく、することによって学習するのである。
プログラムの学習が進んでくると、フラストレーションを感じるようになるだろう。新しい言語を学ぶとき、新しい言語を流暢に話せるようになるには時間がかかる。しかし、フラストレーションはそんな自然現象のようなものではなくて、実際には、注視すべきポジティブなサインなのである。フラストレーションは、脳が怠けたがっているということだ。脳は、難しいことを止めて、簡単なこと、楽しいことをしたがる。身体を鍛えたければ、苦しくても身体を追い込まなければならない。同様に、プログラミングを上達させたければ、脳を追い込む必要がある。いつフラストレーションを感じるかを意識して、それをよい兆候と考えるようにしよう。自分の力でストレッチをするようになっているのである。毎日少しずつ余分に自分を追い込んでいけば、じきに自信のあるプログラマになれる。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access