IBM Support

多重回答グループを定義するためのデータ加工

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オプションをご利用の場合:[分析]→[テーブル]→[多重回答グループ]

*お手持ちのデータで実行される場合は、上記サンプルシンタックスの
変数名、カテゴリ数を変更してご利用下さい。

[{"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"}}]

Document Information

Modified date:
16 April 2020

UID

swg21600267