同一の被験者が3条件下で血圧を測定し、測定環境の違いが血圧に及ぼす影響を調べたかったとします。データは以下の通りです。このようなデータは、対応のあるデータとなり、反復測定分散分析が使われます。
conditions |
subjects |
bp |
a |
s1 |
102 |
a |
s2 |
102 |
a |
s3 |
110 |
中略 |
中略 |
中略 |
b |
s1 |
112 |
b |
s2 |
105 |
b |
s3 |
106 |
中略 |
中略 |
中略 |
c |
s18 |
120 |
c |
s19 |
117 |
c |
s20 |
120 |
分散分析のコードと結果は以下の通りです。
> anova_test(data1, bp ~ conditions + Error(subjects|conditions))
ANOVA Table (type III tests)
$ANOVA
Effect DFn DFd F p p<.05 ges
1 conditions 2 38 49.099 2.93e-11 * 0.592
$`Mauchly's Test for Sphericity`
Effect W p p<.05
1 conditions 0.984 0.862
$`Sphericity Corrections`
Effect GGe DF[GG] p[GG] p[GG]<.05 HFe DF[HF] p[HF] p[HF]<.05
1 conditions 0.984 1.97, 37.39 4.11e-11 * 1.097 2.19, 41.67 2.93e-11 *
anova_test関数を使い、目的変数(アウトカム指標、ここでは血圧)と説明変数(要因、ここでは測定環境)を ~ で結ぶところまでは対応のないデータの分散分析と一緒です。対応があるデータということを記述するために、Error(subjects | conditions)を追加します。Error()の中は、| で区切られています。測定環境は、同一の被験者で測定した、ということを記載している、と理解しておきましょう。
$ANOVAは通常の反復測定のための分散分析(typeⅢ)で、$`Mauchly's Test for Sphericity`は球面性の検定であり、分散分析ではありません。$`Sphericity Corrections`は自由度を補正した分散分析の結果で、Greenhouse-GeisserとHuynh-Feldtの方法についての結果が示されています。球面性の仮定が成立しないような場合、自由度補正法を使います。Greenhouse-Geisserの方が結果は保守的になるようです。
自由度補正法のGGeはGreenhouse-Geisserの統計量ε、DF[GG]は自由度、p[GG]はp値、HFeはHuynh-Feldtの統計量ε、DF[HF]は自由度、p[HF]はp値です。今回の結果は通常のANOVA、自由度を補正したANOVA、どちらでも主効果が確認されできる結果となっています。
主効果が確認された場合、多重比較を行うことがあります。多重比較のコードと結果は以下の通りです。
> data1 |> t_test(bp ~ conditions, paired = TRUE)
# A tibble: 3 × 10
.y. group1 group2 n1 n2 statistic df p p.adj p.adj.signif
* <chr> <chr> <chr> <int> <int> <dbl> <dbl> <dbl> <dbl> <chr>
1 bp a b 20 20 -4.24 19 0.000441 0.000441 ***
2 bp a c 20 20 -9.45 19 0.0000000129 0.0000000387 ****
3 bp b c 20 20 -5.95 19 0.00000989 0.0000198 ****
コメント