Rクックブック

[cover photo]
  • 2011年12月 発行
  • 374ページ
  • ISBN978-4-87311-533-7
  • フォーマット Print PDF
  • 原書: R Cookbook

オライリー・ジャパンで書籍を購入:
定価3,024円

Ebook Storeで電子版を購入:
価格2,419円

オープンソースの統計解析ツール、Rの使い方、機能、威力を、200以上におよぶ問題の「レシピ」を通じて紹介するクックブックです。Rを使う上で頻繁に遭遇する問題、役に立つヒントを厳選した、実用的、実際的なテクニック集となっています。Rの基本操作から、高度なテクニックまで網羅。初心者にとってはつまずきやすいポイントや間違いやすい箇所を的確にフォロー。中級者以上にとってはRを使った作業がより生産的、効率的になるような「使える」レシピを用意しています。

関連書籍

Head First Statistics
Head Firstデータ解析
RStudioではじめるRプログラミング入門
Rクイックリファレンス 第2版
Rグラフィックスクックブック
RとRubyによるデータ解析入門
Rパッケージ開発入門
Statistics Hacks
ビューティフルデータ
ビューティフルビジュアライゼーション

目次

はじめに

1章	入力と出力
    レシピ1.1 キーボードからデータを入力する
    レシピ1.2 出力する桁数を減らす(または増やす)
    レシピ1.3 出力をファイルにリダイレクトする
    レシピ1.4 ファイルの一覧を表示する
    レシピ1.5 Windowsの「ファイルが開けません」に対処する
    レシピ1.6 固定幅レコードを読み込む
    レシピ1.7 表形式データファイルを読み込む
    レシピ1.8 CSVファイルから読み込む
    レシピ1.9 CSVファイルに書き出す
    レシピ1.10 Webから表形式データまたはCSVデータを読み込む
    レシピ1.11 HTML表からデータを読み込む
    レシピ1.12 複雑な構造のファイルを読み込む
    レシピ1.13 MySQLデータベースから読み込む
    レシピ1.14 オブジェクトの保存や移動を行う

2章	データ構造
    レシピ2.1 ベクトルにデータを追加する
    レシピ2.2 ベクトルにデータを挿入する
    レシピ2.3 リサイクル規則を理解する
    レシピ2.4 ファクタ(カテゴリ変数)を作成する
    レシピ2.5 複数のベクトルを1つのベクトルとファクタに合成する
    レシピ2.6 リストを作成する
    レシピ2.7 リスト要素を位置を使って選択する
    レシピ2.8 リスト要素を名前で選択する
    レシピ2.9 名前/値の関連リストを作成する
    レシピ2.10 リストから要素を削除する
    レシピ2.11 リストをベクトルに変換する
    レシピ2.12 リストからNULL要素を削除する
    レシピ2.13 条件を使ってリスト要素を削除する
    レシピ2.14 行列を初期化する
    レシピ2.15 行列演算を行う
    レシピ2.16 行列の行と列に記述名を付ける
    レシピ2.17 行列から1行または1列を選択する
    レシピ2.18 列データでデータフレームを初期化する
    レシピ2.19 行データでデータフレームを初期化する
    レシピ2.20 データフレームに行を追加する
    レシピ2.21 データフレームを事前にアロケートする
    レシピ2.22 データフレームの列を位置を使って選択する
    レシピ2.23 データフレームの列を名前を使って選択する
    レシピ2.24 行と列をもっと簡単に選択する
    レシピ2.25 データフレームの列名を変更する
    レシピ2.26 データフレームを編集する
    レシピ2.27 データフレームからNA値を削除する
    レシピ2.28 名前で列を除外する
    レシピ2.29 2つのデータフレームを結合する
    レシピ2.30 共通列でデータフレームをマージする
    レシピ2.31 データフレームの内容にもっと簡単にアクセスする
    レシピ2.32 あるアトミック値を別のアトミック値に変換する
    レシピ2.33 ある構造化データ型を別の構造化データ型に変換する

3章	データ変換
    レシピ3.1 ベクトルをグループに分割する
    レシピ3.2 各リスト要素に関数を適用する
    レシピ3.3 すべての行に関数を適用する
    レシピ3.4 すべての列に関数を適用する
    レシピ3.5 データのグループに関数を適用する
    レシピ3.6 行のグループに関数を適用する
    レシピ3.7 並列ベクトルや並列リストに関数を適用する

4章	文字列と日付
    レシピ4.1 文字列の長さを取得する
    レシピ4.2 文字列を連結する
    レシピ4.3 部分文字列を抽出する
    レシピ4.4 区切り文字で文字列を分割する
    レシピ4.5 部分文字列を置換する
    レシピ4.6 文字列内の特殊文字を見る
    レシピ4.7 文字列の対となるすべての組合せを求める
    レシピ4.8 現在の日付を取得する
    レシピ4.9 文字列を日付に変換する
    レシピ4.10 日付を文字列に変換する
    レシピ4.11 年、月、日を日付に変換する
    レシピ4.12 ユリウス日を取得する
    レシピ4.13 日付の要素を抽出する
    レシピ4.14 日付の列を作成する

5章	確率
    レシピ5.1 組合せを数える
    レシピ5.2 組合せを求める
    レシピ5.3 乱数を生成する
    レシピ5.4 再現可能な乱数を生成する
    レシピ5.5 無作為標本を生成する
    レシピ5.6 乱数列を生成する
    レシピ5.7 ベクトルの順序をランダムに変える
    レシピ5.8 離散分布の確率を求める
    レシピ5.9 連続分布の確率を求める
    レシピ5.10 確率を分位数に変換する
    レシピ5.11 密度関数をプロットする

6章	一般統計学
    レシピ6.1 データを要約する
    レシピ6.2 相対度数を求める
    レシピ6.3 ファクタを表にして分割表を作成する
    レシピ6.4 カテゴリ変数の独立性を検定する
    レシピ6.5 データセットの分位数(および四分位数)を求める
    レシピ6.6 分位数を反転させる
    レシピ6.7 データをZ値に変換する
    レシピ6.8 標本の平均を検定する(t検定)
    レシピ6.9 平均値の信頼区間を求める
    レシピ6.10 中央値の信頼区間を求める
    レシピ6.11 標本比率を検定する
    レシピ6.12 比率の信頼区間を求める
    レシピ6.13 正規性を検定する
    レシピ6.14 連検定を行う
    レシピ6.15 2つの標本の平均を比較する
    レシピ6.16 2つの標本の位置をノンパラメトリックに比較する
    レシピ6.17 相関の有意性を検定する
    レシピ6.18 グループの比率が同じかどうかを検定する
    レシピ6.19 グループ平均の多重比較を行う
    レシピ6.20 2つの標本の分布が同じかどうかを検定する

7章	グラフィックス
    レシピ7.1 散布図を作成する
    レシピ7.2 タイトルとラベルを追加する
    レシピ7.3 グリッドを追加する
    レシピ7.4 複数グループの散布図を作成する
    レシピ7.5 凡例を追加する
    レシピ7.6 散布図の回帰直線をプロットする
    レシピ7.7 各変数と他のすべての変数の組合せをプロットする
    レシピ7.8 各ファクタ水準に対して1つの散布図を作成する
    レシピ7.9 棒グラフを作成する
    レシピ7.10 棒グラフに信頼区間を追加する
    レシピ7.11 棒グラフに色を付ける
    レシピ7.12 xとyの点から線を描画する
    レシピ7.13 線の種類、幅、色を変更する
    レシピ7.14 複数のデータセットを描画する
    レシピ7.15 垂直線や水平線を追加する
    レシピ7.16 箱ひげ図を作成する
    レシピ7.17 各ファクタ水準に1つの箱ひげ図を作成する
    レシピ7.18 ヒストグラムを作成する
    レシピ7.19 ヒストグラムに密度推定を追加する
    レシピ7.20 離散ヒストグラムを作成する
    レシピ7.21 正規Q-Qプロットを作成する
    レシピ7.22 その他のQ-Qプロットを作成する
    レシピ7.23 変数を複数の色でプロットする
    レシピ7.24 関数をグラフ化する
    レシピ7.25 プロットの間に一時停止する
    レシピ7.26 1ページに複数の図を表示する
    レシピ7.27 追加のグラフィックスウィンドウを開く
    レシピ7.28 プロットをファイルに書き出す
    レシピ7.29 グラフィックスのパラメータを変更する

8章	線形回帰とANOVA
    レシピ8.1 線形単回帰を実行する
    レシピ8.2 線形重回帰を実行する
    レシピ8.3 回帰統計量を取得する
    レシピ8.4 回帰要約を理解する
    レシピ8.5 切片なしで線形回帰を実行する
    レシピ8.6 交互作用項のある線形回帰を実行する
    レシピ8.7 最適な回帰変数を選ぶ
    レシピ8.8 データの部分集合に回帰を実行する
    レシピ8.9 回帰式の中で式を使う
    レシピ8.10 多項式回帰を行う
    レシピ8.11 変換データに回帰を実行する
    レシピ8.12 最適なべき変換を見つける(ボックス=コックス法)
    レシピ8.13 回帰係数の信頼区間を求める
    レシピ8.14 回帰残差をプロットする
    レシピ8.15 線形回帰を診断する
    レシピ8.16 影響力の大きい観測値を見つける
    レシピ8.17 自己相関の残差を検定する(ダービン=ワトソン検定)
    レシピ8.18 新しい値を予測する
    レシピ8.19 予測区間を求める
    レシピ8.20 一元配置分散分析を行う
    レシピ8.21 交互作用図を作成する
    レシピ8.22 グループ間の平均の差を求める
    レシピ8.23 頑健なANOVAを実行する(クラスカル=ウォリス検定)
    レシピ8.24 ANOVAを使ってモデルを比較する

9章	便利なテクニック
    レシピ9.1 データの一部を見る
    レシピ9.2 出力の幅を広げる
    レシピ9.3 割り当ての結果を出力する
    レシピ9.4 行や列を合計する
    レシピ9.5 データを列で出力する
    レシピ9.6 データを分類する
    レシピ9.7 特定の値の位置を見つける
    レシピ9.8 ベクトルのn番目ごとの要素を選ぶ
    レシピ9.9 対の最小値や最大値を見つける
    レシピ9.10 複数のファクタのすべての組合せを求める
    レシピ9.11 データフレームを変換する
    レシピ9.12 データフレームをソートする
    レシピ9.13 2つの列でソートする
    レシピ9.14 変数から属性を取り除く
    レシピ9.15 オブジェクトの構造を明らかにする
    レシピ9.16 コードの時間を測る
    レシピ9.17 警告やエラーメッセージを隠す
    レシピ9.18 リストから関数引数を取り込む
    レシピ9.19 独自の二項演算子を定義する

10章	高度な数値計算と統計
    レシピ10.1 単一パラメータ関数の最小または最大を求める
    レシピ10.2 複数パラメータ関数の最小または最大を求める
    レシピ10.3 固有値と固有ベクトルを求める
    レシピ10.4 主成分分析を行う
    レシピ10.5 簡単な直交回帰を実行する
    レシピ10.6 データ内のクラスタを見つける
    レシピ10.7 二値変数を予測する(ロジスティック回帰)
    レシピ10.8 統計量にブートストラップを行う
    レシピ10.9 因子分析

11章	時系列分析
    レシピ11.1 時系列データを表す
    レシピ11.2 時系列データをプロットする
    レシピ11.3 最古または最新の観測値を抽出する
    レシピ11.4 時系列データの部分集合を作成する
    レシピ11.5 複数の時系列データをマージする
    レシピ11.6 時系列データの穴埋めや付け足しを行う
    レシピ11.7 時系列データの時間をずらす
    レシピ11.8 階差を求める
    レシピ11.9 時系列データの計算を行う
    レシピ11.10 移動平均を求める
    レシピ11.11 カレンダー期間で関数を適用する
    レシピ11.12 ローリング関数を適用する
    レシピ11.13 自己相関関数をプロットする
    レシピ11.14 時系列データの自己相関を検定する
    レシピ11.15 偏自己相関関数をプロットする
    レシピ11.16 2つの時系列データ間の遅れ相関を見つける
    レシピ11.17 時系列データのトレンドを除去する
    レシピ11.18 ARIMAモデルをフィットする
    レシピ11.19 有意でないARIMA係数を取り除く
    レシピ11.20 ARIMAモデルを診断する
    レシピ11.21 ARIMAモデルから予測する
    レシピ11.22 平均回帰を検定する
    レシピ11.23 時系列データを平滑化する

索引

ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。

1刷正誤表

Rクックブック 第1刷正誤表

2013年2月26日更新

位置
p.vii
3行目
レシピ1.10を参照してください。 付録(http://www.oreilly.co.jp/pub/9784873115337/r_ckbk_webapp.pdf)のレシピA.10を参照してください。
p.14
下から
9行目
col. names=FALSEを設定します。 col.names=FALSEを設定します。
p.54
下から
6行目
n×nの対角(恒等)行列 n×nの対角(単位)行列
p.60
レシピ2.20
「解決策」
2行目
元のデータフレームに一時的なデータフレームを追加します。 元のデータフレームにその一時的に作ったデータフレームを追加します。
p.61
レシピ2.21
「問題」
1行目
行を1行ずつ追加していく代わりに、メモリ空間を事前にアロケートしたい。 行を追加することなく、メモリ空間を事前にアロケートしたい。
p.62
レシピ2.22
「問題」
1行目
データフレームから位置で列を選択したい。 位置でデータフレームの列を選択したい。
p.71
下から
8行目
しかし、「取り消し」はききません。 しかし、「アンドゥ」はききません。
p.71
下から
2行目
例えば、「取り消し」コマンドさえありません。 例えば、「アンドゥ」コマンドさえありません。
p.72
1行目
取り消し機能がないので、 アンドゥ機能がないので、
p.77
下から
9行目
SQL用語では、基本的にmerge関数は2つのデータフレームに対する結合演算を行います。 基本的にmerge関数は、2つのデータフレームに対して、SQLで言う結合演算を行います。
p.81
1行目
Warning message:
NAs introduced by coercion
警告メッセージ:
強制変換により NA が生成されました
p.86
レシピ3.1
「解説」
1行目
Cars93データセットには、USAnon-USAの2つの水準を持つOriginというファクタが含まれます。 Cars93データセットには、USAnon-USAの2つの水準を持つOrigin(開発国)というファクタが含まれます。
p.111
3つめの
コードの下
1行目
また、このレシピは、ISOdatetime関数を使って年、月、日、時間、分、秒のデータを扱うように拡張できます また、このレシピは、ISOdatetime関数を使って年、月、日、、分、秒のデータを扱うように拡張できます
p.113
レシピ4.14
「問題」
日付の数列(一連の日、月、年など)を作成したい。 日付の数列(日、月、年の列など)を作成したい。
p.113
レシピ4.14
「解決策」
一連の数値を作成するのと同様な方法で一連のDateを作成します。 数値の列を作成するのと同様な方法でDateの列を作成します。
p.124
レシピ5.8
「解説」
8行目
累積確率 P (X x) 累積確率 P (X x)
p.182
レシピ7.15
「解説」
コード
2行目
> bline(h=0)        # y = 0 の水平線 > abline(h=0)        # y = 0 の水平線
p.184
レシピ7.16
「解説」
2番目の
箇条書き
● 中央値を囲むボックスは、第1四分位数と第3四分位数を表す。 ● 中央値を囲むボックスは、第1四分位数(Q1)と第3四分位数(Q3)を表す。
p.216
8行目
そこで、この場合は私なら0.4981ではなく0.4402を使います。 この場合は私なら0.4981ではなく0.4402を使います。
p.244
7行目
このデータではたまたま相互作用が存在します。 このデータではたまたま交互作用が存在します。
p.255
レシピ9.6
「問題」
統計学者はこれをデータのビンニング(binning)と呼ぶ。 統計学者はこれをデータのビニング(binning)と呼ぶ。
p.256
囲み中
1行目、
5行目
ニング ビニング
p.285
レシピ10.7
「解説」
9行目
肥満度指数(BMI:Mody Mass Index)です。 肥満度指数(BMI:Body Mass Index)です。
p.297
9行目
さらには浮動小数点などの さらには浮動小数点などの
p.333
脚注
原注:adf.textdaftestのスペルの違いに注意します。 原注:adf.textadfTestのスペルの違いに注意します。

Feedback

皆さんのご意見をお聞かせください。ご購入いただいた書籍やオライリー・ジャパンへのご感想やご意見、ご提案などをお聞かせください。より良い書籍づくりやサービス改良のための参考にさせていただきます。
[feedbackページへ]