新しいグループ変数を作る 

 SPSSを使って計算をしているときに,ある測度の値を基準にグループをいくつかに分割したい時などがでてきます。また,2つの変数を組み合わせて,新しいグループを作りたい時も出てくるでしょう。こんな場合について説明します。

●連続変量から新しいグループを作る
 例えば,身長がセンチの単位で入力されているとしましょう。それ以後の分析を考えて,身長155センチ未満の人と,155センチ以上の人をまとめた2つのグループを作りたい。そんなときは,次のような手順を踏みます。

変換
  → 他の変数への値の再割り当て

 そうすると,「他の変数への値の再割り当て」というダイアログボックスがでてきます。まず左の変数リストの中から身長を入力してある変数(例えば「身長」)を選択し,「入力変数→出力変数」というボックスへ移動させてやります。そうするとボックスの中に「身長→?」という文字が現れます。次に,新しい変数名を「変換先変数」「名前」に記入します。ここでは「新身長」としておきましょうか。「名前」に「新身長」と入力し,その下にある「変更」ボタンをクリックします。そうすると真ん中のボックスの中が「身長→新身長」に変わったと思います。

 次に,どのように変換するかを指定します。真ん中のボックス下にある「今までの値と新しい値」をクリック。「他の変数への値の再割り当て: 今までの値と新しい値」というダイアログボックスがでてきます。
 ここでその変更内容を指定してやります。例えば身長155センチ未満の人の場合,新身長に1と,155センチ以上の人の場合,新身長に2を割り当てたい場合は,まず「今までの値」で下から3番目の「範囲:最小値から次の値まで」をチェックし,その下のボックスに154(小数まで入力してあれば,154.99などと適当に変える)と入力します。次に「新しい値」「値」をチェックし,その横のボックスに1を入力します。そして真ん中あたりにある「追加」ボタンをクリックすると,「旧→新」というボックスに,「Lowest thru 154 → 1」と入ったことがわかるでしょう。
 同じように,155以上を2にするには,「範囲:下の値から最大値まで」を使います。それチェックし下のボックスに155と入力。「新しい値」に2と入力して「追加」をクリックすると,「155 thru Highest → 2」が作られます。
 さらに欠損値がある場合は,それも指示して下さい。それが済めば「続行」をクリックして,「他の変数への値の再割り当て: 今までの値と新しい値」ダイアログボックスを閉じ,「他の変数への値の再割り当て」「OK」をクリックしてやります。

 新しい変数がちゃんとできているかどうか,「データビュー」「変数ビュー」で確認して下さい。

●2つ(以上)の変数を組み合わせて新しい変数を作る場合
 上の例では,身長によって2つのグループを作りました。これに性別をからませて,例えば男性の身長155センチ未満の人を1,男性のと155センチ以上の人を2,女性の身長155センチ未満の人を3,女性のと155センチ以上の人を4とする方法を見てみましょう。

変換
  → 他の変数への値の再割り当て

「他の変数への値の再割り当て」ダイアログボックスを開くのですが,ここで追加利用するのが「IF」というボタンです。これをクリックすると「他の変数への値の再割り当て: IF条件」というボックスがでてきます。ここで,まずは男性を抽出しておいて変数の再割り当てを行い,次に女性を抽出して置いて変数の再割り当てを行うという手順を踏みます。
 男性を選出する場合(変数名が「sex」で変数が「1」とする),「他の変数への値の再割り当て: IF条件」「IF条件を満たしたケースを含む」にチェックを入れ,左側の変数リストからsexを右の空欄ボックスに移します。そして「sex=1」になるように,電卓みたいなボタン,もしくはキーボードから入力してやります。そして「続行」。すると先ほどの「IF」というボタンの横に,sex=1と表示されていると思います。これで「sex」に「1」という数字が入っている人にのみ,変数の再割り当てが行われます。
 ここからの再割り当ての方法は上と同じです。「Lowest thru 154 → 1」「155 thru Highest → 2」となるように入力してやります。それが終われば,再度「IF」というボタンを使って,今度は抽出条件を「sex=2」とします。そして再割り当てを行い,「Lowest thru 154 → 3」「155 thru Highest → 4」としてやります。

 このような手続きによって,男性の身長155センチ未満の人を1,男性のと155センチ以上の人を2,女性の身長155センチ未満の人を3,女性のと155センチ以上の人を4とした新しいグループ変数をつくることができます。

 なお,新しい変数を作った場合には,データビューを使って,かならず自分の目でちゃんと変換されているかを確認してください。

***********シンタックス

 コマンドとしては,RECODE を使います。すでに「数字を変換する」のところで紹介したコマンドです。

 上の手順で,身長155センチ未満の人を1,155センチ以上の人を2として「新身長」という変数を作成した時,ダイアログボックスで「貼り付け」を選ぶと以下のようにシンタックスが表示されるでしょう(システム欠損値はそのままシステム欠損値とする指示を含む)。

RECODE_身長_(SYSMIS=SYSMIS)_(Lowest_thru_154=1)_(155_thru_Highest=2)_INTO_新身長.
EXECUTE.

となります。半角アケの部分が見えにくいので,_(アンダーバー)にしてあります。そしてやはり EXECUTE. とセットです。

 以前の以下のコマンドが理解できていれば,理解するのは難しくないと思います。変換先の変数名が INTO の後ろに指摘されることになる部分が加えられているだけですね。Thru は Through の略と考えてください。

RECODE_変数名_(何を何に変換するか).

 なお,後半のIFを使った変換は,以下のようになります。

DO IF (SEX=1).
RECODE 身長 (SYSMIS=SYSMIS) (Lowest thru 154=1) (155 thru Highest=2) INTO 新身長.
END IF.
EXECUTE.

DO IF (SEX=2).
RECODE 身長 (SYSMIS=SYSMIS) (Lowest thru 154=3) (155 thru Highest=4) INTO 新身長.
END IF.
EXECUTE.

DO IF (条件). ⇔ END IF. で RECODE が囲まれていることがわかると思います。