6. クロス集計表

ここでは性別によって喫煙状況に違いがみられるかを検討するためにクロス集計表を作成してみます。使用するのは架空の喫煙データです。

使用するデータ

In [7]:
#IRkernelのインストール
!IRkernel::installspec()
TRUE
In [8]:
#作業ディレクトリの処理は既に行っていれば不要(復習)
getwd() #作業ディレクトリの確認
setwd("R:/WinPython/WinPython-64bit-3.6.1.0Qt5/notebooks/data") #作業ディレクトリの変更
'R:/WinPython/WinPython-64bit-3.6.1.0Qt5/notebooks/data'
In [13]:
data = read.csv("6-1.csv", header = TRUE)
data
(table = table(data))
sextobacco
M Smoking
M Smoking
M Smoking
M Non smoking
F Non smoking
F Non smoking
F Non smoking
F Non smoking
F Non smoking
   tobacco
sex Non smoking Smoking
  F           5       0
  M           1       3
In [14]:
#データ加工の方法 関数c()による復習
#tobacco <- c("吸う","吸う","吸う","吸わない","吸わない","吸わない","吸わない","吸わない","吸わない")
#table(tobacco)
#sex <- c("M", "M", "M", "M", "F","F","F","F","F")
#table(sex)
#data = table(tobacco, sex)
#data

6.1. クラスタ棒グラフの作成

得られたクロス集計表をもとに、棒グラフを作成します。

In [15]:
barplot(table, beside = TRUE)

6.2. カイ二乗検定

2つの変数について得られたデータを対象として、変数間に独立性が成立するかどうかを検定するために、カイ二乗検定1を行います。カイ二乗検定はRに標準で実装されている関数chisq.test()で実行することができます。


  1. ピアソンのカイ二乗検定は、本テキストで紹介した独立性検定の他に、得られたデータが特定の分布と相違があるかどうかを検定する適合度検定の二つに分けられます。

In [17]:
chisq.test(table)
Warning message in chisq.test(table):
"Chi-squared approximation may be incorrect"
	Pearson's Chi-squared test with Yates' continuity correction

data:  table
X-squared = 2.7562, df = 1, p-value = 0.09688

6.3. 関数リストとオプション

関数 目的
chisq.test(x) イエーツの補正あり
chisq.test(x, correct=F) イエーツの補正なし