SPSS: PROGRAMAS E ROTINAS COMPLEMENTARES (SYNTAX FILES)

 

Análise da Variância

 

Análise Unifactorial da Variância

Reprodução do Quadro da ANOVA a partir de estatísticas-resumo publicadas em artigos científicos

Esta sintaxe reproduz integralmente o tradicional Quadro da ANOVA Unifactorial, a partir de estatísticas-resumo publicadas em artigos científicos.

De acordo com os dados disponíveis, o utilizador pode adoptar um dos seguintes quatro métodos:

·     Método 1: Ns, médias e desvios-padrão;

·     Método 2: Ns, médias e variâncias;

·     Método 3: Ns, médias e média quadrática do erro;

·     Método 4: Médias, graus de liberdade do numerador, graus de liberdade do denominador e média quadrática do erro.

Para além do Quadro da ANOVA na janela do output, a sintaxe cria uma file activa que simula os dados originais. Com base nesta file, pode correr outra sintaxe disponível neste site e obter as seguintes estatísticas:

·     Componentes da variância;

·     Medidas de associação (eta e eta quadrado; omega e omega quadrado);

·     Medida do tamanho do efeito (f de Cohen);

·     Poder observado.

**********************************************************************

*** Reprodução do Quadro de uma ANOVA Unifactorial
*** Valentim R. Alferes (University of Coimbra, Portugal)
*** valferes@fpce.uc.pt

 

**********************************************************************

 

** MÉTODO 1: Ns Médias e Desvios-padrão.

 

* Enter, row by row, N, Mean and Standard Deviation for the

* groups or experimental treatments (in the example, you have

* three treatments).

 

DATA LIST LIST /n(F8.0) m(f8.2) sd(f8.2).

BEGIN DATA

6  10,50  2,30

7  11,34  3,60

8  15,17  4,10

END DATA.

 

COMPUTE a=$CASENUM.

LOOP id=1 TO n.

XSAVE OUTFILE=XOUT1.

END LOOP.

EXECUTE.

GET FILE=XOUT1.

COMPUTE vd=m.

COMPUTE k=SQR((sd**2*(N-1))/2).

IF (id=1) vd=m+k.

IF (id=2) vd=m-k.

EXECUTE.

SUMMARIZE/TABLES=vd BY a/FORMAT=NOLIST TOTAL

/TITLE='Case Summaries'/CELLS=COUNT MEAN STDDEV VAR.

ONEWAY vd BY a.

 

**********************************************************************

 

** MÉTODO 2: Ns, Médias e Variâncias.

 

* Enter, row by row, N, Mean and Variance for the

* groups or experimental treatments (in the example, you have

* three treatments).

 

DATA LIST LIST /n(F8.0) m(f8.2) var(f8.2).

BEGIN DATA

6  10,50  5,29

7  11,34  12,96

8  15,17  16,81

END DATA.

 

COMPUTE a=$CASENUM.

LOOP id=1 TO n.

XSAVE OUTFILE=XOUT1.

END LOOP.

EXECUTE.

GET FILE=XOUT1.

COMPUTE vd=m.

COMPUTE k=SQR((var*(N-1))/2).

IF (id=1) vd=m+k.

IF (id=2) vd=m-k.

EXECUTE.

SUMMARIZE/TABLES=vd BY a/FORMAT=NOLIST TOTAL

/TITLE='Case Summaries'/CELLS=COUNT MEAN STDDEV VAR.

ONEWAY vd BY a.

 

 

**********************************************************************

 

** MÉTODO 3: Ns, Médias e Média Quadrática do Erro.

 

* Enter, row by row, N and Mean for the groups or experimental

* treatments (in the example, you have three treatments).

 

DATA LIST LIST /n(F8.0) m(f8.0).

BEGIN DATA

6  10,50

7  11,34

8  15,17

END DATA.

 

* Enter Mean Square Error.

COMPUTE mse = 12.32667.

 

COMPUTE a=$CASENUM.

LOOP id=1 TO n.

XSAVE OUTFILE=XOUT1.

END LOOP.

EXECUTE.

GET FILE=XOUT1.

COMPUTE vd=m.

COMPUTE k=SQR((mse*(N-1))/2).

IF (id=1) vd=m+k.

IF (id=2) vd=m-k.

EXECUTE.

SUMMARIZE/TABLES=vd BY a/FORMAT=NOLIST TOTAL

/TITLE='Case Summaries'/CELLS=COUNT MEAN.

ONEWAY vd BY a.

 

**********************************************************************

 

** MÉTODO 4: Médias, GL numerador, GL denominador e Média Quadrática do Erro.

 

* Enter, row by row, the Mean for the groups or experimental

* treatments (in the example, you have three treatments).

 

DATA LIST LIST /m(f8.2).
BEGIN DATA

10,50

11,34

15,17  
END DATA.
 
* Enter degrees of freedom for numerator (between groups df).
COMPUTE dfnum=2.
 
* Enter degrees of freedom for denominator (within groups 
* or MSError df).
COMPUTE dfden=18.
 
* Enter MSError.

COMPUTE mse=12.32667.

 

COMPUTE a=$CASENUM.
COMPUTE n_tot=dfnum+dfden+1.
COMPUTE n_treat=dfnum+1.
COMPUTE nxi=RND(n_tot/n_treat).
EXECUTE.
CREATE cum=CSUM(nxi).
SORT CASES BY cum(D).
IF ($CASENUM=1) nxi=nxi-(cum-n_tot).
EXECUTE.
SORT CASES BY a(A).

LOOP id=1 TO nxi.

XSAVE OUTFILE=XOUT1.

END LOOP.

EXECUTE.

GET FILE=XOUT1.

COMPUTE vd=m.

COMPUTE k=SQR((mse*(nxi-1))/2).

IF (id=1) vd=m+K.

IF (id=2) vd=m-K.

EXECUTE.

SUMMARIZE/TABLES=vd BY a/FORMAT=NOLIST TOTAL

/TITLE='Case Summaries'/CELLS=COUNT MEAN.

ONEWAY vd BY a.

 

**********************************************************************

** Note

** With Method 4 you don’t know the Ns per treatment from the original

** source. If they are equal, you will get the exact ANOVA Table. Otherwise,

** as is the case in this example, you get only an approximation,

** because the syntax assumes that the Ns are equal in all treatments

** (if N_TOT/N_TREAT is an integer), or that they are equal in all

** treatments, except for the last one (if N_TOT/N_TREAT is not an integer).

**

** The syntax bellow exemplifies the case for equal Ns per treatment.

 

**********************************************************************

 

** The following syntax does the ANOVA on raw data from Kirk

**(1995, p. 167, Table 5.2-I) and compares it with Methods 1 and 4.

 

** Analysis of raw data from Kirk (1995, p. 167, Table 5.2-I).

 

DATA LIST FREE /A(F8.0) VD(F8.0).

BEGIN DATA

1 4 1 6 1 3 1 3 1 1 1 3 1 2 1 2 2 4 2 5 2 4 2 3 2 2 2 3 2 4 2 3 3 5

3 6 3 5 3 4 3 3 3 4 3 3 3 4 4 3 4 5 4 6 4 5 4 6 4 7 4 8 4 10

END DATA.

ONEWAY vd BY a/STATISTICS DESCRIPTIVES.

 

** METHOD 1: Ns Means, and SDs.

 

* Enter, row by row, N, Mean and Standard Deviation for the

* groups or experimental treatments (in the example, you have

* three treatments).

 

DATA LIST LIST /n(F8.0) m(f8.2) sd(f8.6).

BEGIN DATA

8  3,00  1,511858

8  3,50  0,925820

8  4,25  1,035098

8  6,25  2,121320

END DATA.

 

COMPUTE a=$CASENUM.

LOOP id=1 TO n.

XSAVE OUTFILE=XOUT1.

END LOOP.

EXECUTE.

GET FILE=XOUT1.

COMPUTE vd=m.

COMPUTE k=SQR((sd**2*(N-1))/2).

IF (id=1) vd=m+k.

IF (id=2) vd=m-k.

EXECUTE.

SUMMARIZE/TABLES=vd BY a/FORMAT=NOLIST TOTAL

/TITLE='Case Summaries'/CELLS=COUNT MEAN STDDEV VAR.

ONEWAY vd BY a.

 

** METHOD 4: Means, DFnum, DFden, and MSError.

 

* Enter, row by row, the Mean for the groups or experimental

* treatments (in the example, you have three treatments).

 

DATA LIST LIST /m(f8.2).

BEGIN DATA

3,00

3,50

4,25

6,25

END DATA.

 

* Enter degrees of freedom for numerator (between groups df).

COMPUTE dfnum=3.

 

* Enter degrees of freedom for denominator (within groups

* or MSError df).

COMPUTE dfden=28.

 

* Enter MSError.

COMPUTE mse=2.178571.

 

COMPUTE a=$CASENUM.

COMPUTE n_tot=dfnum+dfden+1.

COMPUTE n_treat=dfnum+1.

COMPUTE nxi=RND(n_tot/n_treat).

EXECUTE.

CREATE cum=CSUM(nxi).

SORT CASES BY cum(D).

IF ($CASENUM=1) nxi=nxi-(cum-n_tot).

EXECUTE.

SORT CASES BY a(A).

LOOP id=1 TO nxi.

XSAVE OUTFILE=XOUT1.

END LOOP.

EXECUTE.

GET FILE=XOUT1.

COMPUTE vd=m.

COMPUTE k=SQR((mse*(nxi-1))/2).

IF (id=1) vd=m+K.

IF (id=2) vd=m-K.

EXECUTE.

SUMMARIZE/TABLES=vd BY a/FORMAT=NOLIST TOTAL

/TITLE='Case Summaries'/CELLS=COUNT MEAN.

ONEWAY vd BY a.

 

Text File

SPSS Syntax File

Ver Output

Referência

Kirk, R. E. (1995). Experimental design: Procedures for the behavioral sciences (3rd ed.). Pacific Grove, CA: Brooks/Cole.

 

NIIPS / CSEO

SYNTAX FILES

valferes@fpce.uc.pt

Última actualização: 2003-04-18