多指标单因素方差分析程序.docx
- 文档编号:15851845
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:9
- 大小:36.88KB
多指标单因素方差分析程序.docx
《多指标单因素方差分析程序.docx》由会员分享,可在线阅读,更多相关《多指标单因素方差分析程序.docx(9页珍藏版)》请在冰点文库上搜索。
多指标单因素方差分析程序
多指标单因素方差分析程序
DimnindexAsLong
DimindexNAME(20)AsString
DimindexMAX(20)AsLong
DimindexORDER(20,20)AsString
DimnsampleAsLong
Dimindextable(20,500)AsInteger
DimcurrentROWAsLong
'''迭代的最大次数
ConstEULER=0.5772156649
ConstFPMIN=1E-30
"'为防止除0使用的常数
'''以下2012.06.08加分析基本统计参数,不能应用复杂统计程序求解,以减少计算时间及程序复杂性
Subbasestat(index()AsInteger,X()AsDouble,
ByVaiNAsInteger,ByVaiNKAsInteger,_
AVEI()AsDouble,NI()AsInteger,SEI2()
AsDouble,mini()AsDouble,maxi()AsDouble,
aveAsDouble,se2AsDouble,minAs
Double,maxAsDouble)
DimIAsInteger,JAsInteger
ReDimSUMi2(NK)AsDouble,SUMI(NK)
AsDouble
DimSUMAsDouble,SUM2AsDoublemax=-1E-99'极值初值min=1E+100
ForI=1ToNK
maxi(I)=-1E-99
mini(I)=1E+100
NI(I)=0
Next
ForI=1ToN''基本数据计算
SUM=SUM+X(I)
SUM2=SUM2+X(I)*X(I)
'MsgBox"index"&index(I)
SUMI(index(l))=SUMI(index(l))+
X(I)
SUMi2(index⑴)=SUMi2(index(l))+
X(I)*X(I)
Nl(index⑴)=Nl(index(l))+1
Ifmini(index(l))>X⑴Then
mini(index(l))=X(l)
Ifmaxi(index⑴)>X⑴Then
maxi(index(l))=X(l)
lfmin>X(l)Thenmin=X(l)
lfmax>X(l)Thenmax=X(l)
Next
Forl=1ToNK”二级数据计算
'MsgBoxI&""&Nl(l)
AVEI(I)=SUMI(I)/Nl(l)
SEI2(I)=(SUMi2(l)-SUMI(I)*
SUMI(I)/Nl(l))/Nl(l)
Next
ave=SUM/N
se2=(SUM2-SUM*SUM/N)/N
EndSub
以上2012.06.08加
Sub多指标方差分析及多重比较()’'’测试用
20110307晚
DimIAsInteger,JAsInteger,NAsInteger
DimNKAsInteger,nxyAsInteger:
DimtoolAsNewstat_tool_OK_20120414
DimanovaAsNewssanddf_A_R_ok
NK=8
nxy=4
N=244
ReDima(N,3)AsString,X(N,11)As
Double,indexa(N,N)AsInteger,indexSTR(58,N)AsString,xname(nxy)AsString
ForI=1ToN:
ForJ=1Tonxy
a(I,1)=Cells(I+1,2)'''可以更改列数X(I,J)=Cells(I+1,J+2)
Next:
Nexttool.索引化a,N,2,indexa,indexSTR'ForI=1ToN
'Cells(l+1,8)=indexa(l,1)
'Next
'MsgBox""
ReDimxX(N)AsDouble
ReDimindex(N)AsInteger
DimffAsDouble,pAsDouble
ForI=1ToN:
index(I)=indexa(I,1):
Next
ReDimSEI2(NK)AsDouble,NI(NK)AsInteger,AVEI(NK)AsDouble,maxi(NK)AsDouble,mini(NK)AsDouble
ReDimnam(NK)AsString,newname(NK)AsString,LABLE(NK)AsString
Dimse2AsDouble,aveAsDouble,maxAsDouble,minAsDouble
ForI=1ToNK
nam(I)=indexSTR(1,I)
Next
DimSORTKEY(20)AsDouble,
NEWSORTKEY(20)AsDouble,NEWNI(20)AsInteger,newSE(20)AsDouble,fAsInteger
DimSE(20)AsDouble
ForJ=1Tonxy'''外循环,变量
ForI=1ToN:
xX(I)=X(I,J):
Next
Callbasestat(index,xX,N,NK,AVEI,
NI,SEI2,mini,maxi,ave,se2,min,max)
ForI=1ToNK
SORTKEY(l)=AVEI(I)Next
anova.SSanddf_A_Rindex,xX,N
ff=anova.MSa/anova.MSe
tool.vbaFDIST(ff,anova.dfa,
anova.dfe)
tool.BlockSort_multSE
nam,NI,SEI2,NEWSORTKEY,NEWNI,newSE,NK
Cells(N+5+(NK+5)*(J-
Cells(1,J+2)&"F"
Cells(N+5+(NK+5)*(J-"因素均方”
Cells(N+5+(NK+5)*(J-"误差均方”
Cells(N+5+(NK+5)*(J-"因素自由度"
Cells(N+5+(NK+5)*(J-"误差自由度”
Cells(N+5+(NK+5)*(J-"无差别概率"
Cells(N+5+(NK+5)*(J-
SORTKEY,
newname,
1)-1,1)=
1)-1,2)=
1)-1,3)=
1)-1,4)=
1)-1,5)=
1)-1,6)=
1),1)=ff
(J-1),2)=
Cells(N+5+(NK+5)*anova.MSa
Cells(N+5+(NK+5)*(J-1),3)=
anova.MSe
Cells(N+5+(NK+5)*(J-1),4)=
="0.01水平"
Cells(N+6+(NK+5)*(J-1)+I,
1)=newname(I)
Cells(N+6+(NK+5)*(J-1)+I,
2)=NEWSORTKEY(l)
Cells(N+6+(NK+5)*(J-1)+I,
3)=newSE(I)
Cells(N+6+(NK+5)*(J-1)+I,
4)=NEWNI(I)
Next
tool.multicompT_multSEnewname,NEWNI,NEWSORTKEY,LABLE,f,newSE,"0.05",NK
”'改用两两比较更适合
ForI=1ToNK
Cells(N+6+(NK+5)*(J-1)+I,
5)=LABLE(I)
Next
tool.multicompT_multSEnewname,NEWNI,NEWSORTKEY,LABLE,f,newSE,
"0.01",NK
”'改用两两比较更适合
ForI=1ToNK
Cells(N+6+(NK+5)*(J-1)+
I,6)=LABLE(I)
Next
Next
EndSub
Subtest分类()'''测试用20110307晚
DimanameAsRange
DimIAsInteger,JAsInteger,NAsInteger,nxyAsInteger
DimtoolAsNewstat_tool_OK_20120414
DimanovaAsNewssanddf_A_R_ok
N=11
ReDima(N,58)AsString,X(N)AsDouble,indexa(N,58)AsInteger,index(N)AsInteger,
indexSTR(N,58)AsString
ForI=1ToN
X⑴=Cells(l+1,13)
Next
ForI=1ToN:
ForJ=1ToN-2a(I,J)=Cells(I+1,J+1)
Next:
Next
tool.索引化a,N,N-2,indexa,indexSTR
ForJ=1ToN-2
ForI=1ToN
index(I)=indexa(I,J)
Nextanova.SSanddf_A_Rindex,X,N
DimffAsDouble,pAsDoubleff=anova.MSa/anova.MSe
p=tool.vbaFDIST(ff,anova.dfa,
anova.dfe)
Cells(22,1+J)=p
Cells(23,1+J)=ff
Cells(24,1+J)=anova.SSa
Cells(25,1+J)=anova.dfa
Cells(26,1+J)=anova.SSe
Cells(27,1+J)=anova.dfe
Next
15,6.73
15,6.73
'a.multiCompaNAME,"SSR",
"0.05"
'a.multiCompaNAME,"SSR",
"0.01"
EndSub
SubRecord(ByRefROWAsLong,ByVal
CenterAsLong,ByValIAsLong,ByValsubValueAsDouble,ByVaiSTDAsDouble,ByVaiSAsString)
Cells(ROW,1)=Center
Cells(ROW,2)=I
Cells(ROW,3)=subValue
Cells(ROW,4)=STD
Cells(ROW,5)=S
ROW=ROW+1
EndSub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指标 因素 方差分析 程序
![提示](https://static.bingdoc.com/images/bang_tan.gif)