rstatixを用いた正規性の確認
作成日: 2025/5/29
rstatix関係を使用した記録。
データが正規分布に従うことを仮定した分析を実施する前には,正規性の確認がよくなされます。
正規性の確認はQ-Qプロットやシャピロ・ウィルク検定を用いて行われることが多いようなのでRでやってみます。
code: R
# パッケージの読み込み
library(tidyverse)
library(rstatix)
library(datarium)
data("mice")
# QQプロット
mice %>%
ggplot(aes(sample = weight)) +
stat_qq() +
stat_qq_line()
https://scrapbox.io/files/6837aae434efe8a77b8e51b0.png
高い値の方が理論値からはずれている感じはします。検定もしてみましょう。
code: R
# シャピロウィルク検定
mice %>%
shapiro_test(weight)
https://scrapbox.io/files/6837ab804c5ac09d90f4b393.png
シャピロ・ウィルク検定における帰無仮説は「変数が正規分布にしたがう」ということなので, p < .05のときに「正規分布でない」と判断します。したがってこの場合は,帰無仮説は棄却されない(=正規分布でないとはいえない)となります。
帰無仮説が棄却されないから正規分布とみなすというやり方には色々と批判がありますし,その後に行う分析の仮定の違反への頑健性とかにも左右されるので,この結果のみでその後の分析プランの判断を決めるのはおすすめしません。
なお,このshapiro_test()関数は変数を複数指定すれば,まとめて検定を実行してくれます。
code: R
data("selfesteem")
selfesteem %>%
shapiro_test(t1, t2, t3)
https://scrapbox.io/files/6837b05357a9cc4050f7e3c4.png