Rで学ぶ統計講座(初級)

Rによる平均の差の検定 独立したサンプル

所属メンバーが異なっている2集団の平均の比較を行いたいときには「独立したサンプルのt検定」を行う。

μ国B大学スマートフォン利用時間調査データ(架空データ)を用いる。

B大学で学生の一日あたりのスマートフォンの利用時間を調査した。

B大学の学生の中から500人を無作為抽出を行い、スマートフォン利用時間について調査した。このデータからスマートフォン利用時間に関するジェンダー差を知りたい。

下記データより、B大学の学生のスマートフォン利用時間について、男子学生と女子学生の違いについてデータから得られる知見を述べよ。

t検定には等分散性を前提としたStudentのt検定と等分散を前提としないより頑健(ロバスト)なWelch修正が知られている。等分散性の検定を行ってからどちらの検定法を用いるか判断するのは「検定の繰り返し」であり、望ましくない。最初から頑健性の高いとされているWelch法を用いる。R標準のt.test()関数ではデフォルトでこのWelch法が用いられるようになっている(Student法を用いるためにはオプションvar.equal=Tを設定する)。

R標準のt.test()の結果出力は必ずしも見やすくない。効果量も別途算出する必要がある。そこで自作関数t.test.independent()を用いる。

Rスクリプト

data <- read.csv("http://kyoto-edu.sakura.ne.jp/weblesson/statistics/data/smartphone00-B.csv", fileEncoding = "utf-8")
summary(data)
x <- data$time
group <- factor(data$gender)

#棒グラフ作成
group.mean <- tapply(x,group,mean)
barplot(group.mean,xlim=c(0,200),horiz=T)

source("http://kyoto-edu.sakura.ne.jp/weblesson/statistics/socialStatisticsBasic.R", encoding="UTF-8")
output.t.test2 <- t.test.independent(x~group)

#結果出力
output.t.test2

#ファイルへの書き出し
write.output(output.t.test2,"output.t.test2.csv")

t.test.independent関数(socialStatisticsBasic.Rで読み込まれる自作関数)

t.test.independent(formula, data, no1="value1", no2="value2", var.equal=T/F)
  • formula=「従属変数(検定変数:間隔・比例尺度)~因子(グループ化変数:名義尺度)」
  • data=モデル中の変数を含むデータフレーム(formulaが実体を持つ時は省略可)
  • no1=因子の値1
  • no2=因子の値2
    ※グループ化変数が2値とは限らないので、比較をしたい2グループを明示的に指定する。指定の無い時は出現順に上から二つの値を自動的に選択する。
  • var.equal=TRUE/FALSE 等分散を仮定するか否か(Fもしくは省略時はWelch検定、TならStudent検定を用いる)。

出力結果

$statistics
                    male     female
N             244.000000 256.000000
mean          196.762295 175.417969
u              52.335504  58.951302
SE              3.350437   3.684456
Missing value   0.000000   0.000000

$test.result
                t-test
t         4.285988e+00
df        4.955251e+02
p(!=)     2.186824e-05
p(>)      1.093412e-05
p(<)      9.999891e-01
mean diff 2.134433e+01
SE        4.980025e+00
Upper     3.112889e+01
Lower     1.155976e+01
d         3.823699e-01
r         1.890662e-01
  • 平均の差の検定(両側)
    • df 495.53
    • t 4.29
    • p(≠) 0.00
  • 効果量
    • d 0.38
    • r 0.19

考察例

ジェンダー別スマホ利用時間

男性の平均利用時間は196.76、女性の平均利用時間は175.42 であった。

男性と女性に利用時間に差があるといえるかどうかWelchのt検定(両側)を行ったところ、5%水準で有意差が見られた(t(495.53)=4.29, p<.05, r=0.19)。

この結果より女性より男性のほうがスマートフォンの利用時間は長いと言える。