*disclaimer
758428
多重比較の場合のp値の補正
https://www.rdocumentation.org/packages/stats/versions/3.6.2/topics/p.adjust
手順
- 補正前のp値をベクトルに保存
- 補正方法を選択:"bonferroni" "holm"
- 組合せの数(ベクトルの要素の数と同じ)
使い方
p.adjust(ベクトル, method="補正方法", 組合せの数)
例
> d1 <- c(0.00000000000000022, 0.00000000000000022, 0.00000000000000022) > p.adjust(d1, method="holm", n=3) [1] 6.6e-16 6.6e-16 6.6e-16 > d2 <- c(0.0000000007925, 0.00000007586, 0.8093) > p.adjust(d2, method="holm", n=3) [1] 2.3775e-09 1.5172e-07 8.0930e-01 > p.adjust(d2, method="bonferroni", n=3) [1] 2.3775e-09 2.2758e-07 1.0000e+00 > d3 <- c(0.00000002481, 0.00000000000000022, 0.0000000005179) > p.adjust(d3, method="holm", n=3) [1] 2.4810e-08 6.6000e-16 1.0358e-09
BonferroniかHolmかどちらを使うか
どう違うか
- Bonferroniは、すべての組み合わせに対して、同等に一番厳しい(組合せの数を共通にすべての場合にあてはめる)
- Holmは、一番有意になりそうなものから順に、組合せの数を一つずつマイナスしてあてはめていく
- なので、一番有意になりそうにないものは、補正前と後とで同じ値となる。
補正の二通りの考え方
危険率自体を割って基準を厳しくする方法
p値に組合せの数を掛けてp値を大きくする方法(危険率 0.05等は変わらない)=こちらの方が直感的に理解しやすい
Tips
Holmの方法では、p値の順にかける組合せの数をあてはめていくが、p値が同じだった場合どうするか?
- より厳しいほうの数をあてはめる
- そもそもHolmの方法は、厳しすぎるBonferroniを「あまく」する考えに基づく
- Holmの方法はあますぎるというクレームをされる恐れがある
- なので、厳しくしておいたほうがクレームがつきにくい
https://sugiura-ken.org/wiki/