かんかんラーメンと公益軒のラーメンの売り上げ比較。
しょうゆラーメン | カレーラーメン | 合計 | |
---|---|---|---|
かんかんラーメン | 435 | 165 | 600 |
公益軒 | 265 | 135 | 400 |
まず行列(matrix)にする。
ramen <- matrix(c(435,265,165,135),2,2) ramen [,1] [,2] [1,] 435 165 [2,] 265 135
表計算上にある観測度数の4つの値(2x2セル)部分をコピーし,
read.table("clipboard")
でtableとして読み込んでもよい。
χ2値を求め,同時に検定を行なうには
chisq.test
関数を用いる(chi-square test)。
引数に検定対象の行列と correct=F
を指定する。
chisq.test(ramen, correct=F)
Pearson's Chi-squared test
data: ramen
X-squared = 4.4643, df = 1, p-value = 0.03461
2x2の度数分布ゆえ,自由度が (2-1)×(2-1) = 1 であることを前提にし,その場合のp値も0.03(3%)と出している。
なお,自由度 n, の下側確率pのときの χ2 値は
qchisq(p, 1)
で得られる。たとえば自由度,下側確率95%(上側5%)と 下側確率99%(上側1%)の χ2値は以下のようにして得られる。
qchisq(0.95, 1) [1] 3.841459 qchisq(0.99, 1) [1] 6.634897
グラフの描き方を簡潔に示す。
plot()
関数を利用するとグラフやプロット図が得られる。
数学関数のxyグラフを得たい場合は
plot(x軸値の集合, 関数 [, 他のパラメータ])
の形式で呼び出す。x軸値の集合 は
seq()
で生成したものを利用するとよい。
いくつか例を示す。
# y=x2 を -3≦x≦3 の範囲で描画 x <- seq(-3, 3, 0.2) x [1] -3.0 -2.8 -2.6 -2.4 -2.2 -2.0 -1.8 -1.6 -1.4 -1.2 -1.0 -0.8 -0.6 -0.4 -0.2 [16] 0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 [31] 3.0 # y=x^2 のグラフをプロット(xが0.2刻み) plot(x, x^2) # [画像] # 同上,点を線(line)で繋ぐ plot(x, x^2, type="l") # [画像] # 同上,xy比を 1.0 に plot(x, x^2, type="l", asp=1.0) # [画像]
χ2の確率密度関数(0≦x≦8)を描いてみる。 自由度3のχ2分布の確率密度関数は dchisq(x, 3) で,これを描くには以下のようにする。
x <- seq(0, 8, 0.01) # オレンジ色で,線の太さ5 plot(x, dchisq(x, 3), type="l", col='orange', lwd=5) # [ 画像 ]
第2回 χ2検定 の[6]の練習問題を,Rを用いて解いてみる。
しょうゆラーメン | カレーラーメン | チーズラーメン | ||
---|---|---|---|---|
かんかんラーメン | 435 | 165 | 650 | 1250 |
公益軒 | 265 | 135 | 350 | 750 |
合計 | 700 | 300 | 1000 | 2000 |
店ごとの,各ラーメンの人気に有意な差はあるか。
検定対象となる数値を2つの方法で代入して検定してみる。
各品注文数を店ごとにベクトルに代入して,2つのベクトルを
chisq.test()
関数に渡す方法。
kankan3 <- c(435, 165, 650) kankan3 [1] 435 165 650 koeki3 <- c(265,135,350) koeki3 [1] 265 135 350 chisq.test(kankan3, koeki3, correct=F) Pearson's Chi-squared test data: kankan3 and koeki3 X-squared = 6, df = 4, p-value = 0.1991 Warning message: In chisq.test(kankan3, koeki3, correct = F) : カイ自乗近似は不正確かもしれません
matrixに代入して検定。
(cheeze <- matrix(c(435,165,650,265,135,350),3,2)) [,1] [,2] [1,] 435 265 [2,] 165 135 [3,] 650 350 chisq.test(cheeze, correct=F)
以上の手順を念頭にいれつつ,手順を追って検定せよ。
chisq.test()
関数で検定せよ
ある飲食店で出した芋サラダを食べた人が具合悪さを訴えた。 調査したところ,同じ日にその品を食べた人に同様の症状が見られたが, 食べない人の中にも症状が見られた。摂取の有無と症状の有無は 以下のようになった。
該当品を食べた | 食べなかった | 計 | |
---|---|---|---|
症状確認あり | 20 | 4 | 24 |
症状確認できず | 25 | 25 | 50 |
計 | 45 | 29 | 74 |
該当品は食中毒症状と無関係と言えるか。
chisq.test()
関数で検定せよ
第2回 χ2検定 の[7]のレポート課題を,Rを用いて解け。 計算に関る手順はすべてRに任せてよい。
宛先 sip-12-14@e.koeki-u.ac.jp
締切 3日後
Subjectに Chi-square test と書き,本文の先頭に 氏名,学籍番号を入れ,その後の本体を以下のようにする。
解答の検定部分は,Rに対する入力と出力を本文内に貼り付ける。 ただし,検定の手順に関する言葉は正確に記述すること。
yuuji@e.koeki-u.ac.jp