R統計解析パーフェクトマスター

概 要

「R」は、無料で誰でも使える、強力なデータ解析/データマイニング用プログラミング言語です。とてもシンプルな言語で、プログラミングがはじめての人でも簡単に学べます。本書は、データサイエンティストを目指す方のために、R言語のインストールから、「RStudio」の操作や基礎知識、分析手法までをわかりやすく解説しました。巻末には便利な関数リファレンスや統計用語集があります。サンプルデータのダウンロードサービス付き。

著者 金城俊哉
価格 本体2800円(税別)
ISBN 978-4-7980-5080-5
発売日 2017/5/30
判型 B5変
ページ数 498
CD/DVD
ダウンロード
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter 1 Rと統計学

1.1データマイニングの時代だ

1.1.1 データマイニングをすると何がトクなの?

データマイニングで成功をつかむ

データマイニングと統計学

1.1.2 データマイニングのためのツール

Rって言語? それともツール?

Rのイイところ

Rにはプログラミングするからこその良さがあります

1.2RとRStudioをインストールしよう

Memo Rのインストール(Mac OSの場合)

1.2.1 RをインストールしてRStudioを続けてインストールする

Rのダウンロードとインストール

Rを起動してみる

RStudioのダウンロードとインストール

Memo Mac OSでのインストール手順

1.2.2 RStudioの起動と終了

RStudioの起動

Rstudioの終了

Chapter 2 Rの基本(RStudioの操作と基本プログラミング)

2.1RStudioでプログラムを実行する2つの方法

(コンソールとソースファイル)

2.1.1 RStudioを関数電卓みたいに使う(コンソールを利用したプログラムの実行)

計算を行うソースコードを入力してその場で結果(答え)を見る

ソースコードは1文単位で実行

処理結果は1行に収まらなければ複数の行にまたがって表示される

2.1.2 ソースファイルにコードを書いて実行する

Memo [History]ビュー

ソースファイルの保存

ソースファイルを開く

2.1.3 プロジェクトの作成

プロジェクトを作成する

2.2Rの基本(データ操作)

2.2.1 Rでデータを扱うといえば「ベクトル」が基本

とっておきたい値には名前を付けよう

別の値に同じベクトル名を付ける

2.2.2 データのかたち(データ型)

Rのデータ型は大きく分けて2つ

2.2.3 データ操作のキホン、ベクトルを使いこなそう

ベクトルの作成と中身の取り出し方

ベクトル要素の取り出しと置き換え

ベクトルの結合と挿入

ベクトルの要素に名前を付ける

ベクトル同士の演算

Memo 規則性のあるベクトルの作成

Memo ベクトルと変数

Hint データ型が何かを調べる

2.2.4 データ型の変換

関数を使ってデータ型を変換する

2.2.5 リスト

リストを使って住所録を作ってみる

リスト要素を「名前=値」のペアで管理する

2.2.6 行列

行列は「行×列」の集計表

Hint 配列

2.2.7 データフレーム

データフレームの作成

Memo コメントについて

データフレームから列や行のデータを取り出す

外部ファイルのデータをデータフレームに取り込む

タブ区切りのテキストファイルをデータフレームに読み込んでみよう

Tips Excelのデータをクリップボード経由で読み込む

2.3プログラムの制御と関数(制御構造と関数)

2.3.1 「もしも」で処理を分ける(ifステートメント)

ifステートメントの書き方

「そうでなければ」を実行するelse ifステートメント

2.3.2 同じ処理を繰り返す(forステートメント)

指定した回数だけ処理を繰り返す

2.3.3 いつも決まった処理をするなら名前を付けて呼び出せるようにしよう(関数の作成)

オリジナルの「関数」を作成する

作成した関数を他のソースファイルから実行できるようにしよう

Chapter 3 データの全体像を解析する(代表値)

3.1データをならして出てくる代表値(平均)

Onepoint 関数名の表記

3.1.1 平均を求める

平均値を求める式

3.2データの分布を棒グラフで見やすくしよう(ヒストグラム)

3.2.1 度数分布表~ヒストグラムの作成こそが統計の第一歩

ヒストグラムは「階級の幅」を決めて「階級」を作る

3.3階級幅を独自に指定したヒストグラムを作る

3.3.1 階級幅や棒グラフの色を指定してヒストグラムを作成する

①~②のソースコード

③のソースコード

コードを入力してヒストグラムを作成してみる

Memo 階級の幅

ヒストグラムの山は1つか2つ以上か

3.4「割合」についてあらためて考える(包含除と等分除)

3.4.1 そもそも「データ」とは?

量的データと質的データ

3.5度数分布表から相対度数分布表を作る

3.5.1 相対度数分布表を作る

度数分布表を作成し、これをもとに相対度数分布表を作成する

相対度数を棒グラフにしてみる

相対度数分布表を作成する関数を定義する

3.6平均の足を引っ張るデータを除外する(トリム平均)

3.6.1 平均は真ん中くらいの値ではなかった

mean()関数のオプションを使って「トリム平均」を求める

3.7しっくりこないならど真ん中の値を見付けよう(中央値)

3.7.1 平均とは違う、データの「ど真ん中」の値

散らばったデータのど真ん中を指す中央値

summary()関数で最大、最小、平均、中央値をまとめて調べる

Exercise & Answer

3.8率の平均を考える(幾何平均)

3.8.1 平均収益率は収益率の平均ではない

物価変動の動向や年平均成長率などを求めるには「幾何平均」が必須

3.9速度の平均を考える(調和平均)

Chapter 4 データのバラツキ具合を知る(偏差、分散、標準偏差)

4.1データのバラツキ具合を数字で表す(偏差、分散)

4.1.1 個々のデータの平均からの距離を調べて全体の散らばり具合を知る

平均からどのくらい離れているのかを表すのが「偏差」

偏差を求める

4.1.2 偏差を2乗した「偏差平方」を平均して「分散」を求める

偏差平方の平均が「分散」

Hint データに手を加えると平均、分散はどうなる?

4.2そのデータは「優秀」なのかそれとも「普通」?(標準偏差)

Memo 平均や分散、標準偏差の記号について

4.2.1 新規ディーラーの売上台数は突出しているのか

分散をデータの単位に戻して比較できるようにする

4.2.2 データの特殊性を「標準化」した数値で表してみる

車種Aと車種Bの販売台数をすべて標準化する

Memo 平方根について

4.3来客数が平均より多いのは「繁盛」しているといえるか

4.3.1 標準偏差を「尺度」にする

来客数の標準偏差と標準化係数を求める

4.3.2 標準偏差±1個ぶんの範囲内であれば平凡なデータだと判断できる

標準化係数でデータの特殊性を知る

標準化した値の平均値は0で標準偏差は1となる

4.4来店者の数が上位5%に入る日を調べる

4.4.1 正規分布のグラフの形は平均と標準偏差で決まる

標準正規分布のグラフ

確率密度関数

4.4.2 標準正規分布のグラフで区切られた領域がデータの出現率を表す

標準正規分布表の数表をRで作成してみる

Rで標準正規分布の数表を作成する

標準正規分布の数表の見方

4.4.3 上位5%に入る来店者数を見付けよう

標準正規分布の数表を使って上位5%の区間面積に対するxの値を求めよう

Exercise & Answer

Chapter 5 標準正規分布とは異なるふつうの分布を解析する

(正規分布)

5.1売上の平均が38万円のとき45万円以上売上げる確率は?

Hint 数学定数の「ネイピア数」

5.1.1 標準正規分布ではないふつうの分布は「一般正規分布」

正規分布をσ=1、μ=0に換算して標準正規分布にする

正規分布のxを求める確率密度関数f(x)

Onepoint ××万円以上○○万円以下の売上が発生する確率は?

5.1.2 売上が40万以上になる確率を求めてみよう

10~100万円までを5万円刻みにしてそれぞれの累積確率を求める

5.2偏差値の仕組み

5.2.1 標準化した値を10倍して50足すのは何のためか

偏差値を求めてみる

Exercise & Answer

5.2.2 標準偏差を用いた合格判定の仕組み

Exercise

平均と標準偏差、あとはデータの数で合否を推測する

Exercise & Answer

5.3バラバラに分布するデータを正規分布に近似する(大数の法則)

5.3.1 1000人ぶんのサンプルで10万人ぶんの相対度数分布グラフが描かれる

10万人の中から一人ずつ選んで1000回計測したらどうなる?(復元抽出)

非復元抽出と復元抽出

Hint 相対度数分布グラフはなぜ曲線の山の形をしている?

5.4正規分布の再生性

5.4.1 正規分布は2つを重ねても分布の形が保存される

正規分布の再生性

Memo 「大数の法則」でサンプルの相対度数分布がもとデータとぴったり一致!

Memo 中心極限定理

5.5ピンポイントでズバリ当てる(点推定)

5.5.1 母集団と標本

全数調査と標本調査

無作為抽出(ランダムサンプリング)

5.5.2 ピンポイントで推定する

最尤法(さいゆうほう)による推定

不偏推定量による推定

点推定の結果を見る

Exercise & Answer

5.6サイコロを振ると1の目が出る確率は?

5.6.1 確率変数とその定義

偶数の目が出る確率は

Hint 離散と連続の違いは?

確率の用語と定義式

離散型一様分布の確率質量関数

本当にサイコロを振ると6分の1の確率で各目が出るのか

Exercise & Answer

5.7「標本平均の平均」をとると母平均にかなり近くなる

5.7.1 母集団から5個のサンプルをランダムに抽出する

sample()関数によるランダムサンプリング

母集団の平均と標本の平均

標本分布で推定するときのポイント2つ

5.7.2 標本分布が母集団の本当の値を中心として分布しているか

標本平均の数が大きくなると標本分布が正規分布に近くなっていく

標本平均の分散と標準誤差を確認する

5.7.3 サンプルサイズを大きくすると標準誤差は本当に小さくなるのか

サンプルサイズを5から20にする

5.8データ全体の散らばりと標本平均の散らばり

5.8.1 標本平均の分散を調べる

標本平均の分散と母分散の関係を調べる

5.9標本分散の平均

5.9.1 標本分散の代わりに不偏分散を推定値として使う

標本分散と不偏分散のそれぞれの平均を母分散と比較する

母集団の標本の関係のまとめ

Chapter 6 手持ちのデータで全体を知る(標本と母集団)

6.1大標本を使って全体の平均を予測する(z値を用いた区間推定)

6.1.1 降水確率に見る区間推定の考え方

区間推定の考え方

信頼区間と信頼度

Memo 信頼度95%の区間推定

6.1.2 信頼度95%で母平均を区間推定する

大標本(サンプルサイズ30以上)の信頼区間

母平均の信頼区間の関係式を導く

サンプルサイズ50で母平均を区間推定する

Exercise & Answer

6.2小標本を使って全体の平均を予測する(t値を用いた区間推定)

6.2.1 小標本による平均値の推定

小標本の平均と分散を用いて母平均の信頼区間を求める

Onepoint 「自由度」とは?

6.2.2 信頼度95%で母平均を区間推定する

小標本による区間推定の結果

Hint 自由度が30を超えると標準正規分布とほぼ同じになる

6.3母集団のデータの比率を区間推定する

6.3.1 二項分布の確率理論を用いて母集団の割合を推定する

離散型の代表的、かつ重要な「二項分布」

Exercise & Answer

二項分布の試行回数を無限大にすると正規分布になる

Memo 順序を考慮する場合の数は「順列」

6.3.2 母集団の「比率」を区間推定する

母比率を95%の信頼度で区間推定する

支持率45%と47%に「差はある」のか

Memo 階乗

Chapter 7 独立性の検定と2つの平均の比較(χ2検定、t検定)

7.12つのデータの独立性の検定(χ2検定)

7.1.1 データの分布を検証するχ2検定

サイコロを投げて1から6までの目が出る確率

サイコロ投げの結果をχ2検定で調べる

検定に使用する検定統計量を求める式

自由度とは

サイコロ投げ12回の試行結果をχ2検定する

χ2検定を行う手順

Memo 対立仮説と帰無仮説

Memo 有意水準

7.1.2 A店とB店のデータ分布は同じかどうかを判断する

「差はない」という帰無仮説を立ててχ2検定を実施

A店とB店の売上に差はあるのか

7.2独立した2群の差のt検定①

(分散が等しいと仮定できる場合のt検定)

7.2.1 2つの母集団における3つのt検定

独立した2群の母平均の検定(t検定)

7.2.2 スチューデントのt検定で母平均を検定する

検定に使用する検定統計量tの実現値の求め方

Hint の式について

7.2.3 検定統計量の実現値と有意水準5%のt値を求める

ライバル店の平均との差はあるのか

p値を求めてt検定を行う

t.test()関数で検定統計量の実現値を求める

7.3独立した2群の差のt検定②

(分散が等しいと仮定できない場合のウェルチのt検定)

7.3.1 ウェルチのt検定で母分散が等しくない2群の平均を検定する

独立した2群が必ずしも等しいことを前提にしないウェルチのt検定

Hint t検定のデフォルトはウェルチのt検定

7.3.2 有意水準5%、自由度が整数ではないt値を求める

7.4対応のある2群の差のt検定

7.4.1 対応のあるt検定は変化量(変量の差)という1つの平均値の検定になる

対応のあるt検定のための検定統計量

7.4.2 検定を実施して平均に差があるのかを判定する

検定統計量の実現値を求める

平均体重の変化に統計的な差は認められるのか

p値を求めてt検定を行う

t.test()関数で検定統計量の実現値を求める

Chapter 8 3つの平均値が同じ土俵で比較できるか調べる

(t検定が使えない場合の分散分析)

8.11要因の分散分析①(対応なし)

8.1.1 t検定は3つ以上の標本間の差の検定には使えない

t検定が3つ以上の標本間の差の検定には使えない理由

8.1.2 3つの平均に差があるかを分散分析で調べる

分散分析の手順

Tips 分子の自由度6、分母の自由度18のF分析をグラフにする

8.1.3 1要素の分散分析を実施する

分散分析のためのデータを用意する

oneway.test()関数で検定統計量の実現値とp値を求める

aov()関数で検定統計量の実現値とp値を求める

anova()関数で検定統計量の実現値とp値を求める

8.1.4 分散分析を理解する

「群間のズレ」と「群内のズレ」

標本平均間のズレと標本内部のデータのズレを見る

8.1.5 多重比較(Tukeyの方法)

RのTukeyHSD()関数で多重比較を行ってみる

8.21要因の分散分析②(対応あり)

8.2.1 対応ありのデータに対して対応なしの検定を行うと有意な結果が得られない

対応ありのデータに対して対応なしの1要因の分散分析を実施してみる

8.2.2 対応がある1要因の分散分析の実施

検定の実施

8.2.3 対応ありとなしで違いが出たのはなぜ?

対応なしと対応ありによる違いを見る

平方和を分解して自由度を計算してみよう

8.32要因の分散分析①(2要因とも対応なし)

8.3.1 主効果と交互に作用する効果

主効果と交互作用効果について

8.3.2 2要因の分散分析(対応なし)を実施する

統計的仮説検定の手順の確認

2要因の分散分析(対応なし)の実施

帰無仮説の棄却/採択の決定

交互作用効果を確認する

8.42要因の分散分析②(2要因とも対応あり)

8.4.1 2要因の分散分析(対応あり)を実施する

統計的仮説検定の手順の確認

2要因の分散分析(対応あり)の実施

Onepoint 2要因の分散分析(対応あり)を行ったあとは

8.52要因の分散分析③(1要因のみ対応あり)

8.5.1 2要因の分散分析(1要因のみ対応あり)を実施する

統計的仮説検定の手順の確認

2要因の分散分析(1要因のみ対応あり)の実施

帰無仮説の棄却/採択の決定

Onepoint 分散分析を行ったあとは

Chapter 9 回帰分析で未来を知る(単回帰分析と重回帰分析)

9.1清涼飲料水の売上と気温の関係(相関関係と線形単回帰分析)

9.1.1 データ間の相関関係を分析する

相関分析でデータ同士の関係性を数値化する

Hint 相関分析のポイントと注意点

9.1.2 散布図で相関関係を見る(散布図の描画)

散布図の作成

9.1.3 2つのデータの関係の強さを求める(相関係数の計算)

2つのデータの相関係数を求める

Memo シグマの記号について

9.1.4 線形回帰分析を実行する

回帰式における回帰係数と定数項を求める

lm()関数で線形回帰分析を行う

9.1.5 最高気温が1℃上昇したときの売上数を予測する

回帰直線を散布図上に表示してみる

最高気温が30℃、31℃、さらに36℃のときの売上数を予測する

Memo 内挿と外挿

Tips 分析の元データと予測値、残差を一覧で表示する

9.2立地、面積、競合店とアンケート結果から売上を予測する

(線形重回帰分析)

9.2.1 重回帰分析で説明変数が複数の場合の分析を行う

2つ以上の要因を使って予測を行う重回帰分析

予測値を示す重回帰分析の式とは

相関係数を確認する

9.2.2 すべての説明変数を使って重回帰分析する

データにあるすべての説明変数を重回帰分析にかける

分析結果の見るべきポイントは3つ

9.2.3 説明変数を減らしてもう1度分析する

step()関数で説明変数を1つずつ減らした分析結果を見る

Hint 多重共線性

2つの説明変数を減らして重回帰分析を実行

9.2.4 説明変数を減らさずに変数の交互作用だけを減らして分析する

交互作用を考慮した回帰係数を求める

step()関数でAICが最も低い組み合わせを調べる

9.3急激に上昇カーブを描く普及率を予測する(非線形回帰分析)

9.3.1 ロジスティック関数を使って非線形回帰分析する

非線形の回帰分析はロジスティック回帰で

Tips ロジスティック回帰

9.3.2 データにロジスティック関数を当てはめて非線形回帰分析する

nls()関数の関係式にロジスティック関数を指定して分析する

9.3.3 SSlogis()関数を使って非線形回帰分析する

ロジスティック関数SSlogis()をnls()関数の引数にして分析を実行

ロジスティック関数SSlogis()で曲線を割り出す

9.4日射量、風力、温度の値でオゾンの量を説明する(一般化線形モデル)

9.4.1 一般化線形モデルの回帰分析を行うglm()関数

一般化線形モデルとglm()関数

関数glm()

9.4.2 一般化線形モデルの回帰分析

今回のケースで線形回帰分析するとどうなる?

glm()関数で一般化線形モデルの回帰分析を行う

9.5モルモットの実験データからビタミンCを何で与えたかを予測する

(ロジスティック回帰分析)

9.5.1 ロジスティック関数を使った非線形回帰分析

対数オッズからロジット関数、ロジスティック関数へ

9.5.2 ロジスティック回帰分析で非線形のデータを分析

ロジスティック回帰分析で接種方法を予測しよう

Chapter 10 クラスター分析

10.1バラバラに散らばるデータを統計的に整理しよう

(階層的クラスター分析)

10.1.1 データを統計的な考え方でグループ分けするのがクラスター分析

階層的クラスター分析

階層的クラスター分析のプロセス

データ行列を作って距離行列を作る(分析手順①~②)

距離行列からコーフェン行列を作る(分析手順の③)

10.1.2 階層的クラスター分析で他の方法を試してみる

クラスタリングの過程を見てみる

Tips 大量のデータを的確にグループ分けする

Appendix 資料

1 関数リファレンス

2 統計用語集

3 標準正規分布数表

PR

秀和システム