R言語徹底解説

書籍情報
ISBN978-4-320-12393-9
判型A5 
ページ数532ページ
発行年月2016年02月
本体価格5,400円
R言語徹底解説 書影
R言語徹底解説

Rはデータ解析とグラフィックス作成機能に優れたプログラミング言語であるが,構文などに癖があることでも知られる。本書はRのパッケージ作者として著名なHadley WickhamによるR言語の解説書である。ここでは著者自身の10年を越えるプログラミング経験にもとづき,関数や環境,遅延評価など,ユーザが躓きやすいポイントについて丁寧に説明されている。また簡潔で汎用的な処理を実現するメタプログラミング,パフォーマンスの改善,デバッグ,RとC++との連携などについても,指針となるテクニックが多数紹介されている。本書を通じて,読者はコードをコピペする受動的なユーザから能動的なプログラマへと変貌を遂げることができる。またPythonやC++などのプログラマであれば,本書一冊でRの基本構造をマスターできるだけでなく,自身のスキルを高めるヒントを得られるだろう。
[原著名:Advanced R]

目次

第1章 導入
1.1 本書が想定する読者層
1.2 本書から読者が得られるもの
1.3 メタテクニック
1.4 推奨される文献
1.5 助言を得る
1.6 謝辞
1.7 本書での表記
1.8 本書の公開にあたって


第I部 基本編

第2章 データ構造
2.1 ベクトル
2.2 属性
2.3 行列および配列
2.4 データフレーム
2.5 クイズの解答

第3章 データ抽出
3.1 データ抽出の型
3.2 データ抽出演算子
3.3 データ抽出と付値
3.4 応用例
3.5 クイズの解答

第4章 ボキャブラリ
4.1 基本的な関数群
4.2 よく使われるデータ構造
4.3 統計学関連
4.4 Rを制御する関数群
4.5 入出力関連

第5章 コーディングスタイルガイド
5.1 表記および命名
5.2 文法
5.3 コードの構造化

第6章 関数
6.1 関数の構成要素
6.2 レキシカルスコープ
6.3 すべての操作は関数呼び出しである
6.4 関数の引数
6.5 特殊な関数呼び出し
6.6 返り値
6.7 クイズの解答

第7章 オブジェクト指向実践ガイド
7.1 基本型
7.2 S3
7.3 S4
7.4 RC
7.5 オブジェクト指向システムの選び方
7.6 クイズの解答

第8章 環境
8.1 環境の基礎
8.2 環境の再帰
8.3 関数の環境
8.4 名前と値の束縛
8.5 明示的環境
8.6 クイズの解答

第9章 デバッギング,条件ハンドリング,防御的プログラミング
9.1 デバッグ技法
9.2 デバッグのツール
9.3 条件ハンドリング
9.4 防御的プログラミング
9.5 クイズの解答


第II部 関数型プログラミング

第10章 関数型プログラミング
10.1 モチベーション
10.2 無名関数
10.3 クロージャ
10.4 関数のリスト
10.5 ケーススタディ:数値積分

第11章 汎関数
11.1 初めての汎関数:lapply()
11.2 Forループ汎関数:lapply()の仲間たち
11.3 行列やデータフレームの操作
11.4 リストの操作
11.5 数学的な汎関数
11.6 ループを維持すべき場合
11.7 関数族

第12章 関数演算子
12.1 挙動に関わるFO
12.2 出力に関わるFO
12.3 入力に関わるFO
12.4 FOを結び付ける


第III部 言語オブジェクトに対する計算



第13章 非標準評価
13.1 表現式の捕捉
13.2 subset()における非標準評価
13.3 変数のスコープに関する問題
13.4 別の関数からの呼び出し
13.5 substitute()
13.6 非標準評価の欠点

第14章 表現式
14.1 表現式の構造
14.2 名前
14.3 呼び出し
14.4 現在の呼び出しの捕捉
14.5 ペアリスト
14.6 パーシングとデパーシング
14.7 再帰関数を用いた抽象構文木の巡回

第15章 ドメイン特化言語
15.1 HTML
15.2 LaTeX


第IV部 パフォーマンス

第16章 パフォーマンス
16.1 Rはなぜ遅いか
16.2 マイクロベンチマーキング
16.3 言語のパフォーマンス
16.4 実装のパフォーマンス
16.5 代替のRの実装

第17章 コードの最適化
17.1 パフォーマンスの測定
17.2 パフォーマンスの改善
17.3 コードの系統化
17.4 誰かがすでにその問題を解決していないか
17.5 可能な限り処理を少なくする
17.6 ベクトル化
17.7 コピーの回避
17.8 バイトコードのコンパイル
17.9 ケーススタディ:t検定
17.10 並列化
17.11 その他のテクニック

第18章 メモリ
18.1 オブジェクトのサイズ
18.2 メモリの使用とガベージコレクション
18.3 lineprofパッケージを用いたメモリプロファイリング
18.4 即時修正

第19章 パッケージを用いたハイパフォーマンスな関数
19.1 C++を始めよう
19.2 属性とその他のクラス
19.3 欠損値
19.4 Rcppパッケージのシュガー
19.5 STL
19.6 ケーススタディ
19.7 パッケージでのRcppパッケージの利用
19.8 さらに学ぶために
19.9 謝辞

第20章 RとC言語のインターフェイス
20.1 RからC言語の関数を呼び出す
20.2 C言語でのデータ構造
20.3 ベクトルの生成と修正
20.4 ペアリスト
20.5 引数の検証
20.6 関数のC言語ソースを探す方法