RStudio ではじめる R プログラミング入門
アールスタジオ デ ハジメル アール プログラミング ニュウモン
- 著者:
- ギャレット・グロールマンド / 大橋真也(グロールマンド, ギャレット / オオハシ, シンヤ)
- 出版社:
- オライリー・ジャパン
- 出版日:
- 2015年03月
- ISBN:
- 9784873117157
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
「統計を使わずに、R を純粋にプログラミング言語として学ぼう」というコンセプトに基づいて書かれた本書は、統計学の難しい知識がなくてもプログラミングの経験があまりなくても、プログラミングを学んでみようという意欲さえあれば読める、画期的な書籍です。サイコロを作る、ゲームで遊べるトランプを作る、スロットマシンを作る、という 3 つの簡単なプロジェクトに取り組む過程で、R のプログラミング統合環境、RStudio を活用して、楽しみながら効率的に R のプログラミングスキルを身に付けていきます。統計だけに使うのはもったいない、R のプログラミング言語としての隠れた魅力と可能性と、さらにはデータサイエンスの基礎としてのデータ分析を紹介します。
技書の森解説
統計の本を開いたのに、R のコードが読めずに先へ進めない。そうした人のために書かれたのが『RStudio ではじめる R プログラミング入門』 (Garrett Grolemund 著、大橋 真也 監訳、長尾 高弘 訳、オライリー・ジャパン、2015 年 3 月 25 日発行) です。原書は Hands-On Programming with R で、版元の紹介文は「統計を使わずに、R を純粋にプログラミング言語として学ぼう」というコンセプトを掲げ、統計学の難しい知識やプログラミングの経験があまりなくても読める書籍と説明しています。R 言語 を分析の道具として使う前に、言語としての仕組みを手を動かして身につけたい人に向いた入門書です。
サイコロ、トランプ、スロットマシンの 3 部構成
本文は 3 つのプロジェクトに対応する 3 部と全 10 章で組まれています。I 部「プロジェクト 1:ウェイトをかけたサイコロ」は 1 章「基本中の基本」と 2 章「パッケージとヘルプページ」で、オブジェクトと関数、独自関数の書き方、スクリプト、パッケージの導入とヘルプページの読み方を扱います。II 部「プロジェクト 2:トランプ」は 3 章「R のオブジェクト」から 6 章「環境」までで、アトミックベクトルや属性、行列、リスト、データフレーム、値の選択と書き換え、欠損情報、スコープルールやクロージャへ進みます。3 つ目のプロジェクトであるスロットマシンの部は 7 章「プログラム」、8 章「S3」、9 章「ループ」、10 章「スピード」で、条件分岐とルックアップテーブル、期待値の計算、ベクトル化コードの書き方までを扱います。巻末の付録 A〜E は R と RStudio のインストール、パッケージ、アップデート、データのロードと保存、R コードのデバッグです。
ベクトル、環境、S3 が R らしさを決める理由
他の言語の経験がある人ほど R でつまずくのは、R の値が基本的にベクトルとして扱われる点です。1 つの数値も長さ 1 のベクトルであり、足し算や比較は要素ごとにまとめて適用されます。このため、要素を 1 つずつ回す for ループで書いたコードより、ベクトル全体に一度に演算を掛けるコードのほうが短く、しかも大幅に速く動くことがよくあります。関数の中で変数がどこから探されるのかを決める環境の仕組みを理解すると、関数が定義された場所の変数を覚えておく書き方や、思わぬ値の上書きがなぜ起きるのかが説明できるようになります。さらに print や summary のような同じ呼び出しが、オブジェクトに付いたクラスの属性によって別の処理へ振り分けられる仕組みは、ポリモーフィズム を軽い約束事で実現する R の流儀です。こうした言語の土台を押さえておくと、統計手法のパッケージのコードやエラーメッセージを読むときに迷いにくくなります。
向く読者と、統計を求める読者が先に知っておく点
本書が向くのは、R を初めて触る人や、Excel 中心の集計から一歩進んでコードで処理を書きたい人、別の言語は書けるものの R の独特の振る舞いに戸惑っている人です。付録で R と RStudio の導入から始められるため、環境づくりで止まる心配も小さくなります。一方で、回帰分析や検定といった統計手法そのものを体系的に学ぶ本ではありません。版元の紹介文が触れるのは、データサイエンス の基礎としてのデータ分析の紹介までです。また 2015 年刊の本なので、操作画面やパッケージの事情は 2015 年時点の環境を前提に読む必要があります。統計の教科書に進む前に R のコードを自分で読み書きできる状態を作りたい人にとって、3 つの小さなプロジェクトを順に完成させながら言語の仕組みを一通りたどれる本書が向く一冊です。
言及した記事 (6 件)
この本に興味がある方におすすめ
関連する本
関連記事
関連用語
プログラミング
コンピューターに実行させる手順をプログラミング言語で記述し、動作を作り出す行為
競技プログラミング
与えられた問題を制限時間内に正確 / 高速に解くプログラミング競技
ペアプログラミング
2 人の開発者が 1 台の PC で協力してコードを書く開発手法
依存グラフとは - モジュール間の依存関係を可視化する方法
依存グラフはパッケージやモジュール間の依存関係を有向グラフで表現する手法。循環依存の検出 / ビルド順序の決定 / 影響範囲分析での活用法を解説
グラフアルゴリズム
ノードとエッジで構成されるグラフ構造に対する探索 / 最短経路 / 接続性の分析アルゴリズム
グラフデータベース
ノード (エンティティ) とエッジ (関係) でデータを表現し、複雑な関係性のクエリに特化したデータベース