集約関数 (AGGREGATE コマンド)
集計変数は、アクティブなデータ・セット内の変数に集計関数を適用することによって作成されます。 アクティブ・データ・セット内の変数は ソース 変数と呼ばれ、新しい集計変数は ターゲット 変数です。
- 集約関数は、
AGGREGATEで最後に指定する必要があります。 - 最も単純な指定は、ターゲット変数リストの後に等号、関数名、およびソース変数のリストを続けたものです。
- 指定されたターゲット変数の数は、ソース変数の数と一致する必要があります。
- 複数の集約変数が同時に定義されている場合、最初に指定されたターゲット変数は最初に指定されたソース変数に基づき、2 番目に指定されたターゲットは 2 番目に指定されたソースに基づき、以下同様に続きます。
- 関数
MAX、MIN、FIRST、およびLASTのみが、ソース変数から完全な辞書情報をコピーします。 他のすべての関数では、新しい変数にはラベルがなく、デフォルトの辞書印刷および書き込み形式が割り当てられます。 変数のデフォルトの形式は、その変数を作成するために使用される関数によって異なります (以下の使用可能な関数のリストを参照してください)。 - 新しい変数名の直後に単一引用符または二重引用符で囲んでラベルを指定することにより、新しい変数の変数ラベルを指定できます。
AGGREGATEで値ラベルを割り当てることはできません。 - フォーマットを変更したり、
AGGREGATEによって作成されたアクティブ・データ・セットに値ラベルを追加したりするには、PRINT FORMATS、WRITE FORMATS、FORMATS、またはVALUE LABELSコマンドを使用します。 アグリゲート・ファイルがディスクに書き込まれる場合、最初にGETを使用してファイルを取得し、新しいラベルとフォーマットを指定し、ファイルを再保存します。
以下に、使用可能な関数のリストを示します。
SUM (varlist)。 ケース全体の合計。
MEAN (varlist)。 ケース間の平均値。
MEDIAN (varlist)。 「ケース間の中央値」。
SD (varlist)。 ケース間の標準偏差。
MAX (varlist)。 ケース間の最大値。 完全な辞書情報がソース変数からターゲット変数にコピーされます。
MIN (varlist)。 ケース間の最小値。 完全な辞書情報がソース変数からターゲット変数にコピーされます。
PGT (varlist, value)。 指定された値より大きいケースの割合。
PLT (varlist, value)。 指定された値より小さいケースの割合。
PIN (varlist,value1,value2)。 value1 から value2(両端を含む) までのケースの割合。
POUT (varlist,value1,value2)。 value1 から value2までの範囲にないケースの割合。 ソース変数が value1 または value2 と等しい場合は、カウントされません。
FGT (varlist, value)。 指定された値より大きいケースの割合。
FLT (varlist, value)。 「指定された値より小さいケースの割合」。
FIN (varlist,value1,value2)。 value1 から value2(両端を含む) までのケースの割合。
FOUT (varlist,value1,value2)。 value1 から value2までの範囲にないケースの割合。 ソース変数が value1 または value2 と等しい場合は、カウントされません。
CGT (varlist, value)。 指定された値より大きいケースの数。
CLT (varlist, value)。 「指定された値より小さいケースの数」。
CIN (varlist,value1,value2)。 value1 から value2まで (両端を含む) のケースの数。
COUT (varlist,value1,value2)。 value1 から value2までの範囲にないケースの数。 ソース変数が value1 または value2 と等しい場合は、カウントされません。
N (varlist)。 ブレーク・グループ内のケースの重み付けされた数。
NU (varlist)。 ブレーク・グループ内の重み付けのないケース数。
NMISS (varlist)。 欠損ケースの重み付けされた数。
NUMISS (varlist)。 重み付けのない欠損ケースの数。
FIRST (varlist)。 ブレーク・グループ内の最初の非欠損観測値。 完全な辞書情報がソース変数からターゲット変数にコピーされます。
LAST (varlist)。 ブレーク・グループ内の最後の非欠損観測値。 完全な辞書情報がソース変数からターゲット変数にコピーされます。
- 関数
SUM、MEAN、およびSDは、数値ソース変数にのみ適用できます。 他のすべての関数では、数値変数だけでなく、短い文字列変数と長い文字列変数も使用できます。 NおよびNU関数には、引数は必要ありません。 引数を指定しないと、ブレーク・グループ内の重み付けされた有効なケースと重み付けされていない有効なケースの数が返されます。 変数リストを指定すると、指定された変数に対して重み付けされた有効なケースと重み付けされていない有効なケースの数が返されます。- いくつかの関数の場合、引数には、ソース変数の指定だけでなく、値も含まれます。 ブランクまたはコンマを使用して、引数リストのコンポーネントを区切ることができます。
- 指定された範囲内または範囲外のパーセンテージ、小数、およびカウントの場合、指定された最初の値は 2 番目の値以下でなければなりません。 そうでない場合は、自動的に元に戻されます。 2 つの値が等しい場合、
PIN、FIN、およびCINは、引数と等しいパーセンテージ、小数部、またはカウントを計算します。POUT、FOUT、およびCOUTは、引数と等しくないパーセント、小数部、またはカウントを計算します。 - 引数に指定するストリング値は、引用符で囲む必要があります。
MEAN 関数の使用
AGGREGATE OUTFILE=’AGGEMP.SAV’ /BREAK=LOCATN
/AVGSAL 'Average Salary' AVGRAISE = MEAN(SALARY RAISE).
AGGREGATEは、2 つの集約変数 AVGSAL および AVGRAISEを定義します。- AVGSAL は各ブレーク・グループの SALARY の平均値で、 AVGRAISE は RAISEの平均値です。
- ラベル 「Average Salary」 が AVGSALに割り当てられます。
PLT 関数の使用
AGGREGATE OUTFILE=* /BREAK=DEPT
/LOWVAC,LOWSICK = PLT (VACDAY SICKDAY,10).
AGGREGATEは、 LOWVAC と LOW人の 2 つの集計変数を作成します。 LOWVAC は、 VACDAYの値が 10 未満のケースの割合であり、 LOW人 は、 SICKDAYの値が 10 未満のケースの割合です。
FIN 関数の使用
AGGREGATE OUTFILE=’GROUPS.SAV’ /BREAK=OCCGROUP
/COLLEGE = FIN(EDUC,13,16).
AGGREGATEは、変数 学を作成します。これは、13 年から 16 年の教育を受けたケースの割合です (変数 EDUC)。
PIN 機能の使用
AGGREGATE OUTFILE=* /BREAK=CLASS
/LOCAL = PIN(STATE,'IL','IO').
AGGREGATEは、変数 LOCALを作成します。これは、2 文字の状態コードがイリノイ、インディアナ、またはアイオワを表す各ブレーク・グループ内のケースの割合です。 (インディアナ州の IN の省略形は、IL と IO の間のアルファベット順のソート・シーケンスです。)