* Этот синтаксис случайным образом распределяет объекты по вариантам эксперимента и может быть для полностью рандомизированных планов эксперимента (количество объектов на вариант эксперимента может быть равным или неравным). * Для эксперимента с рандомизироваными блоками (простой схемы или обобщённой), а также для полностью рандомизированных экспериментов с равным числом объектов на эксперимент можно использовать следующий синтаксис: http://www.spsstools.ru/Syntax/BlockDesign/RandomAssignmentOfUnitsToExpTreatment s.txt * В данном примере у нас есть 3 варианта условий эксперимента (A, B, and C) с 8, 9 и 6 объектами соответственно. DATA LIST LIST /TREAT(A20) N_TREAT(F8.0). * Задаём названия вариантов и число объектов в каждом из них. BEGIN DATA A 8 B 9 C 6 END DATA. LOOP CASES=1 TO N_TREAT. XSAVE OUTFILE="c:\\temp\\OUTF1"/KEEP=TREAT. END LOOP. EXECUTE. GET FILE="c:\\temp\\OUTF1". SET SEED RANDOM. COMPUTE RANDOM=RV.UNIFORM(0,1). SORT CASES BY RANDOM(A). RANK VARIABLES=RANDOM(A). COMPUTE ID=RRANDOM. FORMATS ID(F8.0). LIST ID TREAT. SORT CASES BY TREAT (A) ID (A). SPLIT FILE SEPARATE BY TREAT. LIST ID. * Замечание 1: * Можно вводить любые имена вариантов (с длиной имён до 20 символов). Например, задать * полностью рандомизированный факторный план с 4 вариантами и 15 объектами в каждом: * […] * BEGIN DATA * A1B1 15 * A1B2 15 * A2B1 15 * A2B2 15 * END DATA. * […]. * Замечание 2: * Если у вас есть N объектов и p вариантов эксперимента и вы хотите, чтобы SPSS случайно приписала объекты к вариантам (предварительно случайно определив количество объектов на вариант), используйте следующий синтаксис. * Пример: 40 объектов и 6 вариантов эксперимента (A, B, C, D, E and F). DATA LIST FREE /TREAT(A20). * Задаём имена вариантов (A, B, C, D, E и F в данном примере). BEGIN DATA A B C D E F END DATA. COMPUTE TREATM=$CASENUM. SAVE OUTFILE=OUTF1. INPUT PROGRAM. * Задаём N (общее число объектов: 40 в данном примере). LOOP N_CASES=1 TO 40. END CASE. END LOOP. END FILE. END INPUT PROGRAM. * Задаём число вариантов (6 в данном примере). COMPUTE N_TREAT=6. SET SEED RANDOM. COMPUTE LIM=N_TREAT+.5. COMPUTE RANDOM1 = RV.UNIFORM(0.5,LIM). COMPUTE TREATM=RND (RANDOM1). SORT CASES BY TREATM (A). MATCH FILES/FILE=*/TABLE=OUTF1/BY TREATM. SET SEED RANDOM. COMPUTE RANDOM2 = RV.UNIFORM(0,1). SORT CASES BY RANDOM2 (A). COMPUTE ID=$CASENUM. EXECUTE. FORMATS ID(F8.0). LIST ID TREAT. SORT CASES BY TREAT (A) ID (A). SPLIT FILE SEPARATE BY TREAT. LIST ID.