btw-Ss 因子と within-Ss 因子の両方を含む ANOVA の傾向分析を行いたいと考えています。
btw要因は「治療」であり、内要因は「試験」です。
test.data <- data.frame(sid = rep(c("s1", "s2", "s3", "s4", "s5"), each = 4),
treatments = rep(c("a1", "a2"), each = 20),
trials = rep(c("b1", "b2", "b3", "b4"), 10),
responses = c(3,5,9,6,7,11,12,11,9,13,14,12,4,8,11,7,1,3,5,4,5,6,11,7,10,12,18,15,10,15,15,14,6,9,13,9,3,5,9,7))}
ANOVA は、教科書 (Keppel、1973) のものと正確に一致します。
aov.model.1 <- aov(responses ~ treatments*trials + Error(sid/trials), data=tab20.09)
困っているのはトレンド分析です。「トライアル」の線形、2 次、3 次のトレンドを見てみたいと思います。「治療×治験」についても同様の傾向が見られるとよい。
トレンド分析の対比を次のように設定しました。
contrasts(tab20.09$trials) <- cbind(c(-3, -1, 1, 3), c(1, -1, -1, 1), c(-1, 3, -3, 1))
contrasts(tab20.09$trials)
[,1] [,2] [,3]
b1 -3 1 -1
b2 -1 -1 3
b3 1 -1 -3
b4 3 1 1
線形、二次、および三次トレンドの場合。
Keppel によると、トレンドの結果は次のようになります。
TRIALS:
SS df MS F
(Trials) (175.70) 3
Linear 87.12 1 87.12 193.60
Quadratic 72.90 1 72.90 125.69
Cubic 15.68 1 15.68 9.50
TREATMENTS X TRIALS
SS df MS F
(Trtmt x Trials)
(3.40) 3
Linear 0.98 1 0.98 2.18
Quadratic 0.00 1 0.00 <1
Cubic 2.42 1 2.42 1.47
ERROR TERMS
(21.40) (24)
Linear 3.60 8 0.45
Quadratic 4.60 8 0.58
Cubic 13.20 8 1.65
昔々、紙と鉛筆を使って 6 関数電卓を使って自分で導き出さなければならなかったので、私は彼の答えを信じています。ただし、これを行うと:
contrasts(tab20.09$trials) <- cbind(c(-3, -1, 1, 3), c(1, -1, -1, 1), c(-1, 3, -3, 1))
aov.model.2 <- aov(responses ~ treatments*trials + Error(sid/trials), data=tab20.09)
summary(lm(aov.model.2))
私が得たものは意味がないようです。
summary(lm(aov.model.2))
Call:
lm(formula = aov.model.2)
Residuals:
ALL 40 residuals are 0: no residual degrees of freedom!
Coefficients: (4 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 5.750e+00 NA NA NA
treatmentsa2 3.500e+00 NA NA NA
trials1 6.500e-01 NA NA NA
trials2 -1.250e+00 NA NA NA
trials3 -4.500e-01 NA NA NA
sids10 -3.250e+00 NA NA NA
sids2 4.500e+00 NA NA NA
sids3 6.250e+00 NA NA NA
sids4 1.750e+00 NA NA NA
sids5 -2.500e+00 NA NA NA
sids6 -2.000e+00 NA NA NA
sids7 4.500e+00 NA NA NA
sids8 4.250e+00 NA NA NA
sids9 NA NA NA NA
treatmentsa2:trials1 2.120e-16 NA NA NA
treatmentsa2:trials2 -5.000e-01 NA NA NA
treatmentsa2:trials3 5.217e-16 NA NA NA
trials1:sids10 1.500e-01 NA NA NA
trials2:sids10 7.500e-01 NA NA NA
trials3:sids10 5.000e-02 NA NA NA
trials1:sids2 -1.041e-16 NA NA NA
trials2:sids2 -2.638e-16 NA NA NA
trials3:sids2 5.000e-01 NA NA NA
trials1:sids3 -1.500e-01 NA NA NA
trials2:sids3 -2.500e-01 NA NA NA
trials3:sids3 4.500e-01 NA NA NA
trials1:sids4 -5.000e-02 NA NA NA
trials2:sids4 -7.500e-01 NA NA NA
trials3:sids4 1.500e-01 NA NA NA
trials1:sids5 -1.000e-01 NA NA NA
trials2:sids5 5.000e-01 NA NA NA
trials3:sids5 3.000e-01 NA NA NA
trials1:sids6 -1.000e-01 NA NA NA
trials2:sids6 5.000e-01 NA NA NA
trials3:sids6 -2.000e-01 NA NA NA
trials1:sids7 4.000e-01 NA NA NA
trials2:sids7 5.000e-01 NA NA NA
trials3:sids7 -2.000e-01 NA NA NA
trials1:sids8 -5.000e-02 NA NA NA
trials2:sids8 2.500e-01 NA NA NA
trials3:sids8 6.500e-01 NA NA NA
trials1:sids9 NA NA NA NA
trials2:sids9 NA NA NA NA
trials3:sids9 NA NA NA NA
Residual standard error: NaN on 0 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: NaN
F-statistic: NaN on 39 and 0 DF, p-value: NA
私が間違っていることはありますか?「lm」と ANOVA に何らかの問題があるのではないかと思いますが、何が原因で、どのように傾向分析を行うべきかわかりません。
###### ssdecontrol の応答に対する詳細まあ、「試練」は、操作されている 4 つのレベルの経験をコード化する要因です。同様に、「sid」は「サブジェクト識別番号」であり、「序数」や「間隔」ではなく、間違いなく「名目」です。ANOVAS では、ほとんどの場合、被験者は因子として扱われます。
ただし、これらの変更の両方を試しましたが、ANOVA が大きく歪められました (自分で試して比較してください)。同様に、それは役に立たなかったようです。おそらく、より直接的な関連性があります。コントラストを作成して適用しようとすると、数値が要因である必要があるため、それを実行できないと言われます。
contrasts(tab20.09$trials) <- cbind(c(-3, -1, 1, 3), c(1, -1, -1, 1), c(-1, 3, -3, 1))
Error in `contrasts<-`(`*tmp*`, value = c(-3, -1, 1, 3, 1, -1, -1, 1, :
contrasts apply only to factors
やり直し contr.poly を次のように使用すると、さらに進歩するようです
contrasts(tab20.09$trials) <- contr.poly(levels(tab20.09$trials))
ANOVA はまったく変化しません。それは良いことであり、私がそうするとき:
lm.model <- lm(responses ~ trials, data = tab20.09)
summary.lm(lm.model)
基本的に Keppel と同じパターンになります。
しかし、試行だけでなく、相互作用(治療×試行)の線形傾向に興味があるので、これを試しました:
lm3 <- lm(responses ~ treatments*trials, data = tab20.09)
summary.lm(lm3)
そして「試練」のMEは消え去ります。. .
ケッペルの治療では、彼は各対比 (すなわち、線形、二次、および三次) に対して個別の誤差項を計算し、それを「試行」の主効果と「治療 x 試行」の相互作用の両方に使用しました。
確かに、これらすべてをもう一度手計算することができました。おそらく、一般的なケースの R 関数を作成することもできます。しかし、実験心理学のこのような基本的なコア コントラストがまだ R 実装を見つけていないとは信じがたいようです!!??
どんな助けや提案も大歓迎です。ありがとう。W