如何确定字母字符串在SPSS中是否包含某个字母

问题描述 投票:1回答:1

我正在处理来自多项选择调查问题的数据。受访者可以选择选项A,B,C和/或D。数据文件仅列出他们选择的响应,中间没有空格,逗号或分号。例如,选择了选项A和C的受访者的数据将只是“ AC”;选择选项A,B,C和D的受访者的数据将为“ ABCD”。

我需要创建4个新变量,以指示受访者是否选择了4个选择中的每个选择(即,如果他们没有选择A,则A = 0;如果他们选择了A,则A = 1,依此类推)。考虑到响应之间没有空格或逗号,我该如何处理我的字符串数据?非常感谢您的帮助!

syntax spss multiple-choice
1个回答
2
投票

OP在他的评论中正确地暗示了答案,但是为了清楚起见,并且出于Stack Overflow的精神,这是完整的答案:

假设multi_answer是保存调查答案的字符串变量:

DO REPEAT answers="A" "B" "C" D"
/vars=var1 to var4.
COMPUTE vars=0.
if CHAR.INDEX(multi_answer,answers)<>0 vars=1.
END REPEAT.
EXECUTE.

编辑:根据eli-k的评论,一种更综合的方法是在DO REPEAT END REPEAT结构中使用此方法:compute vars=char.index(multi_answer,answers)>0.因此您不需要compute vars=0.编辑结束。

这两个代码都将创建4个变量(var1 var2 var3 var4),其值为0或1,如问题中所述。

关于字符串函数(包括CHAR.INDEX函数)的[IBM SPSS官方帮助:https://www.ibm.com/support/knowledgecenter/pl/SSLVMB_23.0.0/spss/base/syn_transformation_expressions_string_functions.html

也可能是这样的重复:):SPSS: how to find text in text?

© www.soinside.com 2019 - 2024. All rights reserved.