Полностью рандомизированные планы (с равным или неравным количеством наблюдений на вариант)

Автор: Valentim R. Alferes (Университет Коимбра, Португалия), valferes@fpce.uc.pt
Создано: 2005-12-09
Загрузить как файл:

* Этот синтаксис случайным образом распределяет объекты по вариантам
эксперимента и может быть для полностью рандомизированных планов эксперимента
(количество объектов на вариант эксперимента может быть равным или неравным).
* Для эксперимента с рандомизироваными блоками (простой схемы или обобщённой), а
также для полностью рандомизированных экспериментов с равным числом объектов на
эксперимент можно использовать следующий синтаксис:
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.

Изменено: 2010-09-18 22:45:35

 

Raynald's SPSS Tools по-русски © Raynald Levesque 2001—11, Антон Балабанов 2005–11