preserve. set printback=on. * SIMPLE AND COMPLEX RANDOM ASSIGNMENT IN EXPERIMENTAL DESIGNS Valentim R. Alferes, University of Coimbra (Portugal), 2009. * CC5.sps - Complete counterbalacing (5 treatments/120 sequences). set printback=off. set ovars labels onumbers values tvars labels tnumbers values. set errors=none. data list free /Sequence(a10). begin data ABCDE ABCED ABDCE ABDEC ABECD ABEDC ACBDE ACBED ACDBE ACDEB ACEBD ACEDB ADBCE ADBEC ADCBE ADCEB ADEBC ADECB AEBCD AEBDC AECBD AECDB AEDBC AEDCB BACDE BACED BADCE BADEC BAECD BAEDC BCADE BCAED BCDAE BCDEA BCEAD BCEDA BDACE BDAEC BDCAE BDCEA BDEAC BDECA BEACD BEADC BECAD BECDA BEDAC BEDCA CABDE CABED CADBE CADEB CAEBD CAEDB CBADE CBAED CBDAE CBDEA CBEAD CBEDA CDABE CDAEB CDBAE CDBEA CDEAB CDEBA CEABD CEADB CEBAD CEBDA CEDAB CEDBA DABCE DABEC DACBE DACEB DAEBC DAECB DBACE DBAEC DBCAE DBCEA DBEAC DBECA DCABE DCAEB DCBAE DCBEA DCEAB DCEBA DEABC DEACB DEBAC DEBCA DECAB DECBA EABCD EABDC EACBD EACDB EADBC EADCB EBACD EBADC EBCAD EBCDA EBDAC EBDCA ECABD ECADB ECBAD ECBDA ECDAB ECDBA EDABC EDACB EDBAC EDBCA EDCAB EDCBA end data. * Enter number of units per sequence. compute units= 1. loop cases=1 to units. xsave outfile=outf1/keep=Sequence. end loop. execute. get file=outf1. set seed random. compute random=uniform(1). sort cases by random(a). rank variables=random(a)/print=no. compute Unit=rrandom. formats all(f8.0). oms/select tables/if commands=["summarize"] subtypes=["case processing summary"]/destination viewer=no. oms/select tables/if commands=["crosstabs"] subtypes=["case processing summary"]/destination viewer=no. summarize/tables=unit sequence/format=validlist nocasenum nototal /title='Complete Counterbalancing \n Sorted by Unit'/cells=none. sort cases by sequence(a) unit(a). summarize/tables= unit sequence/format=validlist nocasenum nototal /title='Complete Counterbalancing \n Sorted by Sequence'/cells=none. summarize/tables=unit by sequence/format=nolist total /title='Number of Units per Sequence'/cells=count npct. restore.