内容紹介
「Rの神様」ハドリー・ウィッカムが、パッケージ作成の作法を教授!
ggplot2、plyrといったRを代表するパッケージやRStudioの開発で知られる「Rの神様」ハドリー・ウィッカムがRパッケージの作成方法を解説した書籍です。Rパッケージ作成を通じて、無駄のない開発や生産性の向上だけでなく、Rの哲学や作法など、Rプログラミングに関するさまざなことを学ぶことができます。実際にパッケージ開発をしない一般のユーザにとっても、再利用しやすく、保守しやすいスクリプトを書くことができ、効率的なRプログラミングが可能となります。
目次
詳細目次
訳者まえがき
まえがき
I部 第一歩
1章 はじめに
1.1 哲学
1.2 学習開始
1.3 規約
1.4 参考情報
2章 パッケージの構造
2.1 パッケージに名前を付ける
2.1.1 名前の要件
2.1.2 名前を付ける方法
2.2 パッケージを作成する
2.3 RStudioプロジェクト
2.3.1 RStudioプロジェクトファイルとは
2.4 パッケージとは
2.4.1 ソースパッケージ
2.4.2 バンドルパッケージ
2.4.3 バイナリパッケージ
2.4.4 インストール済みのパッケージ
2.4.5 インメモリパッケージ
2.5 ライブラリとは
Ⅱ部 パッケージコンポーネント
3章 Rコード
3.1 Rコードのワークフロー
3.2 関数をまとめる
3.3 コードスタイル
3.3.1 オブジェクト名
3.3.2 スペース
3.3.3 中括弧
3.3.4 行の長さ
3.3.5 インデント
3.3.6 割り当て
3.3.7 コメントのガイドライン
3.4 トップレベルのコード
3.4.1 コードのロード
3.4.2 Rの景観
3.4.3 副作用が必要になるのはどのようなときか
3.4.4 S4クラス、ジェネリック、メソッド
3.5 CRANに関する補足
4章 パッケージのメタデータ
4.1 依存関係:パッケージには何が必要か
4.1.1 バージョン管理
4.1.2 その他の依存関係
4.2 TitleとDescription:パッケージは何をするのか
4.3 作成者:開発したのは誰か
4.3.1 CRANでは
4.4 ライセンス:パッケージを使えるのは誰か
4.4.1 CRANでは
4.5 バージョン
4.6 その他のコンポーネント
5章 オブジェクトのドキュメント
5.1 ドキュメントのワークフロー
5.2 その他のドキュメントのワークフロー
5.3 roxygenコメント
5.4 関数のドキュメント
5.5 データセットのドキュメント
5.6 パッケージのドキュメント
5.7 クラス、ジェネリック、メソッドのドキュメント
5.7.1 S3
5.7.2 S4
5.7.3 RC
5.8 特殊文字
5.9 Do Repeat Yourself
5.9.1 パラメータを他の関数から継承する
5.9.2 複数の関数を同じファイルにドキュメント化する
5.10 テキスト書式参照表
5.10.1 文字の書式
5.10.2 リンク
5.10.3 リスト
5.10.4 数式
5.10.5 表
6章 vignette:長文形式のドキュメント
6.1 vignetteワークフロー
6.2 メタデータ
6.3 Markdown
6.3.1 セクション
6.3.2 リスト
6.3.3 インライン書式
6.3.4 表
6.3.5 コード
6.4 knitr
6.4.1 オプション
6.5 開発サイクル
6.6 vignetteを書くためのアドバイス
6.6.1 統合
6.7 CRANに関する補足
6.8 次に行くべき場所
7章 テスト
7.1 テストのワークフロー
7.2 テストの構造
7.2.1 期待値の検証
7.3 テストを書く
7.3.1 何をテストするか
7.3.2 テストをスキップする
7.3.3 独自のテストツールの作成
7.4 テストファイル
7.5 CRANに関する補足
8章 名前空間
8.1 動機付け
8.2 検索パス
8.3 名前空間
8.4 ワークフロー
8.5 エクスポート
8.5.1 S3
8.5.2 S4
8.5.3 RC
8.5.4 データ
8.6 インポート
8.6.1 R関数
8.6.2 S3
8.6.3 S4
8.6.4 コンパイル済みの関数
9章 外部データ
9.1 エクスポートされたデータ
9.1.1 データセットのドキュメント
9.2 内部データ
9.3 生データ
9.4 その他のデータ
9.5 CRANに関する補足
10章 コンパイル済みのコード
10.1 C++
10.1.1 ワークフロー
10.1.2 ドキュメント
10.1.3 C++コードのエクスポート
10.1.4 C++コードのインポート
10.1.5 ベストプラクティス
10.2 C
10.2.1 .Call()入門
10.2.2 .C()入門
10.2.3 ワークフロー
10.2.4 Cコードのエクスポート
10.2.5 Cコードのインポート
10.2.6 ベストプラクティス
10.3 コンパイル済みのコードのデバッグ
10.4 Makefile
10.5 R以外の言語
10.6 ライセンス
10.7 開発ワークフロー
10.8 CRANに関する課題
11章 インストール済みのファイル
11.1 パッケージの引用
11.2 R以外の言語
12章 その他のコンポーネント
12.1 デモ
Ⅲ部 ベストプラクティス
13章 GitとGitHub
13.1 RStudioとGit、そしてGitHub
13.2 初期設定
13.3 ローカルのGitリポジトリの作成
13.4 変更点を見る
13.5 変更を記録する
13.6 コミットのベストプラクティス
13.7 ファイルを無視する
13.8 間違いを取り消す
13.9 GitHubと同期する
13.10 GitHubを使うメリット
13.11 他者と作業する
13.12 issue
13.13 ブランチ
13.14 pull requestを作成する
13.15 他のリポジトリにpull requestを送る
13.16 pull requestをレビューして承認する
13.17 詳細を学ぶ
14章 自動チェック
14.1 チェックのワークフロー
14.2 チェック
14.2.1 メタデータのチェック
14.2.2 パッケージ構造
14.2.3 DESCRIPTION
14.2.4 名前空間
14.2.5 Rコード
14.2.6 データ
14.2.7 ドキュメント
14.2.8 デモ
14.2.9 コンパイル済みのコード
14.2.10 テスト
14.2.11 vignette
14.3 コミットごとにTravisでチェックを行う
14.3.1 基本設定
14.3.2 その他の用途
15章 パッケージのリリース
15.1 バージョン番号
15.2 後方互換性
15.3 投稿プロセス
15.3.1 テスト環境
15.3.2 チェック結果
15.3.3 逆方向の依存関係
15.4 CRANポリシー
15.5 重要なファイル
15.5.1 README.md
15.5.2 README.Rmd
15.5.3 NEWS.md
15.6 リリース
15.6.1 失敗したときは
15.6.2 バイナリビルド
15.7 次のバージョンの準備
15.8 パッケージの公開
15.9 お疲れさまでした
索引
続きを見る