LoginSignup
8
3

More than 3 years have passed since last update.

Rによるクロス集計表の作成と割合表記について

Posted at

kaggleのtitanicをRで統計的手法を使って処理していたのですが、
クロス集計について詳細に解説されてる情報が少なかったのでのせます。

titanicのtrain.csvの生存の場合1を取るダミー変数train\$Survivedと乗客の社会的経済的地位を代理するカテゴリカル変数train\$Pclassを使ってクロス集計表を作ります。

titanicでのデータの読み込み方についてや解き方は以下をご覧ください。

【Kaggle入門, R言語】Titanic号の乗客データを用いた生存者予測―ロジスティックモデルでスコア80%を超えることができるか挑戦してみた― [http://zeema.hatenablog.com/entry/2017/09/04/003400]

ここではクロス集計表に絞って説明していきます。

SP <- table(train$Survived,train$Pclass)
print(SP)

table()関数の第1引数と第2引数に質的変数を指定することによってクロス集計表が作成できます。

結果は以下のとおりです。

            1   2   3
  Died      80  97 372
  Survived 136  87 119

さらにクロス集計表の相関について考察するために度数を割合表記に変換していきます。
ここでは先程作ったクロス集計表を格納した変数SPを使っています。

prop.table(SP)

                    1          2          3
  Died     0.08978676 0.10886644 0.41750842
  Survived 0.15263749 0.09764310 0.13355780
> prop.table(SP,1)

                   1         2         3
  Died     0.1457195 0.1766849 0.6775956
  Survived 0.3976608 0.2543860 0.3479532
> prop.table(SP,2)

                   1         2         3
  Died     0.3703704 0.5271739 0.7576375
  Survived 0.6296296 0.4728261 0.2423625

prop.tabele()関数で割合表記が作成できます。propとは確率のことです。
prop.table()関数の第1引数にクロス集計表を、第2引数には割合を行方向にとる場合(1)、列方向に取る場合(2)をとります。第2引数に何も指定していない場合は全度数を基準にした割合が返されます。

以上です。ありがとうございました。

参考

オーム社
Rによる多変量解析入門 データ分析の実践と理論
川端一光、岩間徳兼、鈴木雅之

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3