Rを使用した反復測定によるANOVA後の事後検定


24

次のように、Rで反復測定ANOVAを実行しました。

aov_velocity = aov(Velocity ~ Material + Error(Subject/(Material)), data=scrd)
summary(aov_velocity)
  • Rのどの構文を使用して、反復測定によるANOVAの後に事後検定を実行できますか?
  • ボンフェローニ補正によるテューキーのテストは適切でしょうか?もしそうなら、これをRでどのように行うことができますか?

1
反復測定のための事後テストで、この関連の質問を参照の設計stats.stackexchange.com/questions/575/...を
Jeromy Anglimに

3
2番目のポイントについて:TukeyのHSDには、多重度の「修正」が既に含まれています(ボンフェローニの方法のようなアルファレベルではなく、検定統計量のレベルで)。そのため、両方を組み合わせる必要はありません。
CHL

1
@chl:したがって、TukeyのHSDの場合、複数のペアワイズ比較中にアルファレベルを修正する必要はありませんか?
スタン

3
@stan No.(注:ANOVAが重要な結果を示した後、特に確認的なアプローチに関係する場合は、計画外(事後)テストを実行する必要があります。)
chl

回答:


20

できることは、モデルを指定し、パッケージからlme使用glhtmultcompて必要なことを行うことです。ただし、lmeは標準のANOVAとは少し異なるF値を示します(こちらの最近の質問も参照してください)。

lme_velocity = lme(Velocity ~ Material, data=scrd, random = ~1|Subject)
anova(lme_velocity)

require(multcomp)
summary(glht(lme_velocity, linfct=mcp(Material = "Tukey")), test = adjusted(type = "bonferroni"))

他の対比についてはbonferroni、例えば、パッケージの著者からの本をmultcomp参照してください。

また、この投稿をRメーリングリストに表示したり、このブログ投稿でRの反復測定ANOVAを指定することもできます。

しかし、私からのこの質問に示されているように、このアプローチが分散分析と同一であるかどうかはわかりません。さらに、glht は通常のtまたはF値ではなくz値のみを報告します。これも珍しいようです。

これまでのところ、私はこれを行う別の方法に遭遇していません。


2

aov()関数を使い続けたい場合は、オブジェクト(および他の多くのオブジェクト)をemmeans処理できるパッケージを使用できます。 aovlist

library("emmeans")
# set orthogonal contrasts
options(contrasts = c("contr.sum", "contr.poly"))

aov_velocity <- aov(Velocity ~ Material + Error(Subject / Material), data = scrd)

emmGrid次のようにオブジェクトを作成した後

emm <- emmeans(aov_velocity, ~ Material)

pairs()関数を使用してすべての(事後)ペアワイズ比較を取得するかcontrast()emmeansパッケージの関数を使用して任意のコントラストを取得するのは非常に簡単です。adjustこれらの関数の引数を使用して、複数のテスト調整を実現できます。

pairs(emm)  # adjust argument not specified -> default p-value adjustment in this case is "tukey"  

詳細については、詳細なビネットドキュメントが非常に役立つことがわかりました。

また、ここでの答えに正しいコントラストの重みを取得する方法の説明を含む完全な(再現可能な)例があります。

ただし、ポストホックテストに単変量モデルを使用すると、球形性が侵害された場合に保守的でないp値が生じる可能性があることに注意してください。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.