将一组多​​项选择(选择所有适用变量)组合为一个

时间:2018-07-16 03:28:24

标签: spss qualtrics

我正在尝试将一组“全选”变量组合到从Qualtrics下载的数据集中的一个变量中。

按目前的情况,Qualtrics为每个可能的选择创建一个变量,如果受访者选择了该变量,则分配一个“ 1”,然后分配一个“”。如果受访者没有选择,则会丢失。

在这种特定情况下(种族类别),我只是复制了每个变量,为每个变量分配了一个唯一数字以“选定”(例如,白色选定值1转换为100),然后将所有重复的变量相加变量一起变成一个新变量。这为每种情况提供了一个唯一的数字,该数字可能代表也可能不代表多个种族类别。

例如,对于检查了多个答案选项的受访者而言,新标签看起来像“白人与亚洲人”,而不是每个变量中的“ 1”。

不过,我当时在想,可能有一种更简单的方法?

编辑:下面包括语法。

重新编码为种族变量,每个选择具有唯一的值

RECODE w1srace_1 (1=1) (ELSE=Copy) INTO r2w1srace_1.
VARIABLE LABELS  r2w1srace_2 'recoded to higher values'.
EXECUTE.

RECODE w1srace_2 (1=5) (ELSE=Copy) INTO r2w1srace_2.
VARIABLE LABELS  r2w1srace_2 'recoded to higher values'.
EXECUTE.

RECODE w1srace_3 (1=10) (ELSE=Copy) INTO r2w1srace_3.
VARIABLE LABELS  r2w1srace_3 'recoded to higher values'.
EXECUTE.

RECODE w1srace_4 (1=20) (ELSE=Copy) INTO r2w1srace_4.
VARIABLE LABELS  r2w1srace_4 'recoded to higher values'.
EXECUTE.

RECODE w1srace_5 (1=50) (ELSE=Copy) INTO r2w1srace_5.
VARIABLE LABELS  r2w1srace_5 'recoded to higher values'.
EXECUTE.

RECODE w1srace_6 (1=100) (ELSE=Copy) INTO r2w1srace_6.
VARIABLE LABELS  r2w1srace_6 'recoded to higher values'.
EXECUTE.

RECODE w1srace_7 (1=200) (ELSE=Copy) INTO r2w1srace_7.
VARIABLE LABELS  r2w1srace_7 'recoded to higher values'.
EXECUTE.

RECODE w1srace_8 (1=500) (ELSE=Copy) INTO r2w1srace_8.
VARIABLE LABELS  r2w1srace_8 'recoded to higher values'.
EXECUTE.

**Create new combined race variable**

COMPUTE r3w1srace=sum(r2w1srace_1,r2w1srace_2,r2w1srace_3,r2w1srace_4,r2w1srace_5,r2w1srace_6,r2w1srace_7,r2w1srace_8).
EXECUTE.

2 个答案:

答案 0 :(得分:1)

首先运行它以创建一些示例数据以供播放:

data list list/dog cat mouse frog bird (5f1).
begin data
1 0 0 1 0
0 1 0 1 0
0 0 0 1 1
0 1 0 0 0
1 1 1 1 1 
1 0 1 0 1
0 0 0 0 0
end data.

将所有类别组合为一个数字的简单方法:

compute mult_categoryN = 10000*dog + 1000*cat +100*mouse +10*frog + bird.

要创建一个文本变量,该文本变量将对类别的每种组合都具有唯一的名称,您可以这样操作:

string mult_categoryT (a50).
compute #=0.
do repeat vr=dog cat mouse frog bird/ct="dog" "cat" "mouse" "frog" "bird".
    do if vr=1.
        if #=0 mult_categoryT=ct.
        if #>0 mult_categoryT=concat(rtrim(mult_categoryT), " and ", ct).
        compute #=#+1.
    end if.
end repeat.
exe.

答案 1 :(得分:0)

现在可能为时已晚,但是简单的方法应该是在Qualtrics调查流程中创建一个嵌入式变量,并为其分配问题的选定选项的值。它会给您一个逗号分隔的文本选项列表。

在以后的调查中要记住的事情。