Rで対応のあるt検定

読み込んだデータから対応のあるt検定を行ってみる。

読み込んだデータは表の通り。読み込み方はここ

このデータは、計画行列(デザイン行列)といって、列ごとに得られた情報をまとめて配置したデータの配置方法となっている。回帰分析では計画行列が使われる。今回はt検定だが、計画行列を使ってみることにする。同一の被験者で筋トレ前と筋トレ後で握力を測定したことを想定している。groups列はpre(前)とpost(後)で、subjectsは被験者、valuesは握力の値となっている。今回の検定ではsubjectsのデータは使わないが、対応ありということで載せている。

groupssubjectsvalues
pres132.1
pres229.5
pres334.8
pres431.6
pres532.6
pres634.1
pres725.3
pres831.4
pres930.2
pres1030.8
pres1127.7
pres1232.2
pres1331.3
pres1430
pres1527.8
pres1632.9
pres1734.5
pres1834.2
pres1926.4
pres2032.7
posts134.6
posts234.9
posts336.2
posts434.3
posts535.7
posts635.8
posts732.3
posts832.8
posts935.3
posts1033.8
posts1133.1
posts1233.3
posts1334.7
posts1435
posts1535.9
posts1633.5
posts1734.4
posts1835.2
posts1936.4
posts2035.1

でもって、以下のコードを実行する
なお、このデータの名前はdata1という名前になっている。~の前にvalues~の後にgroupsを指定する。なお、data1の後に$をつけてからvalusesまたはgroupsを指定しているが、これはdata1の中にあるvaluesまたはgroupsという意味になる。
paired=は、対応があるかないかを指定する。TRUEにすると対応ありを指定できる。

t.test(data1$values ~ data1$groups, paired = TRUE)
そうすると以下の結果が返ってくる。
	Paired t-test

data:  data1$values by data1$groups
t = 5.8586, df = 19, p-value = 1.214e-05
alternative hypothesis: true mean difference is not equal to 0
95 percent confidence interval:
 2.256032 4.763968
sample estimates:
mean difference 
           3.51 

p-valueがp値になる。1.214e-05は指数表示で1.214*10のマイナス5乗ということで、すごく小さい値になっている。95%confidence intervalは差の信頼区間を表している。

なお、以下のようなデータの並びにして分析をする場合も記述しておく。
これは1列目被験者、2列目にpreの握力、3列目にpostの握力を記述している。1列目のsubjectsはわかりやすくするために記述しているが、無くても良い。

subjectsprepost
s132.134.6
s229.534.9
s334.836.2
s431.634.3
s532.635.7
s634.135.8
s725.332.3
s831.432.8
s930.235.3
s1030.833.8
s1127.733.1
s1232.233.3
s1331.334.7
s143035
s1527.835.9
s1632.933.5
s1734.534.4
s1834.235.2
s1926.436.4
s2032.735.1

このような場合のt検定のコードは以下の通り。~を , にして、2列目にpre、3列目にpostを配置している。結果は同じになる。

t.test(data1$pre, data1$post, paired = TRUE)

コメント