2017-10-03 4 views
1

J'ai des problèmes avec du code SPSS. Im nouveau à SPSS et essayant toujours de comprendre la syntaxe. J'essaye d'obtenir que mon code compte la somme de deux dés égaux à 7. Je ne peux pas obtenir la fonction de compte pour fonctionner comme je le veux. Voici mon code. Tous les conseils seraient grandement appréciés.SPSS Compenser la fonction de conseil

INPUT PROGRAM. 
LOOP #I=1 TO 100000. 
COMPUTE case = 1. 
END CASE. 
END LOOP. 
END FILE. 
END INPUT PROGRAM. 
EXECUTE. 

COMPUTE Dice_1 = TRUNC (RV.UNIFORM(1,7)). 
COMPUTE Dice_2 = TRUNC (RV.UNIFORM(1,7)). 
COMPUTE total = Dice_1+Dice_2. 
COMPUTE Number_Sum7= Dice_1+Dice_2 = 7. 
COUNT Num= case TO Number_Sum7(1). 
SAVE outfile = 'my file path'. 

Répondre

1

count La fonction compte dans une liste de variables, dans chaque ligne séparément.
Ce que vous cherchez à faire, c'est compter les lignes.
Vous pouvez commencer par:

frequencies total. /* see counts of all possible totals. 
means Number_Sum7/cells=sum. /* count only the cases where total=7. 

Ils vous donneront les réponses dans la fenêtre de sortie.

Si vous souhaitez obtenir les réponses dans les données pour une analyse plus approfondie, recherchez la fonction aggregate.

Par exemple, ce qui suit vous donnera les mêmes résultats, mais dans une nouvelle séries de données:

DATASET NAME ORIG. 
DATASET DECLARE freqs. 
AGGREGATE /OUTFILE='freqs' /BREAK=total /Mycount=N. 
DATASET ACTIVATE ORIG. 
DATASET DECLARE only7. 
AGGREGATE /OUTFILE='only7' /BREAK= /only7=sum(Number_Sum7). 

Ou, au contraire, vous pouvez ajouter les résultats à vos données présentes:

AGGREGATE /OUTFILE=* MODE=ADDVARIABLES /BREAK=total /TotalCount=N. 
AGGREGATE /OUTFILE=* MODE=ADDVARIABLES /BREAK= /total7=sum(Number_Sum7).