Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 多变量do-repeat命令SPSS_Loops_Repeat_Spss - Fatal编程技术网

Loops 多变量do-repeat命令SPSS

Loops 多变量do-repeat命令SPSS,loops,repeat,spss,Loops,Repeat,Spss,我试图将两个变量组合成一个char.index测试。下面的代码用于循环使用静态字符串查找变量。PR1到PR25是数据集中的变量。如果在至少一个搜索变量中找到“02703”,则此代码在新变量test中放入“1” Compute test=0. DO REPEAT haystack = PR1 to PR25. IF CHAR.INDEX(haystack,"02703")>0 test=1. END REPEAT. EXECUTE. 代替“02703”,我想循

我试图将两个变量组合成一个char.index测试。下面的代码用于循环使用静态字符串查找变量。PR1到PR25是数据集中的变量。如果在至少一个搜索变量中找到“02703”,则此代码在新变量test中放入“1”

Compute test=0.
DO REPEAT  haystack = PR1 to PR25. 
   IF CHAR.INDEX(haystack,"02703")>0 test=1.
END REPEAT.
EXECUTE.
代替“02703”,我想循环浏览字符串列表:“027034”“027035”“027036”“027037”“02703D”“02703E”“02703F”

尝试了以下代码(不工作)

也不起作用

Compute test=0.
Loop haystacks = PR1 to PR25. 
DO REPEAT  needles="027034" "027035" "027036" "027037" "02703D" "02703E" "02703F".
-      IF CHAR.INDEX(haystacks,needles)>0 test=1.
END REPEAT.
END LOOP.
EXECUTE.
Compute test=0.
DO REPEAT  haystacks = PR1 to PR25/ needles="027034" "027035" "027036" "027037" "02703D" "02703E" "02703F".
-      IF CHAR.INDEX(haystacks,needles)>0 test=1.
END REPEAT.
EXECUTE.
我使用char.index,因为指针只是字符串的一部分。例如,027034应与0270346和027034Z匹配


是否可以将两个do repeat变量合并到一个计算中?提前感谢。

重复执行
循环中不起作用
最简单的解决方法是在一个
内使用几个
IF
,每个针使用一个
IF

Compute test=0.
DO REPEAT  haystack = PR1 to PR25. 
   IF CHAR.INDEX(haystack,"02703")>0 test=1.
   IF CHAR.INDEX(haystack,"02704")>0 test=1.
   IF CHAR.INDEX(haystack,"02705")>0 test=1.
   ...
   ...
END REPEAT.
EXECUTE.
关于循环有一点值得注意:它们最适合使用
VECTOR
命令,并允许嵌套结构(而
确实重复了
不允许嵌套结构)。如果您将针头存储为变量(SPSS变量,但其他变量为常量值),则可以尝试使用嵌套的
循环
方法。但在我看来,这有点违反直觉,我提到它只是为了指出
DO REPEAT
LOOP
之间的区别