ggplot2、plyr、tidyrといったRを代表するパッケージやRStudioの開発で知られる「Rの神様」ハドリー・ウィッカムがRパッケージの作成方法を解説した書籍です。Rパッケージ作成を通じて、無駄のない開発や生産性の向上だけでなく、Rの哲学や作法など、Rプログラミングに関するさまざまなことを学ぶことができます。実際にパッケージ開発には関わらないような一般のユーザにとっても、再利用しやすく、保守しやすいスクリプトを書くことができ、効率的なRプログラミングが可能となります。さらに効率化を図りたいデータサイエンティスト、スキルを磨いて次のステップに進みたい開発者に最適の一冊です。
Rパッケージ開発入門
―テスト、文書化、コード共有の手法を学ぶ
Hadley Wickham 著、瀬戸山 雅人、石井 弓美子、古畠 敦 訳
- TOPICS
- Data Science , Database , R
- 発行年月日
- 2016年02月
- PRINT LENGTH
- 232
- ISBN
- 978-4-87311-759-1
- 原書
- R Packages
- FORMAT
目次
目次 訳者まえがき まえがき 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 お疲れさまでした 索引