jihongli0430
设:p=3,a=2,b=2,c=20
library(mvtnorm)
x11= data.frame(rmvnorm(n=20, mean=c(1,1,1)))
x12= data.frame(rmvnorm(n=20, mean=c(3,3,3)))
x21= data.frame(rmvnorm(n=20, mean=c(5,5,5)))
x22= data.frame(rmvnorm(n=20, mean=c(7,7,7)))
x=rbind(x11, x12, x21, x22)
p=3
a=2
b=2
c=20
xmean=mean(x) #x的均值
x11mean=mean(x11)
x12mean= mean(x12)
x21mean= mean(x21)
x22mean= mean(x22) # xij•的均值
xi1mean=( x11mean+ x12mean)/b
xi2mean=( x21mean+ x22mean)/b # xi••的均值
xj1mean=( x11mean+ x21mean)/a
xj2mean=( x12mean+ x22mean)/a # x•j•的均值
sspe=(c-1)*(cov(x11)+cov(x12)+cov(x21)+cov(x22))
sspa=b*c*((xi1mean-xmean)%*%t(xi1mean-xmean)+ (xi2mean-xmean)%*%t(xi2mean-xmean))
sspb=a*c*((xj1mean-xmean)%*%t(xj1mean-xmean)+ (xj2mean-xmean)%*%t(xj2mean-xmean))
sspab=c*((x11mean-xi1mean-xj1mean+xmean)%*%t(x11mean-xi1mean-xj1mean+xmean)+(x12mean-xi1mean-xj2mean+xmean)%*%t(x12mean-xi1mean-xj2mean+xmean)+(x21mean-xi2mean-xj1mean+xmean)%*%t(x21mean-xi2mean-xj1mean+xmean)+(x22mean-xi2mean-xj2mean+xmean) %*%t(x22mean-xi2mean-xj2mean+xmean ))
检验有无交互作用
H1 : ij =0
p1=det(sspe)/det(sspab+sspe)
p1
[1] 0.9847985
P1较大,接受H1,即因素A和B的不同水平之间无明显交互作用。
H1成立时,检验因素A的效应
H2 : 1 = 2 =…= a =0
p2=det(sspe)/det(sspa+sspe)
p2
[1] 0.06304215
因p2具有较小值,拒绝H2,即因素A的各水平对指标的影响有显著性差异。
H1成立时,检验因素B的效应
H3 : 1 2 =…= b =0
p3=det(sspe)/det(sspb+sspe)
p3
[1] 0.1976991
因p3具有较小值,拒绝H3,即因素B的各水平对指标的影响有显著性差异。
我只能做到这个程度,求助:双因素方差分析的命令,请给出完整过程,谢谢!