1 The SAS System 13:47 Monday, August 11, 2003 NOTE: Copyright (c) 1999-2001 by SAS Institute Inc., Cary, NC, USA. NOTE: SAS (r) Proprietary Software Release 8.2 (TS2M0) Licensed to UNC-CHAPEL HILL-SYSTEMWIDE-T/R, Site 0039466002. NOTE: This session is executing on the WIN_PRO platform. NOTE: SAS initialization used: real time 0.26 seconds cpu time 0.26 seconds 1 TITLE1 "EXAMPLEG01.SAS--direct programming of 2 types of contrasts"; 2 TITLE2 "factorial design, repeated measures: A, B, C between, D, E, F 2 ! within"; 3 4 PROC IML SYMSIZE=1000 WORKSIZE=2000; Worksize = 2048000 Symbol size = 1024000 NOTE: IML Ready 5 RESET FUZZ NOAUTONAME FW=6 LINESIZE=80; 6 %INCLUDE "..\IML\POWERLIB202.IML"/NOSOURCE2; NOTE: Module POWER defined. NOTE: Module _POWER defined. NOTE: Module _RANKSYMM defined. NOTE: Module _SIZECHK defined. NOTE: Module _TYPEMISSCHK defined. NOTE: Module _SETOPT defined. NOTE: Module _HLT defined. NOTE: Module _PBT defined. NOTE: Module _WLK defined. NOTE: Module _SPECIAL defined. NOTE: Module _FIRSTUNI defined. NOTE: Module _HFEXEPS defined. NOTE: Module _GGEXEPS defined. NOTE: Module _LASTUNI defined. NOTE: Module _GLMMPCL defined. NOTE: Module _PROBF defined. NOTE: Module _FINV defined. NOTE: Module _FWARN defined. NOTE: Module _SASDS defined. NOTE: Module _QPROB defined. NOTE: Module _AS defined. NOTE: Module _IROUND defined. NOTE: Module _COUNTR defined. NOTE: Module _ALOG1 defined. NOTE: Module _EXP1 defined. NOTE: Module _ORDER defined. NOTE: Module _ERRBD defined. NOTE: Module _CTFF defined. NOTE: Module _TRUNCN defined. 2 The SAS System 13:47 Monday, August 11, 2003 NOTE: Module _FINDU defined. NOTE: Module _INTEGR defined. NOTE: Module _CFE defined. NOTE: Module NAMELIST defined. NOTE: Module UMEAN defined. NOTE: Module UPOLY1 defined. NOTE: Module UPOLY2 defined. NOTE: Module UPOLY3 defined. 4950 4951 ALPHA=.05; 4952 4953 *Choose dimensions of design; 4954 GA=3; 4954 ! *=# groups for between factor A; 4955 GB=3; 4955 ! *=# groups for between factor B; 4956 GC=3; 4956 ! *=# groups for between factor C; 4957 TD=3; 4957 ! *=#Times for within factor D; 4958 TE=3; 4958 ! *=#Times for within factor E; 4959 TF=3; 4959 ! *=#Times for within factor F; 4960 4961 P=TD#TE#TF; 4962 Q=GA#GB#GC; 4963 ESSENCEX= I(Q); 4964 BETA=J(Q,P,0); 4965 BETA[1,1]=1; 4966 4967 SIGMA=DIAG(DO(1,P,1)); 4967 ! *Variances are 1,2,3,...p; 4968 4969 *Get orthonormal submatrices for U matrices; 4970 POLYD=ORPOL(1:TD); 4970 ! UD1=POLYD[,2:NCOL(POLYD)]`; 4971 POLYE=ORPOL(1:TE); 4971 ! UE1=POLYE[,2:NCOL(POLYE)]`; 4972 POLYF=ORPOL(1:TF); 4972 ! UF1=POLYF[,2:NCOL(POLYF)]`; 4973 4974 *U matrix for Main effect D; 4975 UD=( UD1 @ J(1,TE,1 ) @ J(1,TF,1 ))` ; 4976 4977 *U matrix for Main effect E; 4978 UE=(J(1,TD,1 ) @ UE1 @ J(1,TF,1 ) )`; 4979 4980 *U matrix for Main effect F; 4981 UF=(J(1,TD,1 ) @ J(1,TE,1 ) @ UF1 )`; 3 The SAS System 13:47 Monday, August 11, 2003 4982 4983 *U matrix for DxE interaction; 4984 UDE=HDIR(UD,UE); 4985 4986 *U matrix for DxExF interaction; 4987 UDEF=HDIR(UDE,UF); 4988 4989 *Get submatrices for between factors; 4990 CA1=J(GA-1,1,-1)||I(GA-1); 4991 CB1=J(GB-1,1,-1)||I(GB-1); 4992 CC1=J(GC-1,1,-1)||I(GC-1); 4993 4994 *Main effect A; 4995 CA= CA1 @ J(1,GB,1) @ J(1,GC,1) ; 4996 4997 *Main effect B; 4998 CB=J(1,GA,1) @ CB1 @ J(1,GC,1) ; 4999 5000 *Main effect C[FORMAT=2.]; 5001 CC=J(1,GA,1) @ J(1,GB,1) @ CC1 ; 5002 5003 *AxB interaction; 5004 CAB=(HDIR(CA`,CB`))`; 5005 5006 *AxBxC interaction; 5007 CABC=(HDIR(CAB`,CC`))`; 5008 5009 BETASCAL={9 18 27}; 5010 ROUND=4; 5011 OPT_ON={NOPRINT GG HF UN PBT HLT WLK}; 5012 OPT_OFF={WARN SIGSCAL ALPHA}; 5013 BUG=" "; 5014 5015 C=CA; 5016 U=UD; 5017 DO REPN=2 TO 12 BY 2; 5018 RUN POWER; 5019 HOLDA=HOLDA//_HOLDPOWER; 5020 END; 5021 PRINT / "AxD"; 5022 PRINT HOLDA[COLNAME=_HOLDPOWERLBL ROWNAME=BUG]; 5023 5024 C=CAB; 5025 U=UDE; 5026 DO REPN=2 TO 12 BY 2; 5027 RUN POWER; 5028 HOLDABDE=HOLDABDE//_HOLDPOWER; 5029 END; 5030 PRINT / "AxB x DxE Interaction"; 5031 PRINT HOLDABDE[COLNAME=_HOLDPOWERLBL ROWNAME=BUG]; 4 The SAS System 13:47 Monday, August 11, 2003 5032 5033 C=CABC; 5034 U=UDEF; 5035 DO REPN=2 TO 12 BY 2; 5036 RUN POWER; 5037 HABCDEF=HABCDEF//_HOLDPOWER; 5038 END; 5039 PRINT / "AxBxC x DxExF Interaction"; 5040 PRINT HABCDEF[COLNAME=_HOLDPOWERLBL ROWNAME=BUG]; NOTE: Exiting IML. NOTE: The PROCEDURE IML printed pages 1-3. NOTE: PROCEDURE IML used: real time 1.00 seconds cpu time 0.99 seconds NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414 NOTE: The SAS System used: real time 1.47 seconds cpu time 1.27 seconds