在字符串中查找数字并创建新的true / false变量

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

我有两个字符串变量(DiagnosisPrimary和DiagnosisOther),这些变量已将诊断编码为数值并以'〜'表示。因此,一个人在第一次访问时被诊断为“ 20”,然后在第二次访问时被诊断为“ 20”。

DiagnosisPrimary
20~
12~~~
20~20~
12~12~
12~~
~~~~~
12~12

[如果20表示已被诊断出患有抑郁症,我想看看字符串中是否有'20'。基本上,找出在他们的任何访问中被诊断出患有抑郁症的人。过去我使用下面的公式,但是现在数据是数字和文本的混合,不再起作用。

COMPUTE Dx_Depression =ANY(20, DiagnosisPrimary) OR ANY(20, DiagnosisOther).

我想创建一个具有true / false响应的新变量。

任何帮助,不胜感激!

string variables syntax spss
1个回答
0
投票

您应该使用CHAR.INDEX函数,该函数返回一个字符串在另一个字符串中的位置(如果子字符串不存在,则返回0)

COMPUTE Dx_Depression = CHAR.INDEX(DiagnosisPrimary, '20') + CHAR.INDEX(DiagnosisOther, '20').
if Dx_Depression>0 Dx_Depression=1.

或者,下面的方法应该可以得到相同的结果:

COMPUTE Dx_Depression = (CHAR.INDEX(DiagnosisPrimary, '20')>0) or (CHAR.INDEX(DiagnosisOther, '20') >0).
© www.soinside.com 2019 - 2024. All rights reserved.