电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

多指标单因素方差分析程序VIP免费

多指标单因素方差分析程序_第1页
多指标单因素方差分析程序_第2页
多指标单因素方差分析程序_第3页
DimnindexAsLongDimindexNAME(20)AsStringDimindexMAX(20)AsLongDimindexORDER(20,20)AsStringDimnsampleAsLongDimindextable(20,500)AsIntegerDimcurrentROWAsLong'''迭代的最大次数ConstEULER=0.5772156649ConstFPMIN=1E-30'''为防止除0使用的常数'''以下2012.06.08加分析基本统计参数,不能应用复杂统计程序求解,以减少计算时间及程序复杂性Subbasestat(index()AsInteger,X()AsDouble,ByValNAsInteger,ByValNKAsInteger,_AVEI()AsDouble,NI()AsInteger,SEI2()AsDouble,mini()AsDouble,maxi()AsDouble,_aveAsDouble,se2AsDouble,minAsDouble,maxAsDouble)DimIAsInteger,JAsIntegerReDimSUMi2(NK)AsDouble,SUMI(NK)AsDoubleDimSUMAsDouble,SUM2AsDoublemax=-1E-99'极值初值min=1E+100ForI=1ToNKmaxi(I)=-1E-99mini(I)=1E+100NI(I)=0NextForI=1ToN''基本数据计算SUM=SUM+X(I)SUM2=SUM2+X(I)*X(I)'MsgBox"index"&index(I)SUMI(index(I))=SUMI(index(I))+X(I)SUMi2(index(I))=SUMi2(index(I))+X(I)*X(I)NI(index(I))=NI(index(I))+1Ifmini(index(I))>X(I)Thenmini(index(I))=X(I)Ifmaxi(index(I))>X(I)Thenmaxi(index(I))=X(I)Ifmin>X(I)Thenmin=X(I)Ifmax>X(I)Thenmax=X(I)NextForI=1ToNK''二级数据计算'MsgBoxI&""&NI(I)AVEI(I)=SUMI(I)/NI(I)SEI2(I)=(SUMi2(I)-SUMI(I)*SUMI(I)/NI(I))/NI(I)Nextave=SUM/Nse2=(SUM2-SUM*SUM/N)/NEndSub'''以上2012.06.08加Sub多指标方差分析及多重比较()'''测试用20110307晚DimIAsInteger,JAsInteger,NAsIntegerDimNKAsInteger,nxyAsInteger:DimtoolAsNewstat_tool_OK_20120414DimanovaAsNewssanddf_A_R_okNK=8nxy=4N=244ReDima(N,3)AsString,X(N,11)AsDouble,indexa(N,N)AsInteger,indexSTR(58,N)AsString,xname(nxy)AsStringForI=1ToN:ForJ=1Tonxya(I,1)=Cells(I+1,2)'''可以更改列数X(I,J)=Cells(I+1,J+2)Next:Nexttool.索引化a,N,2,indexa,indexSTR'ForI=1ToN'Cells(I+1,8)=indexa(I,1)'Next'MsgBox""ReDimxX(N)AsDoubleReDimindex(N)AsIntegerDimffAsDouble,pAsDoubleForI=1ToN:index(I)=indexa(I,1):NextReDimSEI2(NK)AsDouble,NI(NK)AsInteger,AVEI(NK)AsDouble,maxi(NK)AsDouble,mini(NK)AsDoubleReDimnam(NK)AsString,newname(NK)AsString,LABLE(NK)AsStringDimse2AsDouble,aveAsDouble,maxAsDouble,minAsDoubleForI=1ToNKnam(I)=indexSTR(1,I)NextDimSORTKEY(20)AsDouble,NEWSORTKEY(20)AsDouble,NEWNI(20)AsInteger,newSE(20)AsDouble,fAsIntegerDimSE(20)AsDoubleForJ=1Tonxy'''外循环,变量ForI=1ToN:xX(I)=X(I,J):NextCallbasestat(index,xX,N,NK,AVEI,NI,SEI2,mini,maxi,ave,se2,min,max)ForI=1ToNKSORTKEY(I)=AVEI(I)Nextanova.SSanddf_A_Rindex,xX,Nff=anova.MSa/anova.MSep=tool.vbaFDIST(ff,anova.dfa,anova.dfe)tool.BlockSort_multSESORTKEY,nam,NI,SEI2,NEWSORTKEY,newname,NEWNI,newSE,NKCells(N+5+(NK+5)*(J-1)-1,1)=Cells(1,J+2)&"F"Cells(N+5+(NK+5)*(J-1)-1,2)="因素均方"Cells(N+5+(NK+5)*(J-1)-1,3)="误差均方"Cells(N+5+(NK+5)*(J-1)-1,4)="因素自由度"Cells(N+5+(NK+5)*(J-1)-1,5)="误差自由度"Cells(N+5+(NK+5)*(J-1)-1,6)="无差别概率"Cells(N+5+(NK+5)*(J-1),1)=ffCells(N+5+(NK+5)*(J-1),2)=anova.MSaCells(N+5+(NK+5)*(J-1),3)=anova.MSeCells(N+5+(NK+5)*(J-1),4)=anova.dfaCells(N+5+(NK+5)*(J-1),5)=anova.dfeCells(N+5+(NK+5)*(J-1),6)=pForI=1ToNKCells(N+6+(NK+5)*(J-1),1)="水平名称"Cells(N+6+(NK+5)*(J-1),2)="均值"Cells(N+6+(NK+5)*(J-1),3)="方差"Cells(N+6+(NK+5)*(J-1),4)="频次"Cells(N+6+(NK+5)*(J-1),5)="0.05水平"Cells(N+6+(NK+5)*(J-1),6)="0.01水平"Cells(N+6+(NK+5)*(J-1)+I,1)=newname(I)Cells(N+6+(NK+5)*(J-1)+I,2)=NEWSORTKEY(I)Cells(N+6+(NK+5)*(J-1)+I,3)=newSE(I)Cells(N+6+(NK+5)*(J-1)+I,4)=NEWNI(I)Nexttool.multicompT_multSEnewname,NEWNI,NEWSORTKEY,LABLE,f,newSE,"0.05",NK'''改用两两比较更适合ForI=1ToNKCells(N+6+(NK+5)*(J-1)+I,5)=LABLE(I)Nexttool.multicompT_multSEnewname,NEWNI,NEWSORTKEY,LABLE,f,newSE,"0.01",NK'''改用两两比较更适合ForI=1ToNKCells(N+6+(NK+5)*(J-1)+I,6)=LABLE(I)NextNextEndSubSubtest分类()'''测试用20110307晚DimanameAsRangeDimIAsInteger,JAsInteger,NAsInteger,nxyAsIntegerDimtoolAsNewstat_tool_OK_20120414DimanovaAsNewssanddf_A_R_okN=11ReDima(N,58)AsString,X(N)AsDouble,indexa(N,58)AsInteger,index(N)AsInteger,indexSTR(N,58)AsStringForI=1ToNX(I)=Cells(I+1,13)NextForI=1ToN:ForJ=1ToN-2a(I,J)=Cells(I+1,J+1)Next:Nexttool.索引化a,N,N-2,indexa,indexSTRForJ=1ToN-2ForI=1ToNindex(I)=indexa(I,J)Nextanova.SSanddf_A_Rindex,X,NDimffAsDouble,pAsDoubleff=anova.MSa/anova.MSep=tool.vbaFDIST(ff,anova.dfa,anova.dfe)Cells(22,1+J)=pCells(23,1+J)=ffCells(24,1+J)=anova.SSaCells(25,1+J)=anova.dfaCells(26,1+J)=anova.SSeCells(27,1+J)=anova.dfeNext'a.multiCompaNAME,"SSR",15,6.73,"0.05"'a.multiCompaNAME,"SSR",15,6.73,"0.01"EndSubSubRecord(ByRefROWAsLong,ByValCenterAsLong,ByValIAsLong,ByValsubValueAsDouble,ByValSTDAsDouble,ByValSAsString)Cells(ROW,1)=CenterCells(ROW,2)=ICells(ROW,3)=subValueCells(ROW,4)=STDCells(ROW,5)=SROW=ROW+1EndSub

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

文章天下+ 关注
实名认证
内容提供者

各种文档应有尽有

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部