Chapter 11 t検定
【Section 11.1に関連動画を紹介しています。】
2群の平均値の差についての検定であるt検定を実施してみましょう。
t検定を行うコマンドはt.test()です。t.test()は以下のように記述します。
t.test(従属変数 ~ 独立変数, data = データフレーム名)ここでは、blackを用いて、黒人とそれ以外で年間収入incに違いがあるかどうかを確認してみましょう。
t.test(inc ~ black, data = saving)##
## Welch Two Sample t-test
##
## data: inc by black
## t = 1.8562, df = 7.3906, p-value = 0.1036
## alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
## 95 percent confidence interval:
## -890.170 7726.938
## sample estimates:
## mean in group 0 mean in group 1
## 10180.527 6762.143
これでt検定を行うことができます。p値は0.103なので、今回は有意ではありませんでした。(差があるようには見えますが、黒人のサンプルが少ないことが影響していると思われます)
なお、t.test()はデフォルトで2群の分散が等しいと仮定しない「Welchのt検定」を実施します。
オプションでvar.equal = TRUEとすれば分散が等しいと仮定した「スチューデントのt検定」が実施できますが、通常分散は異なることが多いため、デフォルトのままWelchのt検定を使用するのが良いでしょう。
t検定の結果はあまり見やすい形式にはなっていません。
broomというパッケージの関数tidyを使うと、結果を表形式で見やすくすることができます。
まずはbloomをインストールしておきましょう。
install.packages("broom")その上で、tidy()を使ってみましょう。t.testの結果をパイプでつないでtidy()に渡してみます。
library(broom)
t.test(inc ~ black, data = saving) %>%
tidy()## # A tibble: 1 × 10
## estimate estimate1 estimate2 statistic p.value parameter conf.low conf.high
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 3418. 10181. 6762. 1.86 0.104 7.39 -890. 7727.
## # … with 2 more variables: method <chr>, alternative <chr>
表示されている数値は以下のとおりです。
estimate: 平均値の差estimate1: グループ1の平均estimate2: グループ2の平均statistic: t値p.value: p値parameter: 自由度conf.low, conf.high: 信頼区間の下限、上限method: 使用した方法alternative: 両側検定か片側検定か
11.1 関連動画
##
## 次のパッケージを付け加えます: 'kableExtra'
## 以下のオブジェクトは 'package:dplyr' からマスクされています:
##
## group_rows
##
## 次のパッケージを付け加えます: 'gt'
## 以下のオブジェクトは 'package:modelsummary' からマスクされています:
##
## escape_latex