Question & Answer
Question
1つのセルにカンマ( ,)区切りでカテゴリ値を入力したデータがあります。 例:1,3,5 このデータで多重回答グループの定義をしたいのですが、この入力データのままでは 定義できません。どのように加工すれば多重回答グループを定義できますか。
Answer
シンタックスの実行で、多重回答グループの定義が可能なデータに変更することができます。
サンプルデータ:変数「多重回答」には、10カテゴリの中で選択した値がカンマ区切りで入力されています。
以下のシンタックスで実行可能です。
==================================
STRING 区切り文字追加 (A16).
COMPUTE 区切り文字追加=CONCAT(",",LTRIM(RTRIM(多重回答)),",").
EXECUTE.
IF (CHAR.INDEX(区切り文字追加,",1,")>= 1) 回答1=1.
IF (CHAR.INDEX(区切り文字追加,",2,")>= 1) 回答2=1.
IF (CHAR.INDEX(区切り文字追加,",3,")>= 1) 回答3=1.
IF (CHAR.INDEX(区切り文字追加,",4,")>= 1) 回答4=1.
IF (CHAR.INDEX(区切り文字追加,",5,")>= 1) 回答5=1.
IF (CHAR.INDEX(区切り文字追加,",6,")>= 1) 回答6=1.
IF (CHAR.INDEX(区切り文字追加,",7,")>= 1) 回答7=1.
IF (CHAR.INDEX(区切り文字追加,",8,")>= 1) 回答8=1.
IF (CHAR.INDEX(区切り文字追加,",9,")>= 1) 回答9=1.
IF (CHAR.INDEX(区切り文字追加,",10,")>= 1) 回答10=1.
EXECUTE.
RECODE 回答1 回答2 回答3 回答4 回答5 回答6 回答7 回答8 回答9 回答10 (SYSMIS=0).
EXECUTE.
DELETE VARIABLES 区切り文字追加.
EXECUTE.
==================================
シンタックスをすべて実行すると以下のようにデータが変更されます。
*上記のシンタックスについて、コマンドの内容をセンテンスごとに説明します。
Step1:区切り文字を追加する
最初のカテゴリ「1」と最後のカテゴリ「10」を区別するため、区切り文字カンマを追加します。
実行するシンタックスコマンド
STRING 区切り文字追加 (A16).
COMPUTE 区切り文字追加=CONCAT(",",LTRIM(RTRIM(多重回答)),",").
EXECUTE.
シンタックスを実行するとデータは以下のように変更されます。
Step2:カテゴリの数分の新変数を作成する
カテゴリの数だけ変数を作成し、各回答ごとにカテゴリ値が入力されている場合は、
1を表示するように条件を定義します。
サンプルデータの場合、カテゴリの数は10個なので、以下のように、
回答1から回答10まで新変数を作成します。
実行するシンタックスコマンド
IF (CHAR.INDEX(区切り文字追加,",1,")>= 1) 回答1=1.
IF (CHAR.INDEX(区切り文字追加,",2,")>= 1) 回答2=1.
IF (CHAR.INDEX(区切り文字追加,",3,")>= 1) 回答3=1.
IF (CHAR.INDEX(区切り文字追加,",4,")>= 1) 回答4=1.
IF (CHAR.INDEX(区切り文字追加,",5,")>= 1) 回答5=1.
IF (CHAR.INDEX(区切り文字追加,",6,")>= 1) 回答6=1.
IF (CHAR.INDEX(区切り文字追加,",7,")>= 1) 回答7=1.
IF (CHAR.INDEX(区切り文字追加,",8,")>= 1) 回答8=1.
IF (CHAR.INDEX(区切り文字追加,",9,")>= 1) 回答9=1.
IF (CHAR.INDEX(区切り文字追加,",10,")>= 1) 回答10=1.
EXECUTE.
シンタックスを実行するとデータは以下のように変更されます。
Step3:システム欠損値を0に置き換える
システム欠損値を0に置き換えます。
実行するシンタックスコマンド
RECODE 回答1 回答2 回答3 回答4 回答5 回答6 回答7 回答8 回答9 回答10 (SYSMIS=0).
EXECUTE.
シンタックスを実行するとデータは以下のように変更されます。
Step4:不要変数の削除
データ加工が完了したので、不要になった変数「区切り文字追加」を削除します。
実行するシンタックスコマンド
DELETE VARIABLES 区切り文字追加.
EXECUTE.
シンタックスを実行するとデータは以下のように変更されます。
このデータで多重回答グループの定義を行います。
Baseシステムの場合: [分析]→[多重回答]→[変数グループの定義]
Tablesオプションをご利用の場合:[分析]→[テーブル]→[多重回答グループ]
*お手持ちのデータで実行される場合は、上記サンプルシンタックスの
変数名、カテゴリ数を変更してご利用下さい。
Related Information
[{"Product":{"code":"SSLVMB","label":"IBM SPSS Statistics"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Statistics Desktop","Platform":[{"code":"PF033","label":"Windows"}],"Version":"Not Applicable","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]
Was this topic helpful?
Document Information
Modified date:
16 April 2020
UID
swg21600267