Rでt検定(被験者間)を行う方法と、結果の見方と書き方

2022年6月1日

サンプルデータ

Rでt検定(被験者間)を行うための手順を、RStudioを使って示していきます。二つのグループに対してそれぞれ異なる条件で実験を行い、各実験後に何らかの評価(アンケートやテストなど)を取得して比較する場合、対応のあるt検定を利用できます。例えば、以下のようなデータを取得した場合を想定します:

First	Second
49	21
45	13
42	19
46	23
44	18
57	12
54	10
54	13
54	17
53	20
52	27
39	17
41	21
66	18
50	21
49	18
45	20
45	24
54	18
55	14

分析方法の選び方

Rstudioから分析には、以下のコマンドを利用します。今回はpsychとeffsizeというライブラリを使っているので、必要であれば先にライブラリのインストールを行います。

install.packages("psych") #psychライブラリのインストール
install.packages("effsize") #effsizeライブラリのインストール
Data <- read.csv("Data.csv") # データのファイルパスは適宜変更
attach(Data) # Dataに含まれる項目名だけでアクセスするための設定
var.test(First, Second) #等分散の検定
t.test(First, Second, var.equal=T, paired=FALSE) # 対応無しt検定(スチューデントのt検定)
effsize::cohen.d(First,Second) #効果サイズ

対応のあるt検定の場合は、先に等分散性の検定を行います。var.test(First, Second)を実行すると、以下のような結果が表示されます。その結果、p>0.05なのでスチューデントのt検定を行います。(p<0.05であれば、ウェルチのt検定を使います)

F test to compare two variances

data:  First and Second
F = 2.3181, num df = 19, denom df = 19, p-value =
0.07457
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 0.9175229 5.8565065
sample estimates:
ratio of variances 
          2.318076 

t.test(First, Second, var.equal=T, paired=FALSE)を実行すると、以下のような結果が表示されます(ウェルチのt検定の場合、t.test(First, Second, paired=FALSE)です)。t値、自由度、p値などが表示されています。

Two Sample t-test

data:  First and Second
t = 18.144, df = 38, p-value < 2.2e-16
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 27.98535 35.01465
sample estimates:
mean of x mean of y 
     49.7      18.2 

effsize::cohen.d(First,Second)を実行すると、以下のような結果が表示されます。d estimateが効果サイズになります。

Cohen's d
d estimate: 5.737514 (large)
95 percent confidence interval:
lower upper
4.289699 7.185329

これらの結果を記載する例を、以下に示します。

アンケート結果に対して対応のないt検定を行った結果,条件間に有意な差が得られた(t(38)=18.144, p<0.001, d=5.738). すなわち提案手法を用いることで,アンケート結果が既存手法よりも有意に増加することが示された.