Случайное приписывание объектов к вариантам эксперимента
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | * Синтаксис случайным образом приписывает объекты вариантам эксперимента и может быть использована для * рандомизированного блочного эксперимента (простова или обобщённого), так же как и для * полностью рандомизированного эксперимента с равным количеством объектов в каждом варианте эксперимента. * Для генерации полностью рандомизированных планов эксперимента с неравным количеством объектов * в разных вариантах эксперимента можно использовать следующий синтаксис: http://www.spsstools.ru/Syntax/BlockDesign/CRDesigns.txt * Для рандомизированных блочных планов (простых) число объектов в блоке равно * числу вариантов эксперимента (p). План требует наличия w блоков по p объектов в каждом, таким образом. * Для обобощённого рандомизированного блочного плана (см. пример) число объектов в блоке * должно быть равно числу вариантов (p), умноженному на некоторую целую константу. * План требует наличия w блоков по kp объектов в кажом (k>=2). * Для полностью рандомизированных планов с равным числом объектов на вариант эксперимента, * вы должны указать, что число блоков = 1. * В данном примере (обобщённый рандомизированный блочный план) у нас есть: * 18 объектов; * 3 варианта условий эксперимента (p); * 2 блока (w); * 9 объектов на блок (9=3p). DATA LIST FREE /TREAT(A20). * Enter treatments names (A, B and C in the example). BEGIN DATA A B C END DATA. COMPUTE TREATM=$CASENUM. SAVE OUTFILE=OUTF1. INPUT PROGRAM. * Enter number of cases (18 in the example). LOOP N_CASES=1 TO 18. * Enter number of treatments (3 in the example). COMPUTE N_TREATM=3. * Enter number of blocks (2 in the example). COMPUTE N_BLOCKS=2. END CASE. END LOOP. END FILE. END INPUT PROGRAM. COMPUTE TREATM=MOD($CASENUM,N_TREATM)+1. SORT CASES BY TREATM (A). MATCH FILES/FILE=*/TABLE=OUTF1/BY TREATM. COMPUTE BLOCK=MOD($CASENUM,N_BLOCKS)+1. SORT CASES BY BLOCK(A) TREAT(A). SET SEED RANDOM. COMPUTE RANDOM=RV.UNIFORM(0,1). SORT CASES BY BLOCK(A) RANDOM(A). RANK VARIABLES=RANDOM(A) BY BLOCK. COMPUTE ID=RRANDOM. FORMATS ID(F8.0) BLOCK(F8.0). LIST ID BLOCK TREAT. SORT CASES BY TREAT (A) BLOCK (A) ID (A) . SPLIT FILE SEPARATE BY TREAT . LIST BLOCK ID. * Замечание 1: * Можно вводить полное название вариантов (до 20 символов). Например, * для простого рандомизированного блочного эксперимента с 10 блоками и 3 вариантами можно ввести: * […] * BEGIN DATA * Вариант_1 Вариант_2 Вариант_3 * END DATA. * […] * LOOP N_CASES=1 TO 30. * […] * COMPUTE N_TREATM=3. * […] * COMPUTE N_BLOCKS=10. * […] * Замечание 2: * Помните ,что для полностью рандомизированного плана надо указать N_BLOCKS = 1. * Например, в полностью рандомизированном факторном плане с 6 вариантами, 48 объектами и равным числом * объектов на вариант, надо указать: * […] * BEGIN DATA * A1B1 A1B2 A2B1 A2B2 A3B1 A3B2 * END DATA. * […] * LOOP N_CASES=1 TO 48. * […] * COMPUTE N_TREATM=6. * […] * COMPUTE N_BLOCKS=1. * […]. |
Related pages
...