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 计算if循环SPSS_Loops_Repeat_Spss - Fatal编程技术网

Loops 计算if循环SPSS

Loops 计算if循环SPSS,loops,repeat,spss,Loops,Repeat,Spss,最后,我想把分数从0改为1,从1改为2,从2改为3。我认为一种方法是使用+1,但我意识到我也可以使用更复杂的if-then系列 以下是我迄今为止所做的: 我使用现有变量(x)使用SPSS语法创建了一个新变量(y=x+1)。我只想对值>=0的变量执行此操作(这是我排除缺少数据的单元格的方法;x的范围是0-2) 我可以创建x+1,但它会覆盖现有变量 DO REPEAT x =var_1 TO var_86. if (x>=0) x=(x+1). end repeat. exe. 我尝试了此修

最后,我想把分数从0改为1,从1改为2,从2改为3。我认为一种方法是使用+1,但我意识到我也可以使用更复杂的if-then系列

以下是我迄今为止所做的: 我使用现有变量(x)使用SPSS语法创建了一个新变量(y=x+1)。我只想对值>=0的变量执行此操作(这是我排除缺少数据的单元格的方法;x的范围是0-2)

我可以创建x+1,但它会覆盖现有变量

DO REPEAT x =var_1 TO var_86.
if (x>=0) x=(x+1).
end repeat.
exe.
我尝试了此修改,但不起作用:

DO REPEAT x = var_1 TO var_86 / y = var_1a TO var_86a.
IF  (x >= 0) y=x +1.
END REPEAT.
EXE.
错误消息是:

重复VARX表格,以引用变量范围 没有被正确地使用。使用VARX更改以创建新的 变量X必须是小于或等于整数Y的整数。 (不能使用A3到A1。)


我尝试了许多其他配置,包括向量和循环,但还没有弄清楚如何在不覆盖现有变量的情况下跨变量范围进行此计算。提前感谢您的建议。

您收到的信息是因为SPSS不理解从
var_1a到var_86a的格式

对于要使用的
x到y
表单,数字必须位于名称的末尾,因此例如
varA_1到varA_86
应该可以使用。
当你在做的时候,这里有一个简单的方法来完成你的任务:

recode var_1 TO var_86 (0=1)(1=2)(2=3) into varA_1 TO varA_86.