出版社内容情報
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 パッケージを用いたメモリプロファイリング
18.4 即時修正
第19章 パッケージを用いたハイパフォーマンスな関数
19.1 C++を始めよう
19.2 属性とその他のクラス
19.3 欠損値
19.4 パッケージのシュガー
19.5 STL
19.6 ケーススタディー
19.7 パッケージでのパッケージの利用
19.8 さらに学ぶために
19.9 謝辞
第20章 RとCのインターフェイス
20.1 RからC言語の関数を呼び出す
20.2 C言語でのデータ構造
20.3 ベクトルの生成と修正
20.4 ペアリスト
20.5 引数の検証
20.6 関数のC言語ソースを探す方法
目次
導入
第1部 基本編(データ構造;データ抽出 ほか)
第2部 関数型プログラミング(関数型プログラミング;汎関数 ほか)
第3部 言語オブジェクトに対する計算(非標準評価;表現式 ほか)
第4部 パフォーマンス(パフォーマンス;コードの最適化 ほか)
著者等紹介
石田基広[イシダモトヒロ]
1989年東京都立大学大学院博士後期課程中退。現在、徳島大学総合科学部教授。専攻はテキストマイニング
市川太祐[イチカワダイスケ]
現在、医師。東京大学大学院医学系研究科医学博士課程在学中
高柳慎一[タカヤナギシンイチ]
2006年北海道大学大学院理学研究科物理学専攻修士課程修了。現在、株式会社リクルートコミュニケーションズ兼株式会社リクルートライフスタイル。総合研究大学院大学複合科学研究科統計科学専攻博士課程在学中。専攻は統計科学
福島真太朗[フクシマシンタロウ]
2006年東京大学大学院新領域創成科学研究科複雑理工学専攻修士課程修了。現在、株式会社トヨタIT開発センターリサーチャー。専攻はデータマイニング(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。