【R】t検定のやり方と結果の見方【1標本t検定】

この記事ではRを使ってt検定を実行する方法と、得られた結果の見方について解説していきます。

また、この記事では下記のライブラリを使用するためあらかじめインストールと読み込みをしておいてください。

library(tidyverse) # データ操作をするためのライブラリ
library(ggpubr) # プロット用ライブラリ
library(rstatix) # t検定などの統計検定をするためのライブラリ

1標本t検定

1標本t検定とは、1つのサンプルの平均を比較するための手法になります。

例えば「100グラム入りのお菓子」という商品があった場合、「本当に100グラム入っているとみなせるか」を調べたいときにこの手法が使われます。

今回は「datarium」というパッケージに内包されているデータを使用して1標本t検定をやってみます。

# データの読み込み
# install.packages("datarium")でインストールしておくこと
data(mice, package = "datarium")
head(mice)
# A tibble: 6 x 2
  name  weight
  <chr>  <dbl>
1 M_1     18.9
2 M_2     19.5
3 M_3     23.1
4 M_4     20.1
5 M_5     20.3
6 M_6     23.4

上記のデータは10匹のネズミの体重が含まれているデータになります。

要約統計量

mice %>% get_summary_stats(weight, type = "mean_sd")
# A tibble: 1 x 4
  variable     n  mean    sd
  <chr>    <dbl> <dbl> <dbl>
1 weight      10  20.1  1.90
解説

要約統計量の解釈としては10匹のネズミの平均体重は20.1で標準偏差は1.90である。となります。

箱ひげ図のプロット

次にネズミの体重の分布をボックスプロットで確認してみましょう。(※大きな点は平均値を表しています。)

bxp <- ggboxplot(
    mice$weight, width = 0.5, add = c("mean", "jitter"), 
    ylab = "Weight (g)", xlab = FALSE
)
bxp

前提条件の確認

1標本t検定では下記の特性を前提としています。

  • データに有意な外れ値はない
  • データは正規分布である

ここからは用意したデータが上記の前提条件を満たしているかを確認していきます。

外れ値の確認

外れ値は「identify_outliers」という関数を使えば簡単に確認することができます。

今回は結果が「<0 rows>」だったため、外れ値がなかったことがわかります。

mice %>% identify_outliers(weight)
[1] name       weight     is.outlier is.extreme
<0 rows> (or 0-length row.names)

正規性の確認

次にデータが正規分布であるかを確認していきます。

正規性の仮定については、Shapiro-Wilk検定によって確認することができます。データが正規分布に従う場合、p値は0.05より大きくなります。

Rでは「shapiro_test」という関数を使うことで正規性を確認することができます。

mice %>% shapiro_test(weight)
# A tibble: 1 x 3
  variable statistic     p
  <chr>        <dbl> <dbl>
1 weight       0.923 0.382

上記の結果から、p値が0.05異常であるため、このデータは正規性を仮定することができます。

t検定の実行

1標本t検定の前提条件が確認できたので、実際にt検定を実行してみましょう。

今回は母集団の平均を25と仮定してt検定を実行します。

stat.test <- mice %>% t_test(weight ~ 1, mu = 25)
stat.test
# A tibble: 1 x 7
  .y.    group1 group2         n statistic    df       p
* <chr>  <chr>  <chr>      <int>     <dbl> <dbl>   <dbl>
1 weight 1      null model    10     -8.10     9 0.00002

上記の結果から言えることは、「測定されたネズミの平均体重(20.14 +/- 1.94)は、母集団の平均平均体重よりも統計的に有意に低かった」となります。

 

参考