根据 spss 中的前几个字符选择值范围?

selecting range of values based upon first few characters in spss?

我知道是通过

select cases if char.substr(variable_name,1,3)="I22".

我可以 select 基于第一个字符的值,但这不完全是我的问题。我需要 select 以几个字符开头的值范围,这是我想要的示例:

如果我有以下情况:

I22A33
I22B33
I22C33
I22D33

所以我想select I22B33和I22C33 out of above 4 values,所以它就像b和c之间的范围。

标记任何符合您标准的案例的一种方法是使用 INDEX 和一系列 OR 条件。不是特别模块化,但如果你只是有几个条件,你正在搜索它可以让你上路。

编辑:这些搜索不区分大小写(由于 UPCASE)并在字符串的开头搜索匹配项。要在字符串中的任何位置搜索匹配项,请将条件设置为 > 0(而不是 = 1)。

COMPUTE f_I22 = (INDEX(UPCASE(var_name),'I22B33') = 1)
  OR (INDEX(UPCASE(var_name),'I22C33') = 1) .
EXE .

假设您想要select在此范围内的值,所有值都将以“I22B”或“I22C”开头,您可以简单地使用:

select cases if char.substr(variable_name,1,4)="I22B" or 
                char.substr(variable_name,1,4)="I22C".