SPSS: PROGRAMAS E ROTINAS COMPLEMENTARES (SYNTAX FILES)

 

Planos Experimentais: Aleatorização

 

Planos de Blocos Aleatorizados (Simples e Generalizados)

*** Planos de Blocos Aleatorizados

*** Valentim Rodrigues Alferes (Universidade de Coimbra, 2002)

*** valferes@fpce.uc.pt

**

** Esta sintaxe distribui aleatoriamente as unidades (sujeitos)

** pelas condições ou tratamentos experimentais e pode ser utilizada

** com Planos Aleatorizados de Blocos (Simples ou Generalizados) e com

** Planos Completamente Aleatórios com n igual por tratmento [para

** Planos Completamente Aleatorizados com n igual ou diferente por

** tratamento, pode utilizar outra rotina neste mesmo site].

**

** Nos Planos de Blocos Aleatorizados (Simples), o número de unidades

** por bloco é igual ao número de tratamentos (p). O plano necessita

** de w blocos de p unidades.

**

** Nos Planos Generalizados de Blocos Aleatorizados (ver exemplo), o

** número de unidades por bloco deve ser múltiplo do número de trata-

** mentos (p). O plano requer w blocos de kp unidades (k2).

**

** Nos Planos Completamente Aleatorizados com n igual por tratamento,

** deve introduzir número de blocos = 1.

**

** No exemplo (Planos Generalizados de Blocos Aleatorizados), temos:

** 18 sujeitos (unidades);

** 3 tratamentos (p);

** 2 blocos (w);

** 9 sujeitos por bloco (9=3p).

 

DATA LIST FREE /TRAT(A20).

* Introduza as designações dos tratamentos (A, B e C no exemplo).

BEGIN DATA

A B C

END DATA.

COMPUTE TRATM=$CASENUM.

SAVE OUTFILE=OUTF1.

 

INPUT PROGRAM.

* Introduza o número de sujeitos (18 no exemplo).

LOOP N_CASOS=1 TO 18.

 

* Introduza o número de tratamentos (3 no exemplo).

COMPUTE N_TRATM = 3.

 

* Introduza o número de blocos (2 no exemplo).

COMPUTE N_BLOCOS = 2.

END CASE.

END LOOP.

END FILE.

END INPUT PROGRAM.

COMPUTE TRATM=MOD($CASENUM,N_TRATM)+1.

SORT CASES BY TRATM(A).

MATCH FILES/FILE=*/TABLE=OUTF1/BY TRATM.

COMPUTE BLOCO=MOD($CASENUM,N_BLOCOS)+1.

SORT CASES BY BLOCO(A) TRAT(A).

SET SEED RANDOM.

COMPUTE RANDOM=RV.UNIFORM(0,1).

SORT CASES BY BLOCO(A) RANDOM(A).

RANK VARIABLES=RANDOM(A) BY BLOCO.

COMPUTE ID=RRANDOM.

FORMATS ID(F8.0) BLOCO(F8.0).

LIST ID BLOCO TRAT.

SORT CASES BY TRAT(A) BLOCO(A) ID(A).

SPLIT FILE SEPARATE BY TRAT.

LIST BLOCO ID.

Text File

SPSS Syntax File

Output (exemplo)

*** Planos de Blocos Aleatorizados
*** Valentim Rodrigues Alferes (Universidade de Coimbra, 2002)
*** valferes@fpce.uc.pt
**
** Esta sintaxe distribui aleatoriamente as unidades (sujeitos)
 
[...]
 
COMPUTE ID=RRANDOM.
FORMATS ID(F8.0) BLOCO(F8.0).
LIST ID BLOCO TRAT.

List

      ID    BLOCO TRAT
 
       1        1 B
       2        1 A
       3        1 C
       4        1 A
       5        1 B
       6        1 C
       7        1 A
       8        1 B
       9        1 C
       1        2 A
       2        2 C
       3        2 B
       4        2 A
       5        2 A
       6        2 C
       7        2 C
       8        2 B
       9        2 B
 
Number of cases read:  18    Number of cases listed:  18

 

SORT CASES BY TRAT(A) BLOCO(A) ID(A).
SPLIT FILE SEPARATE BY TRAT.
LIST BLOCO ID.

List

TRAT:  A
 
   BLOCO       ID
 
       1        2
       1        4
       1        7
       2        1
       2        4
       2        5
 
Number of cases read:  6    Number of cases listed:  6
 
TRAT:  B
 
   BLOCO       ID
 
       1        1
       1        5
       1        8
       2        3
       2        8
       2        9
 
Number of cases read:  6    Number of cases listed:  6
 
TRAT:  C
 
   BLOCO       ID
 
       1        3
       1        6
       1        9
       2        2
       2        6
       2        7
 
Number of cases read:  6    Number of cases listed:  6

*** Nota 1

** Pode escolher qualquer designação para os tratamentos (até 20

** caracteres). Por exemplo, num Plano de Blocos Aleatorizado (Simples)

** com 3 tratamentos e 10 blocos:

**      […]

**      BEGIN DATA

**      Tratamento_1 Tratamento_2 Tratamento_3

**      END DATA.

**      […]

**      LOOP N_CASOS=1 TO 30.

**      […]

**      COMPUTE N_TRATM = 3.

**      […]

**      COMPUTE N_BLOCOS = 10.

**      […]

 

*** Nota 2

** Não se esqueça de introduzir N_BLOCOS=1 para os Planos Completamente

** Aleatorizados com n igual por tratamento.

** Por exemplo, num Plano Factorial Completamente Aleatorizado com 6

** tratamentos, 48 sujeitos e igual número de sujeitos por tratamento,

** deve introduzir:

**      […]

**      BEGIN DATA

**      A1B1 A1B2 A2B1 A2B2 A3B1 A3B2

**      END DATA.

**      […]

**      LOOP N_CASOS=1 TO 48.

**      […]

**      COMPUTE N_TRATM= 6.

**      […]

**      COMPUTE N_BLOCOS= 1.

**      […].

Referência

Alferes, V. R. (1997). Investigação científica em psicologia: Teoria e prática. Coimbra: Almedina.

 

NIIPS / CSEO

SYNTAX FILES

valferes@fpce.uc.pt

Última actualização: 2002-09-29