Я использую следующий код R и получаю 3 степени свободы для взаимодействия A: C. Однако Design Expert и другое программное обеспечение дают 1 степень свободы для взаимодействия.
Правило состоит в том, что DoF в факторе 1 умножает на DoF в факторе 2 степени свободы при их взаимодействии.
A=rep(c(-1,1),4)
B=rep(c(-1,-1,1,1),2)
C=c(rep(-1,4),rep(1,4))
D=A*B*C
E=A*B
cbind(A,B,C,D,E)
treatments<-c("e","ad","bd","abe","cde","ac","bc","abcde")
dat<-data.frame(
A=A,B=B,C=C,D=D,E=E,
response=c(
8,10,32,52,15,20,40,63
)
)
![Normal Probability Plot of Effects](https://i.stack.imgur.com/fGYqL.jpg)
dat1<-dat
dat1[,1:5]<-lapply(dat1[,1:5],factor)
str(dat1)
'data.frame': 8 obs. of 6 variables:
$ A : Factor w/ 2 levels "-1","1": 1 2 1 2 1 2 1 2
$ B : Factor w/ 2 levels "-1","1": 1 1 2 2 1 1 2 2
$ C : Factor w/ 2 levels "-1","1": 1 1 1 1 2 2 2 2
$ D : Factor w/ 2 levels "-1","1": 1 2 2 1 2 1 1 2
$ E : Factor w/ 2 levels "-1","1": 2 1 1 2 2 1 1 2
$ response: num 8 10 32 52 15 20 40 63
amod<-aov(response~B+D+E+A:C,data=dat1)
summary(amod)
Df Sum Sq Mean Sq F value Pr(>F)
B 1 2244.5 2244.5 4489.0 0.0095 **
D 1 0.0 0.0 0.0 1.0000
E 1 162.0 162.0 324.0 0.0353 *
A:C 3 479.0 159.7 319.3 0.0411 *
Residuals 1 0.5 0.5
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Несмотря на то, что это дробный факторный эксперимент, а именно 2 ^ (5-2) или четверть дроби из пяти факторов, DOF должен быть 1 для A: C для любого факторного плана.
Я публикую здесь, потому что это проблема программы, а не вопрос статистики.
Это верно и для функции anova, работающей с моделью lm.