『Rプログラミング&グラフィックス』

高階知巳

(2008年5月15日刊行,九天社,x+249 pp.,本体価格3,800 円,ISBN:9784861672347版元ページ



〈R〉による「プログラミング」に重点を置いた本という点で,先行する:ウーヴェ・リゲス『Rの基礎とプログラミング技法』(2006年10月22日刊行,シュプリンガー・ジャパンISBN:4431712186目次),あるいは:間瀬茂『Rプログラミングマニュアル』(2007年11月10日刊行,サイエンス社[新・数理工学ライブラリ[情報工学] 1],ISBN:9784901683500版元ページ)に近い性格の本だと思われる.




【目次】
はじめに III
本書の構成と動作環境 IV

第1部 環境編 1

第1章 対話環境への招待:Rのエッセンス 3

1.1 対話の開始と終了
1.2 コマンドラインの操作
1.3 グラフ電卓から「こんにちは」世界まで
1.4 変数を定義しよう
1.5 関数を定義しよう
1.6 プログラム/データファイル/アドオンパッケージの読み込み
 1.6.1 ディレクトリ関係の操作
 1.6.2 プログラムの読み込み
 1.6.3 データファイルの読み込み
 1.6.4 アドオンパッケージの読み込み
1.7 ワークスペースディレクト
 1.7.1 ワークスペースとその操作
 1.7.2 ワークスペースの保存と復帰
 1.7.3 初期化関数と片付け関数
1.8 オブジェクトと対話
 1.8.1 オブジェクト指向的な振る舞い
 1.8.2 関数の定義を確認する
 1.8.3 オブジェクトの詳細を確認する
1.9 対話環境の設定
 1.9.1 関数で対話環境の設定を参照・変更したりする方法
 1.9.2 Rの起動時に自動的に実行する内容を指定する方法
1.10 グラフィックス
1.11 まとめ

第2章 ドキュメンテーション 31

2.1 便利なオンラインヘルプ:見出し語から探す
2.2 例の実行
2.3 アドオンパッケージとドキュメント
2.4 オンラインヘルプの検索

第3章 デバッグの方法 43

3.1 関数単位でのテスト
3.2 バグブラウザの使用
 3.2.1 recoverによるデバッグ
 3.2.2 dump.framesによるデバッグ
 3.2.3 browserによるデバッグ
3.3 デバッグまとめ

第4章 バッチ処理 53

4.1 RのBATCHコマンドを使う方法
4.2 UNIX系シェルのヒアドキュメントを使う方法

第2部 プログラミング編 59

第5章 プログラミング 61

5.1 Rでプログラムするということ
5.2 Rのプログラムの形式
5.3 オブジェクトと変数
5.4 文とブロック
5.5 スコープ
 5.5.1 関数レベルでのスコープ
 5.5.2 パッケージレベルでのスコープ

第6章 データ型 73

6.1 数値型(numeric)
 6.1.1 無限大と非数値
6.2 整数型(integer)
6.3 論理型(logical)
 6.3.1 欠損値
6.4 文字型(character)
6.5 因子型(factor)
6.6 複素数型(complex)
6.7 型テストと型変換

第7章 データの集合 85

7.1 ベクトル
 7.1.1 cについて
7.2 行列
7.3 配列
7.4 リスト
7.5 データフレーム
7.6 要素の参照方法
 7.6.1 単純参照
 7.6.2 名前付き参照
 7.6.3 集合参照
 7.6.4 除外参照
 7.6.5 条件付き参照
 7.6.6 リストの要素の参照
7.7 データ構造の部分書き換え
7.8 データ構造の結合
7.9 異なるデータ構造間での変換
7.10 例題:家計簿

第8章 演算子 109

8.1 四則演算子
8.2 比較演算子
8.3 論理演算子

第9章 関数 117

9.1 関数型プログラミング
9.2 関数の定義
9.3 引数の順番と省略
9.4 複数の値を返したい場合
9.5 ローカル変数・関数
9.6 匿名関数
9.7 再帰呼び出し
9.8 まとめ

第10章 制御構造 131

10.1 ifによる場合分け
10.2 forによる繰り返し
10.3 breakとnextによる制御
10.4 whileとrepeatによる繰り返し
10.5 例題:ライフゲーム

第11章 算術関数と文字列関数 143

11.1 算術関数
11.2 文字列関数
11.3 データ集合・統計の演算関数

第12章 ベクトル演算型プログラミング 151

12.1 forループを使う理由
12.2 マッピング
12.3 フィルタ
12.4 還元
12.5 apply系のバリエーション
12.6 関数のベクトル
12.7 例題1:画像の色表現の変換
12.8 例題2:信号処理
12.9 例題3:アンケート結果の集計

第13章 例外処理 167

13.1 warning()による警告
13.2 stop()による停止
13.3 stopifnot()による検査
13.4 tryCatch()による明示的な復旧
13.5 関数型言語と例外処理

第14章 入出力及びオペレーティングシステム 173

14.1 コネクション
14.2 表形式のデータの入出力
14.3 scan()による項目ごとの入力
14.4 readLines()による行ごとの入力
14.5 テキスト出力
14.6 バイナリデータの入出力
14.7 エンコーディングについて
14.8 パイプ
14.9 ファイル操作関数
14.10 ガーベージコレクション
14.11 時間
14.12 OSとのインタラクション
14.13 例題:grep
14.14 例題:表データから複数のファイルへの仕分け

第15章 オブジェクト指向とクラス 187

15.1 Rにおけるオブジェクト指向の考え方
15.2 クラスの定義
15.3 メソッドの定義
15.4 型変換
15.5 例題:画像クラスの定義
15.6 Rにおけるオブジェクト指向の変遷

第3部 グラフィックス編 195

第16章 グラフィックス基礎 197

16.1 グラフのカタログ
16.2 仮想デバイス
 16.2.1 デバイスの操作
 16.2.2 マルチページ対応
16.3 基本のプロット関数
 16.3.1 plot()
 16.3.2 legend()
 16.3.3 points()
 16.3.4 lines()
 16.3.5 abline()
 16.3.6 画像
16.4 高機能なプロット関数
 16.4.1 棒グラフ
 16.4.2 対散布図
 16.4.3 円グラフ
16.5 その他の描画機能
 16.5.1 タイトル
 16.5.2 テキスト
 16.5.3 矩形
 16.5.4 多角形
 16.5.5 スプライン曲線

第17章 グラフィックス応用 213

17.1 レイアウト
 17.1.1 レイアウトパラメータ
 17.1.2 複数プロットのレイアウト
17.2 画像の色の分析
17.3 3次元グラフィックス
 17.3.1 トレリスにおける3次元グラフィックス
 17.3.2 RGLによる3次元グラフィックス

付録 223

付録A パッケージの作り方 225
 A.1 パッケージ化の意義
 A.2 パッケージを作るための環境
 A.3 パッケージ作成の手順
  A.3.1 パッケージ・ディレクトリの作成
  A.3.2 Rファイルの準備
  A.3.3 外部言語ファイルの準備
  A.3.4 サンプルデータの準備
  A.3.5 ドキュメントの記述
  A.3.6 DESCRIPTIONファイルの記述
  A.3.7 NAMESPACEファイルの記述
  A.3.8 パッケージのチェック
  A.3.9 パッケージ・ファイルの作成
 A.4 外部言語インタフェース
 A.5 パッケージのインストール

付録B Rの起動オプション 239

付録C 練習問題の解答 241
 C.1 第2章の練習問題
 C.2 第7章の練習問題

索引 244