繰り返し測定 (反復測定) がある場合の分散分析とR (オマケ p値の取り出し)
まず、相互作用の図示をするための忘れがちな関数
interaction.plot(factor_A, factor_B, y)
上記の入力順だと、factor_B ごとに線の種類を変え、
factor_A をX軸にとって、y の値を Y軸に折れ線グラフを書いてくれます。
繰り返し測定 (反復測定) がある場合の ANOVA については、まず、 R のチュートリアル
SINGLE FACTOR REPEATED MEASURES ANOVA
に、記載があります。
上記の interaction plot の例では、
summary(aov( y ~ factor_A + Error(factor_B /factor_A)))という書式にするようです。p値は、two-way ANOVA の factor_A 部分のと同じものが出るようです。
ノンパラメトリック法の フリードマン検定は、
friedman.test(y~factor_A | factor_B, data=データフレームの名前)とするようです。"data= " で、データフレームを指定する書法でないと動かないようです。
もう少し高級な、繰り返し測定 (反復測定) がある場合の ANOVA については、下記の拡張 "rep.aov" を使うのが良いようです。
反復測定分散分析 (Repeated measured ANOVA)
書式は、
rep.aov (y ~ I(x) + S(subject), data名)と書きます。フリードマンと同じく、"data= " で、データフレームを指定する書法で、data$y みたいな書式では動かないようです。
☆ 上手くできないとき
上記の rep.aov のためには、MASS パッケージを呼び出すことが必要なのかもしれません。library(MASS) で呼び出せます。
なお、attach(), detach( ) をすると MASS と競合するようです。
オマケ p 値の取り出し
実は、t test のように p 値を返してくれる関数はデフォルトではないようです。Error(factor_B /factor_A) の書式では、取り出せず、仕方がないので、tow-way ANOVA から取り出します。
anova(lm( y ~ Factor_A + Factor_B )[1,5]が、一番シンプルな書式でしょう。